1 /*
2 * Copyright (c) 2025 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include <cstring>
17 #include <gtest/gtest.h>
18 #include <securec.h>
19
20 #include "lnn_feature_capability.h"
21 #include "lnn_node_info.h"
22 #include "softbus_adapter_mem.h"
23 #include "softbus_error_code.h"
24
25 namespace OHOS {
26 using namespace testing::ext;
27
28 class LNNFeatureCapabilityTest : public testing::Test {
29 public:
30 static void SetUpTestCase();
31 static void TearDownTestCase();
32 void SetUp();
33 void TearDown();
34 };
35
SetUpTestCase()36 void LNNFeatureCapabilityTest::SetUpTestCase() { }
37
TearDownTestCase()38 void LNNFeatureCapabilityTest::TearDownTestCase() { }
39
SetUp()40 void LNNFeatureCapabilityTest::SetUp() { }
41
TearDown()42 void LNNFeatureCapabilityTest::TearDown() { }
43
44 /*
45 * @tc.name:LnnSetFeatureCapability_Test_001
46 * @tc.desc: Testing the LnnSetFeatureCapability interface returns normal values
47 * @tc.type: FUNC
48 * @tc.require: I5RHYE
49 */
50 HWTEST_F(LNNFeatureCapabilityTest, LnnSetFeatureCapability_Test_001, TestSize.Level1)
51 {
52 uint64_t feature = 0;
53 FeatureCapability capaBit = BIT_WIFI_P2P_REUSE;
54 int32_t ret = LnnSetFeatureCapability(&feature, capaBit);
55 EXPECT_EQ(ret, SOFTBUS_OK);
56 }
57
58 /*
59 * @tc.name: LnnSetFeatureCapability_Test_002
60 * @tc.desc: Testing the LnnSetFeatureCapability interface returns an abnormal value
61 * @tc.type: FUNC
62 * @tc.require: I5RHYE
63 */
64 HWTEST_F(LNNFeatureCapabilityTest, LnnSetFeatureCapability_Test_002, TestSize.Level1)
65 {
66 FeatureCapability capaBit = BIT_WIFI_P2P_REUSE;
67 int32_t ret = LnnSetFeatureCapability(nullptr, capaBit);
68 EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
69 }
70
71 /*
72 * @tc.name: LnnSetFeatureCapability_Test_003
73 * @tc.desc: Testing the LnnSetFeatureCapability interface returns an abnormal value
74 * @tc.type: FUNC
75 * @tc.require: I5RHYE
76 */
77 HWTEST_F(LNNFeatureCapabilityTest, LnnSetFeatureCapability_Test_003, TestSize.Level1)
78 {
79 uint64_t feature = 0;
80 FeatureCapability capaBit = BIT_FEATURE_COUNT;
81 int32_t ret = LnnSetFeatureCapability(&feature, capaBit);
82 EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
83 }
84
85 /*
86 * @tc.name: LnnClearFeatureCapability_Test_001
87 * @tc.desc: Testing the LnnSetFeatureCapability interface returns normal values
88 * @tc.type: FUNC
89 * @tc.require: I5RHYE
90 */
91 HWTEST_F(LNNFeatureCapabilityTest, LnnClearFeatureCapability_Test_001, TestSize.Level1)
92 {
93 uint64_t feature = 0;
94 FeatureCapability capaBit = BIT_WIFI_P2P_REUSE;
95 int32_t ret = LnnClearFeatureCapability(&feature, capaBit);
96 EXPECT_EQ(ret, SOFTBUS_OK);
97 }
98
99 /*
100 * @tc.name: LnnClearFeatureCapability_Test_002
101 * @tc.desc: Testing the LnnSetFeatureCapability interface returns an abnormal value
102 * @tc.type: FUNC
103 * @tc.require: I5RHYE
104 */
105 HWTEST_F(LNNFeatureCapabilityTest, LnnClearFeatureCapability_Test_002, TestSize.Level1)
106 {
107 FeatureCapability capaBit = BIT_FEATURE_COUNT;
108 int32_t ret = LnnClearFeatureCapability(nullptr, capaBit);
109 EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
110 }
111
112 /*
113 * @tc.name: LnnClearFeatureCapability_Test_003
114 * @tc.desc: Testing the LnnSetFeatureCapability interface returns an abnormal value
115 * @tc.type: FUNC
116 * @tc.require: I5RHYE
117 */
118 HWTEST_F(LNNFeatureCapabilityTest, LnnClearFeatureCapability_Test_003, TestSize.Level1)
119 {
120 uint64_t feature = 0;
121 FeatureCapability capaBit = BIT_FEATURE_COUNT;
122 int32_t ret = LnnClearFeatureCapability(&feature, capaBit);
123 EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
124 }
125
126 /*
127 * @tc.name: LnnNodeInfo_Test_001
128 * @tc.desc: Testing the LnnSetUserIdCheckSum interface returns an abnormal value
129 * @tc.type: FUNC
130 * @tc.require: I5RHYE
131 */
132 HWTEST_F(LNNFeatureCapabilityTest, LnnNodeInfo_Test_001, TestSize.Level1)
133 {
134 NodeInfo info;
135 (void)memset_s(&info, sizeof(NodeInfo), 0, sizeof(NodeInfo));
136 uint8_t *data = nullptr;
137 uint32_t len = 0;
138 int32_t ret = LnnSetUserIdCheckSum(&info, data, len);
139 EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
140 }
141
142 /*
143 * @tc.name: LnnNodeInfo_Test_002
144 * @tc.desc: Testing the LnnSetUserIdCheckSum interface returns an abnormal value
145 * @tc.type: FUNC
146 * @tc.require: I5RHYE
147 */
148 HWTEST_F(LNNFeatureCapabilityTest, LnnNodeInfo_Test_002, TestSize.Level1)
149 {
150 uint8_t data = 0;
151 uint32_t len = 1;
152 int32_t ret = LnnSetUserIdCheckSum(nullptr, &data, len);
153 EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
154 }
155
156 /*
157 * @tc.name: LnnNodeInfo_Test_003
158 * @tc.desc: Testing the LnnSetUserIdCheckSum interface returns normal value
159 * @tc.type: FUNC
160 * @tc.require: I5RHYE
161 */
162 HWTEST_F(LNNFeatureCapabilityTest, LnnNodeInfo_Test_003, TestSize.Level1)
163 {
164 NodeInfo info;
165 (void)memset_s(&info, sizeof(NodeInfo), 0, sizeof(NodeInfo));
166 uint8_t *data = static_cast<uint8_t *>(SoftBusCalloc(sizeof(USERID_CHECKSUM_LEN)));
167 (void)memset_s(data, USERID_CHECKSUM_LEN, 0, USERID_CHECKSUM_LEN);
168 uint32_t len = USERID_CHECKSUM_LEN;
169 int32_t ret = LnnSetUserIdCheckSum(&info, data, len);
170 EXPECT_EQ(ret, SOFTBUS_OK);
171 SoftBusFree(data);
172 }
173
174 /*
175 * @tc.name: LnnNodeInfo_Test_004
176 * @tc.desc: Testing the LnnGetUserIdCheckSum interface returns an abnormal value
177 * @tc.type: FUNC
178 * @tc.require: I5RHYE
179 */
180 HWTEST_F(LNNFeatureCapabilityTest, LnnNodeInfo_Test_004, TestSize.Level1)
181 {
182 NodeInfo info;
183 (void)memset_s(&info, sizeof(NodeInfo), 0, sizeof(NodeInfo));
184 uint8_t *data = nullptr;
185 uint32_t len = 0;
186 int32_t ret = LnnGetUserIdCheckSum(&info, data, len);
187 EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
188 }
189
190 /*
191 * @tc.name: LnnNodeInfo_Test_005
192 * @tc.desc: Testing the LnnGetUserIdCheckSum interface returns an abnormal value
193 * @tc.type: FUNC
194 * @tc.require: I5RHYE
195 */
196 HWTEST_F(LNNFeatureCapabilityTest, LnnNodeInfo_Test_005, TestSize.Level1)
197 {
198 uint8_t data = 0;
199 uint32_t len = 1;
200 int32_t ret = LnnGetUserIdCheckSum(nullptr, &data, len);
201 EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
202 }
203
204 /*
205 * @tc.name: LnnNodeInfo_Test_006
206 * @tc.desc: Testing the LnnGetUserIdCheckSum interface returns normal value
207 * @tc.type: FUNC
208 * @tc.require: I5RHYE
209 */
210 HWTEST_F(LNNFeatureCapabilityTest, LnnNodeInfo_Test_006, TestSize.Level1)
211 {
212 NodeInfo info;
213 (void)memset_s(&info, sizeof(NodeInfo), 0, sizeof(NodeInfo));
214 (void)memset_s(info.userIdCheckSum, USERID_CHECKSUM_LEN, 1, USERID_CHECKSUM_LEN);
215 uint8_t *data = static_cast<uint8_t *>(SoftBusCalloc(sizeof(USERID_CHECKSUM_LEN)));
216 (void)memset_s(data, USERID_CHECKSUM_LEN, 1, USERID_CHECKSUM_LEN);
217 uint32_t len = USERID_CHECKSUM_LEN;
218 int32_t ret = LnnGetUserIdCheckSum(&info, data, len);
219 EXPECT_EQ(ret, SOFTBUS_OK);
220 SoftBusFree(data);
221 }
222 } // namespace OHOS