From 5a00716fc72e050225bc02fbeb1299a93cde1b67 Mon Sep 17 00:00:00 2001 From: wangyongzhong2 Date: Sat, 24 Dec 2022 17:49:49 +0800 Subject: [PATCH] update tdd test Signed-off-by: wangyongzhong2 --- .../unittest/datatransmitmgr/DevSLMgrTest.cpp | 96 +++++++++++++++++++ test/unittest/datatransmitmgr/DevSLMgrTest.h | 3 + 2 files changed, 99 insertions(+) diff --git a/test/unittest/datatransmitmgr/DevSLMgrTest.cpp b/test/unittest/datatransmitmgr/DevSLMgrTest.cpp index 14d2a84..77c4ebe 100644 --- a/test/unittest/datatransmitmgr/DevSLMgrTest.cpp +++ b/test/unittest/datatransmitmgr/DevSLMgrTest.cpp @@ -41,6 +41,7 @@ private: }; static const int32_t DEV_SEC_LEVEL_ERR = 100; +static const int32_t LIST_LENGTH = 128; struct DeviceSecurityInfo { uint32_t magicNum {0}; @@ -102,6 +103,13 @@ static void DATASL_GetUdidByExcept(DEVSLQueryParams *queryParams) queryParams->udidLen = MAX_UDID_LENGTH + 1; } +static void DATASL_GetUdidByExceptZero(DEVSLQueryParams *queryParams) +{ + char udid[65] = "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"; + (void)memcpy_s(queryParams->udid, MAX_UDID_LENGTH, udid, MAX_UDID_LENGTH); + queryParams->udidLen = 0; +} + static int32_t GetLocalUdid(DEVSLQueryParams *queryParams) { const char *pkgName = "ohos.dslm"; @@ -388,4 +396,92 @@ static HWTEST_F(DevSLMgrTest, TestGetHighestSecLevelExcept003, TestSize.Level1) ClearList(g_tmpList); g_tmpList = nullptr; DestroyPthreadMutex(); +} + +static void tmpCallbackExcept004(DEVSLQueryParams *queryParams, int32_t result, uint32_t levelInfo) +{ + EXPECT_EQ(DEVSL_ERR_BAD_PARAMETERS, result); +} + +static void AddList(void) +{ + DEVSLQueryParams queryParams; + (void)memset_s(&queryParams, sizeof(queryParams), 0, sizeof(queryParams)); + (void)GetLocalUdid(&queryParams); + + struct DATASLCallbackParams *newListNode = + (struct DATASLCallbackParams*)malloc(sizeof(struct DATASLCallbackParams)); + if (newListNode == nullptr) { + EXPECT_EQ(DEVSL_SUCCESS, DEVSL_SUCCESS); + } + (void)memcpy_s(newListNode->queryParams.udid, MAX_UDID_LENGTH, queryParams.udid, queryParams.udidLen); + newListNode->queryParams.udidLen = queryParams.udidLen; + newListNode->callback = &tmpCallbackExcept004; + + PushListNode(g_tmpList, newListNode); +} + +static HWTEST_F(DevSLMgrTest, TestGetHighestSecLevelExcept004, TestSize.Level1) +{ + int32_t ret; + ret = DATASL_OnStart(); + EXPECT_EQ(DEVSL_SUCCESS, ret); + + DEVSLQueryParams queryParams; + (void)memset_s(&queryParams, sizeof(queryParams), 0, sizeof(queryParams)); + DATASL_GetUdidByExceptZero(&queryParams); + uint32_t levelInfo = 0; + ret = DATASL_GetHighestSecLevel(&queryParams, &levelInfo); + EXPECT_EQ(DEVSL_ERR_BAD_PARAMETERS, ret); + + ret = DATASL_GetHighestSecLevelAsync(&queryParams, &tmpCallbackExcept004); + EXPECT_EQ(DEVSL_ERR_BAD_PARAMETERS, ret); + + g_tmpList = InitList(); + if (g_tmpList != nullptr) { + EXPECT_EQ(DEVSL_SUCCESS, DEVSL_SUCCESS); + } else { + EXPECT_EQ(DEVSL_SUCCESS, DEVSL_ERROR); + } + for (int i = 0; i < LIST_LENGTH; i++) { + AddList(); + } + (void)GetListLength(g_tmpList); + + ClearList(g_tmpList); + g_tmpList = nullptr; + DATASL_OnStop(); +} + +static HWTEST_F(DevSLMgrTest, TestGetHighestSecLevelExcept005, TestSize.Level1) +{ + int32_t ret; + ret = DATASL_OnStart(); + EXPECT_EQ(DEVSL_SUCCESS, ret); + + g_tmpList = InitList(); + if (g_tmpList != nullptr) { + EXPECT_EQ(DEVSL_SUCCESS, DEVSL_SUCCESS); + } else { + EXPECT_EQ(DEVSL_SUCCESS, DEVSL_ERROR); + } + + DEVSLQueryParams queryParams; + (void)memset_s(&queryParams, sizeof(queryParams), 0, sizeof(queryParams)); + (void)GetLocalUdid(&queryParams); + struct DATASLCallbackParams *newListNode = + (struct DATASLCallbackParams*)malloc(sizeof(struct DATASLCallbackParams)); + if (newListNode == nullptr) { + EXPECT_EQ(DEVSL_SUCCESS, DEVSL_SUCCESS); + } + (void)memcpy_s(newListNode->queryParams.udid, MAX_UDID_LENGTH, queryParams.udid, queryParams.udidLen); + newListNode->queryParams.udidLen = queryParams.udidLen; + newListNode->callback = nullptr; + RemoveListNode(g_tmpList, newListNode); + PushListNode(g_tmpList, newListNode); + RemoveListNode(g_tmpList, newListNode); + + ClearList(g_tmpList); + g_tmpList = nullptr; + DATASL_OnStop(); } \ No newline at end of file diff --git a/test/unittest/datatransmitmgr/DevSLMgrTest.h b/test/unittest/datatransmitmgr/DevSLMgrTest.h index 7bea2a8..6757f49 100644 --- a/test/unittest/datatransmitmgr/DevSLMgrTest.h +++ b/test/unittest/datatransmitmgr/DevSLMgrTest.h @@ -29,5 +29,8 @@ int TestGetHighestSecLevelAsync004(void); int TestGetHighestSecLevelExcept001(void); int TestGetHighestSecLevelExcept002(void); +int TestGetHighestSecLevelExcept003(void); +int TestGetHighestSecLevelExcept004(void); +int TestGetHighestSecLevelExcept005(void); #endif \ No newline at end of file -- Gitee