• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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 <gtest/gtest.h>
17 #include <securec.h>
18 
19 #include "bus_center_info_key.h"
20 #include "lnn_connection_addr_utils.h"
21 #include "lnn_network_id.h"
22 #include "softbus_bus_center.h"
23 #include "softbus_error_code.h"
24 
25 namespace OHOS {
26 using namespace testing::ext;
27 
28 constexpr char BT_MAC[] = "12:34:56:78";
29 constexpr char WLAN_IP[] = "10.146.181.134";
30 
31 class NetBuilderTest : public testing::Test {
32 public:
33     static void SetUpTestCase();
34     static void TearDownTestCase();
35     void SetUp();
36     void TearDown();
37 };
38 
SetUpTestCase()39 void NetBuilderTest::SetUpTestCase() { }
40 
TearDownTestCase()41 void NetBuilderTest::TearDownTestCase() { }
42 
SetUp()43 void NetBuilderTest::SetUp() { }
44 
TearDown()45 void NetBuilderTest::TearDown() { }
46 
47 /*
48  * @tc.name: NET_BUILDER_GEN_ID_Test_001
49  * @tc.desc: generate network id interface test
50  * @tc.type: FUNC
51  * @tc.require: AR000FK6J3
52  */
53 HWTEST_F(NetBuilderTest, NET_BUILDER_GEN_ID_Test_001, TestSize.Level0)
54 {
55     char networkIdFirst[NETWORK_ID_BUF_LEN] = { 0 };
56     char networkIdSecond[NETWORK_ID_BUF_LEN] = { 0 };
57 
58     EXPECT_TRUE(LnnGenLocalNetworkId(networkIdFirst, NETWORK_ID_BUF_LEN) == SOFTBUS_OK);
59     EXPECT_TRUE(LnnGenLocalNetworkId(networkIdSecond, NETWORK_ID_BUF_LEN) == SOFTBUS_OK);
60     EXPECT_TRUE(strncmp(networkIdFirst, networkIdSecond, NETWORK_ID_BUF_LEN) != 0);
61 }
62 
63 /*
64  * @tc.name: NET_BUILDER_GEN_ID_Test_002
65  * @tc.desc: generate uuid interface test
66  * @tc.type: FUNC
67  * @tc.require: AR000FK6J3
68  */
69 HWTEST_F(NetBuilderTest, NET_BUILDER_GEN_ID_Test_002, TestSize.Level0)
70 {
71     char uuidFirst[UUID_BUF_LEN] = { 0 };
72     char uuidSecond[UUID_BUF_LEN] = { 0 };
73 
74     EXPECT_TRUE(LnnGenLocalUuid(uuidFirst, UUID_BUF_LEN, false) == SOFTBUS_OK);
75     EXPECT_TRUE(LnnGenLocalUuid(uuidSecond, UUID_BUF_LEN, false) == SOFTBUS_OK);
76     EXPECT_TRUE(strncmp(uuidFirst, uuidSecond, UUID_BUF_LEN) == 0);
77     EXPECT_TRUE(LnnGenLocalUuid(uuidFirst, UUID_BUF_LEN, true) == SOFTBUS_OK);
78     EXPECT_TRUE(LnnGenLocalUuid(uuidSecond, UUID_BUF_LEN, false) == SOFTBUS_OK);
79     EXPECT_TRUE(strncmp(uuidFirst, uuidSecond, UUID_BUF_LEN) == 0);
80 }
81 
82 /*
83  * @tc.name: NET_BUILDER_GEN_ID_Test_003
84  * @tc.desc: generate irk interface test
85  * @tc.type: FUNC
86  * @tc.require:
87  */
88 HWTEST_F(NetBuilderTest, NET_BUILDER_GEN_ID_Test_003, TestSize.Level0)
89 {
90     unsigned char irkFirst[LFINDER_IRK_LEN] = { 0 };
91     unsigned char irkSecond[LFINDER_IRK_LEN] = { 0 };
92 
93     EXPECT_TRUE(LnnGenLocalIrk(irkFirst, LFINDER_IRK_LEN, false) == SOFTBUS_OK);
94     EXPECT_TRUE(LnnGenLocalIrk(irkSecond, LFINDER_IRK_LEN, false) == SOFTBUS_OK);
95     EXPECT_EQ(memcmp(irkFirst, irkSecond, LFINDER_IRK_LEN), 0);
96     EXPECT_TRUE(LnnGenLocalIrk(irkFirst, LFINDER_IRK_LEN, true) == SOFTBUS_OK);
97     EXPECT_TRUE(LnnGenLocalIrk(irkSecond, LFINDER_IRK_LEN, false) == SOFTBUS_OK);
98     EXPECT_EQ(memcmp(irkFirst, irkSecond, LFINDER_IRK_LEN), 0);
99 }
100 
101 /*
102  * @tc.name: NET_BUILDER_CONNECTION_ADDR_Test_001
103  * @tc.desc: connection address compare interface test
104  * @tc.type: FUNC
105  * @tc.require: AR000FK6J2
106  */
107 HWTEST_F(NetBuilderTest, NET_BUILDER_CONNECTION_ADDR_Test_001, TestSize.Level0)
108 {
109     ConnectionAddr bleAddr = {
110         .type = CONNECTION_ADDR_BR,
111     };
112     ConnectionAddr ethAddr = {
113         .type = CONNECTION_ADDR_ETH,
114     };
115 
116     EXPECT_TRUE(strncpy_s(bleAddr.info.br.brMac, BT_MAC_LEN, BT_MAC, strlen(BT_MAC)) == EOK);
117     EXPECT_TRUE(strncpy_s(bleAddr.info.ip.ip, IP_STR_MAX_LEN, WLAN_IP, strlen(WLAN_IP)) == EOK);
118     EXPECT_TRUE(LnnIsSameConnectionAddr(&bleAddr, &bleAddr, true));
119     EXPECT_TRUE(LnnIsSameConnectionAddr(&ethAddr, &ethAddr, true));
120     EXPECT_FALSE(LnnIsSameConnectionAddr(&bleAddr, &ethAddr, false));
121 }
122 } // namespace OHOS
123