回退 'Pull Request !8262 : 回退 'Pull Request !8222 : 【OpenHarmony5.0】设备名归一-CoAP''

This commit is contained in:
JanierVan 2024-11-04 13:33:14 +00:00 committed by Gitee
parent bb126ee44b
commit ae382dd3ad
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
10 changed files with 153 additions and 43 deletions

View File

@ -37,10 +37,6 @@ ble_discovery_inc = [
]
ble_discovery_deps = [ "$dsoftbus_dfx_path/log:softbus_dfx_log" ]
ble_discovery_external_deps = []
if (support_i18n && qemu_arm_disable) {
ble_discovery_external_deps += [ "i18n:intl_util" ]
}
if (!support_bluetooth) {
ble_discovery_src = [ "$dsoftbus_root_path/core/discovery/ble/dispatcher/src/disc_ble_dispatcher_virtual.c" ]
@ -53,11 +49,6 @@ if (!support_bluetooth) {
"$dsoftbus_root_path/core/discovery/ble/softbus_ble/src/disc_ble_utils.c",
"$dsoftbus_root_path/core/discovery/ble/softbus_ble/src/disc_ble.c",
]
if (support_i18n && qemu_arm_disable) {
ble_discovery_src += [ "$dsoftbus_root_path/core/discovery/common/src/locale_config_wrapper.cpp" ]
} else {
ble_discovery_src += [ "$dsoftbus_root_path/core/discovery/common/src/locale_config_wrapper_mock.cpp" ]
}
}
}

View File

@ -16,6 +16,7 @@
#ifndef DISC_COAP_PARSER_H
#define DISC_COAP_PARSER_H
#include "broadcast_protocol_constant.h"
#include "disc_manager.h"
#include "softbus_common.h"
#include "softbus_json_utils.h"
@ -35,6 +36,7 @@ int32_t DiscCoapParseDeviceUdid(const char *raw, DeviceInfo *device);
void DiscCoapParseWifiIpAddr(const cJSON *data, DeviceInfo *device);
int32_t DiscCoapParseServiceData(const cJSON *data, DeviceInfo *device);
void DiscCoapParseHwAccountHash(const cJSON *data, DeviceInfo *device);
void DiscCoapParseNickname(const cJSON *data, char *nickname);
int32_t DiscCoapParseKeyValueStr(const char *src, const char *key, char *outValue, uint32_t outLen);
#ifdef __cplusplus

View File

@ -23,9 +23,12 @@
#include "softbus_error_code.h"
#include "softbus_utils.h"
#define JSON_WLAN_IP "wifiIpAddr"
#define JSON_HW_ACCOUNT "hwAccountHashVal"
#define JSON_WLAN_IP "wifiIpAddr"
#define JSON_HW_ACCOUNT "hwAccountHashVal"
#define JSON_KEY_CAST_PLUS "castPlus"
#define JSON_KEY_BDATA "bData"
#define JSON_KEY_NICKNAME "nickName"
#define MAX_BDATA_LEN 300
#define HEX_HASH_LEN 16
@ -36,7 +39,7 @@ int32_t DiscCoapParseDeviceUdid(const char *raw, DeviceInfo *device)
cJSON *udidJson = cJSON_Parse(raw);
DISC_CHECK_AND_RETURN_RET_LOGE(udidJson != NULL, SOFTBUS_PARSE_JSON_ERR, DISC_COAP, "parse udid json failed");
char tmpUdid[DISC_MAX_DEVICE_ID_LEN] = {0};
char tmpUdid[DISC_MAX_DEVICE_ID_LEN] = { 0 };
if (!GetJsonObjectStringItem(udidJson, DEVICE_UDID, tmpUdid, DISC_MAX_DEVICE_ID_LEN)) {
cJSON_Delete(udidJson);
DISC_LOGE(DISC_COAP, "parse remote udid failed");
@ -78,7 +81,7 @@ int32_t DiscCoapParseKeyValueStr(const char *src, const char *key, char *outValu
DISC_CHECK_AND_RETURN_RET_LOGE(strlen(src) < DISC_MAX_CUST_DATA_LEN, SOFTBUS_INVALID_PARAM, DISC_COAP,
"src len >= max len. srcLen=%{public}zu, maxLen=%{public}u", strlen(src), DISC_MAX_CUST_DATA_LEN);
char tmpSrc[DISC_MAX_CUST_DATA_LEN] = {0};
char tmpSrc[DISC_MAX_CUST_DATA_LEN] = { 0 };
if (memcpy_s(tmpSrc, DISC_MAX_CUST_DATA_LEN, src, strlen(src)) != EOK) {
DISC_LOGE(DISC_COAP, "copy src failed");
return SOFTBUS_MEM_ERR;
@ -116,12 +119,12 @@ int32_t DiscCoapParseServiceData(const cJSON *data, DeviceInfo *device)
{
DISC_CHECK_AND_RETURN_RET_LOGE(data != NULL, SOFTBUS_INVALID_PARAM, DISC_COAP, "json data is NULL");
DISC_CHECK_AND_RETURN_RET_LOGE(device != NULL, SOFTBUS_INVALID_PARAM, DISC_COAP, "device info is NULL");
char serviceData[MAX_SERVICE_DATA_LEN] = {0};
char serviceData[MAX_SERVICE_DATA_LEN] = { 0 };
if (!GetJsonObjectStringItem(data, JSON_SERVICE_DATA, serviceData, sizeof(serviceData))) {
DISC_LOGD(DISC_COAP, "parse service data failed.");
return SOFTBUS_PARSE_JSON_ERR;
}
char port[MAX_PORT_STR_LEN] = {0};
char port[MAX_PORT_STR_LEN] = { 0 };
int32_t ret = DiscCoapParseKeyValueStr(serviceData, SERVICE_DATA_PORT, port, MAX_PORT_STR_LEN);
DISC_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, DISC_COAP, "parse service data failed");
int32_t authPort = atoi(port);
@ -137,7 +140,7 @@ void DiscCoapParseHwAccountHash(const cJSON *data, DeviceInfo *device)
{
DISC_CHECK_AND_RETURN_LOGE(data != NULL, DISC_COAP, "json data is NULL");
DISC_CHECK_AND_RETURN_LOGE(device != NULL, DISC_COAP, "device info is NULL");
char tmpAccount[MAX_ACCOUNT_HASH_LEN] = {0};
char tmpAccount[MAX_ACCOUNT_HASH_LEN] = { 0 };
if (!GetJsonObjectStringItem(data, JSON_HW_ACCOUNT, tmpAccount, MAX_ACCOUNT_HASH_LEN)) {
DISC_LOGE(DISC_COAP, "parse accountId failed");
return;
@ -147,3 +150,23 @@ void DiscCoapParseHwAccountHash(const cJSON *data, DeviceInfo *device)
(unsigned char *)device->accountHash);
DISC_CHECK_AND_RETURN_LOGE(ret == SOFTBUS_OK, DISC_COAP, "generate account hash failed, ret=%{public}d", ret);
}
void DiscCoapParseNickname(const cJSON *data, char *nickname)
{
DISC_CHECK_AND_RETURN_LOGE(data != NULL, DISC_COAP, "json data is NULL");
DISC_CHECK_AND_RETURN_LOGE(nickname != NULL, DISC_COAP, "nickname is NULL");
char bData[MAX_BDATA_LEN] = { 0 };
if (!GetJsonObjectStringItem(data, JSON_KEY_BDATA, bData, MAX_BDATA_LEN)) {
DISC_LOGE(DISC_COAP, "parse bData failed");
return;
}
cJSON *bDataInfo = cJSON_Parse(bData);
DISC_CHECK_AND_RETURN_LOGE(bDataInfo != NULL, DISC_COAP, "parse bData failed.");
if (!GetJsonObjectStringItem(bDataInfo, JSON_KEY_NICKNAME, nickname, DISC_MAX_NICKNAME_LEN)) {
DISC_LOGE(DISC_COAP, "parse nickname failed");
cJSON_Delete(bDataInfo);
return;
}
cJSON_Delete(bDataInfo);
}

View File

@ -28,6 +28,7 @@ if (dsoftbus_feature_disc_coap == true) {
]
}
disc_coap_inc = [
"$dsoftbus_root_path/core/broadcast/common/include",
"$dsoftbus_root_path/core/discovery/interface",
"$dsoftbus_root_path/core/discovery/coap/interface",
"$dsoftbus_root_path/core/discovery/coap/common/include",

View File

@ -27,7 +27,10 @@
#include "disc_coap_capability.h"
#include "disc_coap_parser.h"
#include "disc_log.h"
#include "lnn_ohos_account.h"
#include "locale_config_wrapper.h"
#include "securec.h"
#include "softbus_adapter_crypto.h"
#include "softbus_adapter_mem.h"
#include "softbus_def.h"
#include "softbus_errcode.h"
@ -48,6 +51,9 @@
#define DEFAULT_MAX_DEVICE_NUM 20
#define NSTACKX_LOCAL_DEV_INFO "NstackxLocalDevInfo"
#define HYPHEN_ZH "的"
#define HYPHEN_EXCEPT_ZH "-"
#define EMPTY_STRING ""
static NSTACKX_LocalDeviceInfo *g_localDeviceInfo = NULL;
static DiscInnerCallback *g_discCoapInnerCb = NULL;
@ -58,7 +64,7 @@ static int32_t FillRspSettings(NSTACKX_ResponseSettings *settings, const DeviceI
settings->businessData = NULL;
settings->length = 0;
settings->businessType = bType;
char localNetifName[NET_IF_NAME_LEN] = {0};
char localNetifName[NET_IF_NAME_LEN] = { 0 };
int32_t ret = LnnGetLocalStrInfo(STRING_KEY_NET_IF_NAME, localNetifName, sizeof(localNetifName));
if (ret != SOFTBUS_OK) {
DISC_LOGE(DISC_COAP, "get local network name from LNN failed, ret=%{public}d", ret);
@ -99,7 +105,7 @@ int32_t DiscCoapSendRsp(const DeviceInfo *deviceInfo, uint8_t bType)
return ret;
}
static int32_t ParseReservedInfo(const NSTACKX_DeviceInfo *nstackxDevice, DeviceInfo *device)
static int32_t ParseReservedInfo(const NSTACKX_DeviceInfo *nstackxDevice, DeviceInfo *device, char *nickname)
{
cJSON *reserveInfo = cJSON_Parse(nstackxDevice->reservedInfo);
DISC_CHECK_AND_RETURN_RET_LOGE(reserveInfo != NULL, SOFTBUS_PARSE_JSON_ERR, DISC_COAP,
@ -107,6 +113,7 @@ static int32_t ParseReservedInfo(const NSTACKX_DeviceInfo *nstackxDevice, Device
DiscCoapParseWifiIpAddr(reserveInfo, device);
DiscCoapParseHwAccountHash(reserveInfo, device);
DiscCoapParseNickname(reserveInfo, nickname);
if (DiscCoapParseServiceData(reserveInfo, device) != SOFTBUS_OK) {
DISC_LOGD(DISC_COAP, "parse service data failed");
}
@ -114,9 +121,51 @@ static int32_t ParseReservedInfo(const NSTACKX_DeviceInfo *nstackxDevice, Device
return SOFTBUS_OK;
}
static int32_t SpliceCoapDisplayName(char *devName, char *nickname, DeviceInfo *device)
{
char *hyphen = NULL;
bool isSameAccount = false;
bool isZH = IsZHLanguage();
char accountIdStr[MAX_ACCOUNT_HASH_LEN] = { 0 };
char accountHash[MAX_ACCOUNT_HASH_LEN] = { 0 };
int32_t ret = SOFTBUS_OK;
if (!LnnIsDefaultOhosAccount()) {
int64_t accountId = 0;
ret = LnnGetLocalNum64Info(NUM_KEY_ACCOUNT_LONG, &accountId);
DISC_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, DISC_COAP, "get local account failed");
ret = sprintf_s(accountIdStr, MAX_ACCOUNT_HASH_LEN, "%ju", (uint64_t)accountId);
DISC_CHECK_AND_RETURN_RET_LOGE(ret >= 0, SOFTBUS_STRCPY_ERR, DISC_COAP,
"set accountIdStr error, ret=%{public}d", ret);
ret = SoftBusGenerateStrHash((const unsigned char *)accountIdStr, strlen(accountIdStr),
(unsigned char *)accountHash);
DISC_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, DISC_COAP,
"generate account hash failed, ret=%{public}d", ret);
if (memcmp(device->accountHash, accountHash, MAX_ACCOUNT_HASH_LEN) == 0) {
isSameAccount = true;
}
}
if (!isSameAccount && strlen(nickname) > 0) {
hyphen = isZH ? (char *)HYPHEN_ZH : (char *)HYPHEN_EXCEPT_ZH;
} else {
hyphen = (char *)EMPTY_STRING;
}
ret = sprintf_s(device->devName, DISC_MAX_DEVICE_NAME_LEN, "%s%s%s",
isSameAccount ? EMPTY_STRING : nickname, hyphen, devName);
DISC_CHECK_AND_RETURN_RET_LOGE(ret >= 0, SOFTBUS_STRCPY_ERR, DISC_COAP,
"splice displayname failed, ret=%{public}d", ret);
return SOFTBUS_OK;
}
static int32_t ParseDiscDevInfo(const NSTACKX_DeviceInfo *nstackxDevInfo, DeviceInfo *discDevInfo)
{
if (strcpy_s(discDevInfo->devName, sizeof(discDevInfo->devName), nstackxDevInfo->deviceName) != EOK ||
char devName[DISC_MAX_DEVICE_NAME_LEN] = { 0 };
char nickname[DISC_MAX_NICKNAME_LEN] = { 0 };
if (strcpy_s(devName, DISC_MAX_DEVICE_NAME_LEN, nstackxDevInfo->deviceName) != EOK ||
memcpy_s(discDevInfo->capabilityBitmap, sizeof(discDevInfo->capabilityBitmap),
nstackxDevInfo->capabilityBitmap, sizeof(nstackxDevInfo->capabilityBitmap)) != EOK) {
DISC_LOGE(DISC_COAP, "strcpy_s devName or memcpy_s capabilityBitmap failed.");
@ -133,18 +182,18 @@ static int32_t ParseDiscDevInfo(const NSTACKX_DeviceInfo *nstackxDevInfo, Device
}
int32_t ret = DiscCoapParseDeviceUdid(nstackxDevInfo->deviceId, discDevInfo);
if (ret != SOFTBUS_OK) {
DISC_LOGE(DISC_COAP, "parse device udid failed.");
return ret;
}
DISC_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, DISC_COAP,
"parse device udid failed, ret=%{public}d", ret);
ret = ParseReservedInfo(nstackxDevInfo, discDevInfo, nickname);
DISC_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, DISC_COAP,
"parse reserve information failed, ret=%{public}d", ret);
ret = ParseReservedInfo(nstackxDevInfo, discDevInfo);
if (ret != SOFTBUS_OK) {
DISC_LOGE(DISC_COAP, "parse reserve information failed.");
return ret;
}
// coap not support range now, just assign -1 as unknown
discDevInfo->range = -1;
ret = SpliceCoapDisplayName(devName, nickname, discDevInfo);
DISC_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, DISC_COAP,
"parse reserve information failed, ret=%{public}d", ret);
return SOFTBUS_OK;
}
@ -245,7 +294,7 @@ int32_t DiscCoapRegisterServiceData(const PublishOption *option, uint32_t allCap
DISC_LOGW(DISC_COAP, "get auth port from lnn failed. ret=%{public}d", ret);
}
char serviceData[NSTACKX_MAX_SERVICE_DATA_LEN] = {0};
char serviceData[NSTACKX_MAX_SERVICE_DATA_LEN] = { 0 };
if (sprintf_s(serviceData, NSTACKX_MAX_SERVICE_DATA_LEN, "port:%d,", authPort) == -1) {
DISC_LOGE(DISC_COAP, "write auth port to service data failed.");
return SOFTBUS_STRCPY_ERR;
@ -293,7 +342,7 @@ int32_t DiscCoapRegisterCapabilityData(const unsigned char *capabilityData, uint
static bool IsNetworkValid(void)
{
char localIp[IP_LEN] = {0};
char localIp[IP_LEN] = { 0 };
if (LnnGetLocalStrInfo(STRING_KEY_WLAN_IP, localIp, IP_LEN) != SOFTBUS_OK) {
DISC_LOGE(DISC_COAP, "get local ip failed");
return false;
@ -309,7 +358,7 @@ static bool IsNetworkValid(void)
static int32_t GetDiscFreq(int32_t freq, uint32_t *discFreq)
{
uint32_t arrayFreq[FREQ_BUTT] = {0};
uint32_t arrayFreq[FREQ_BUTT] = { 0 };
int32_t ret = SoftbusGetConfig(SOFTBUS_INT_DISC_FREQ, (unsigned char *)arrayFreq, sizeof(arrayFreq));
if (ret != SOFTBUS_OK) {
DISC_LOGE(DISC_COAP, "disc get freq failed");
@ -387,7 +436,7 @@ int32_t DiscCoapStopDiscovery(void)
static char *GetDeviceId(void)
{
char *formatString = NULL;
char udid[UDID_BUF_LEN] = {0};
char udid[UDID_BUF_LEN] = { 0 };
int32_t ret = LnnGetLocalStrInfo(STRING_KEY_DEV_UDID, udid, sizeof(udid));
if (ret != SOFTBUS_OK) {
DISC_LOGE(DISC_COAP, "get udid failed, ret=%{public}d", ret);
@ -506,7 +555,7 @@ static int32_t CalculateMbsTruncateSize(const char *multiByteStr, uint32_t capac
DISC_CHECK_AND_RETURN_RET_LOGE(ret == SOFTBUS_OK, ret, DISC_COAP, "set locale failed");
// convert multi byte str to wide str
wchar_t wideStr[MAX_WIDE_STR_LEN] = {0};
wchar_t wideStr[MAX_WIDE_STR_LEN] = { 0 };
size_t numConverted = mbstowcs(wideStr, multiByteStr, multiByteStrLen);
if (numConverted == 0 || numConverted > multiByteStrLen) {
DISC_LOGE(DISC_COAP, "mbstowcs failed");
@ -516,7 +565,7 @@ static int32_t CalculateMbsTruncateSize(const char *multiByteStr, uint32_t capac
uint32_t truncateTotal = 0;
int32_t truncateIndex = (int32_t)numConverted - 1;
char multiByteChar[MULTI_BYTE_CHAR_LEN] = {0};
char multiByteChar[MULTI_BYTE_CHAR_LEN] = { 0 };
while (capacity < multiByteStrLen - truncateTotal && truncateIndex >= 0) {
int32_t truncateCharLen = wctomb(multiByteChar, wideStr[truncateIndex]);
if (truncateCharLen <= 0) {
@ -535,7 +584,7 @@ static int32_t CalculateMbsTruncateSize(const char *multiByteStr, uint32_t capac
void DiscCoapUpdateDevName(void)
{
char localDevName[DEVICE_NAME_BUF_LEN] = {0};
char localDevName[DEVICE_NAME_BUF_LEN] = { 0 };
int32_t ret = LnnGetLocalStrInfo(STRING_KEY_DEV_NAME, localDevName, sizeof(localDevName));
DISC_CHECK_AND_RETURN_LOGE(ret == SOFTBUS_OK, DISC_COAP, "get local device name failed, ret=%{public}d.", ret);
@ -618,7 +667,7 @@ void DiscNstackxDeinit(void)
static int32_t NstackxLocalDevInfoDump(int fd)
{
char deviceId[NSTACKX_MAX_DEVICE_ID_LEN] = {0};
char deviceId[NSTACKX_MAX_DEVICE_ID_LEN] = { 0 };
SOFTBUS_DPRINTF(fd, "\n-----------------NstackxLocalDevInfo-------------------\n");
SOFTBUS_DPRINTF(fd, "name : %s\n", g_localDeviceInfo->name);
DataMasking(g_localDeviceInfo->deviceId, NSTACKX_MAX_DEVICE_ID_LEN, ID_DELIMITER, deviceId);

View File

@ -42,4 +42,13 @@ if (defined(ohos_lite)) {
}
} else {
disc_server_external_deps += [ "c_utils:utils" ]
if (support_i18n && qemu_arm_disable) {
disc_server_external_deps += [ "i18n:intl_util" ]
disc_server_src += [
"$dsoftbus_root_path/core/discovery/common/src/locale_config_wrapper.cpp",
]
} else {
disc_server_src += [ "$dsoftbus_root_path/core/discovery/common/src/locale_config_wrapper_mock.cpp" ]
}
}

View File

@ -277,7 +277,7 @@ if (defined(ohos_lite)) {
dsoftbus_server_common_external_deps =
bus_center_server_external_deps + disc_server_external_deps +
softbus_permission_external_deps + trans_session_external_deps +
conn_manager_external_deps + ble_discovery_external_deps
conn_manager_external_deps
if (is_standard_system) {
external_deps += dsoftbus_server_common_external_deps
external_deps += [

View File

@ -104,7 +104,7 @@ if (defined(global_parts_info) &&
dsoftbus_feature_lnn_cloud_sync = true
}
if (defined(global_parts_info) && !defined(global_parts_info.i18n)) {
if (defined(global_parts_info) && !defined(global_parts_info.global_i18n)) {
support_i18n = false
} else {
support_i18n = true

View File

@ -25,6 +25,7 @@ ohos_unittest("DiscNstackxAdapterTest") {
include_dirs = [
"../../../../../adapter/common/include",
"../../../../../core/adapter/bus_center/include",
"../../../../../adapter/default_config/spec_config",
"../../../../../components/nstackx/nstackx_util/interface",
"../../../../../components/nstackx/nstackx_ctrl/include",
@ -32,6 +33,7 @@ ohos_unittest("DiscNstackxAdapterTest") {
"../../../../../core/bus_center/lnn/lane_hub/lane_manager/include",
"../../../../../core/bus_center/lnn/net_ledger/common/include",
"../../../../../core/bus_center/lnn/net_ledger/local_ledger/include",
"../../../../../core/broadcast/common/include",
"../../../../../core/common/dfx/hidumper_adapter/include",
"../../../../../core/common/include",
"../../../../../core/discovery/ble/dispatcher/include",
@ -39,6 +41,7 @@ ohos_unittest("DiscNstackxAdapterTest") {
"../../../../../core/discovery/coap/nstackx_coap/include",
"../../../../../core/discovery/coap/nstackx_coap/src",
"../../../../../core/discovery/coap/common/include",
"../../../../../core/discovery/common/include",
"../../../../../core/discovery/interface",
"../../../../../core/discovery/manager/include",
"../../../../../interfaces/kits/common",

View File

@ -423,14 +423,15 @@ HWTEST_F(DiscNstackxAdapterTest, TestDiscCoapAdapterParseResInfo001, TestSize.Le
NSTACKX_DeviceInfo testNstackxDevice;
DeviceInfo testDevice;
char nickname[DISC_MAX_NICKNAME_LEN] = { 0 };
ret = strcpy_s(testNstackxDevice.reservedInfo, sizeof(testNstackxDevice.reservedInfo), "{\"version\":\"1.0.0\"}");
EXPECT_EQ(ret, EOK);
ret = ParseReservedInfo(&testNstackxDevice, &testDevice);
ret = ParseReservedInfo(&testNstackxDevice, &testDevice, nickname);
EXPECT_EQ(ret, SOFTBUS_OK);
ret = strcpy_s(testNstackxDevice.reservedInfo, sizeof(testNstackxDevice.reservedInfo), "test");
EXPECT_EQ(ret, EOK);
ret = ParseReservedInfo(&testNstackxDevice, &testDevice);
ret = ParseReservedInfo(&testNstackxDevice, &testDevice, nickname);
EXPECT_EQ(ret, SOFTBUS_PARSE_JSON_ERR);
}
@ -447,12 +448,37 @@ HWTEST_F(DiscNstackxAdapterTest, TestDiscCoapAdapterParseResInfo002, TestSize.Le
NSTACKX_DeviceInfo testNstackxDevice;
DeviceInfo testDevice;
ret = strcpy_s(testNstackxDevice.reservedInfo, sizeof(testNstackxDevice.reservedInfo), "{\"version\":\"1.0.0\"}");
char nickname[DISC_MAX_NICKNAME_LEN] = { 0 };
ret = strcpy_s(testNstackxDevice.reservedInfo, sizeof(testNstackxDevice.reservedInfo),
"{\"version\":\"1.0.0\",\"bData\":{\"nickname\":\"Jane\"}}");
EXPECT_EQ(ret, EOK);
ret = ParseReservedInfo(&testNstackxDevice, nullptr);
ret = ParseReservedInfo(&testNstackxDevice, &testDevice, nickname);
EXPECT_EQ(ret, SOFTBUS_OK);
ret = ParseReservedInfo(&testNstackxDevice, &testDevice);
ret = ParseReservedInfo(&testNstackxDevice, &testDevice, nullptr);
EXPECT_EQ(ret, SOFTBUS_OK);
}
/*
* @tc.name: TestDiscCoapAdapterParseResInfo003
* @tc.desc: Test DiscParseReservedInfo should return SOFTBUS_OK when given nickname or not
* @tc.type: FUNC
* @tc.require:
*/
HWTEST_F(DiscNstackxAdapterTest, TestDiscCoapAdapterParseResInfo003, TestSize.Level1)
{
int32_t ret = DiscNstackxInit();
ASSERT_EQ(ret, SOFTBUS_OK);
NSTACKX_DeviceInfo testNstackxDevice;
DeviceInfo testDevice;
char nickname[DISC_MAX_NICKNAME_LEN] = { 0 };
ret = strcpy_s(testNstackxDevice.reservedInfo, sizeof(testNstackxDevice.reservedInfo), "{\"version\":\"1.0.0\"}");
EXPECT_EQ(ret, EOK);
ret = ParseReservedInfo(&testNstackxDevice, nullptr, nickname);
EXPECT_EQ(ret, SOFTBUS_OK);
ret = ParseReservedInfo(&testNstackxDevice, &testDevice, nickname);
EXPECT_EQ(ret, SOFTBUS_OK);
}
@ -467,6 +493,7 @@ HWTEST_F(DiscNstackxAdapterTest, TestDiscCoapAdapterParseResInfo002, TestSize.Le
HWTEST_F(DiscNstackxAdapterTest, TestDiscCoapAdapterParseDevInfo001, TestSize.Level1)
{
int32_t ret = DiscNstackxInit();
LnnInitLocalLedger();
ASSERT_EQ(ret, SOFTBUS_OK);
NSTACKX_DeviceInfo testNstackxDevice;
@ -481,6 +508,7 @@ HWTEST_F(DiscNstackxAdapterTest, TestDiscCoapAdapterParseDevInfo001, TestSize.Le
EXPECT_EQ(ret, EOK);
ParseDiscDevInfo(&testNstackxDevice, &testDiscDevInfo);
EXPECT_EQ(testDiscDevInfo.addr[0].type, CONNECTION_ADDR_ETH);
LnnDeinitLocalLedger();
}
/*
@ -493,6 +521,7 @@ HWTEST_F(DiscNstackxAdapterTest, TestDiscCoapAdapterParseDevInfo001, TestSize.Le
HWTEST_F(DiscNstackxAdapterTest, TestDiscCoapAdapterParseDevInfo002, TestSize.Level1)
{
int32_t ret = DiscNstackxInit();
LnnInitLocalLedger();
ASSERT_EQ(ret, SOFTBUS_OK);
NSTACKX_DeviceInfo testNstackxDevInfo {
@ -510,6 +539,7 @@ HWTEST_F(DiscNstackxAdapterTest, TestDiscCoapAdapterParseDevInfo002, TestSize.Le
EXPECT_EQ(ret, EOK);
ret = ParseDiscDevInfo(&testNstackxDevInfo, &testDiscDevInfo);
EXPECT_EQ(ret, SOFTBUS_PARSE_JSON_ERR);
LnnDeinitLocalLedger();
}
/*
@ -523,6 +553,7 @@ HWTEST_F(DiscNstackxAdapterTest, TestDiscCoapAdapterParseDevInfo002, TestSize.Le
HWTEST_F(DiscNstackxAdapterTest, TestDiscCoapAdapterParseDevInfo003, TestSize.Level1)
{
int32_t ret = DiscNstackxInit();
LnnInitLocalLedger();
ASSERT_EQ(ret, SOFTBUS_OK);
NSTACKX_DeviceInfo testNstackxDevInfo {
@ -538,6 +569,7 @@ HWTEST_F(DiscNstackxAdapterTest, TestDiscCoapAdapterParseDevInfo003, TestSize.Le
testNstackxDevInfo.mode = PUBLISH_MODE_PROACTIVE;
ret = ParseDiscDevInfo(&testNstackxDevInfo, &testDiscDevInfo);
EXPECT_EQ(ret, SOFTBUS_OK);
LnnDeinitLocalLedger();
}
/*