• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022-2023 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 "bus_center_manager.h"
21 #include "lnn_local_net_ledger.h"
22 #include "softbus_access_token_test.h"
23 #include "softbus_bus_center.h"
24 #include "softbus_client_frame_manager.h"
25 #include "softbus_client_stub_interface.h"
26 #include "softbus_common.h"
27 #include "softbus_error_code.h"
28 
29 constexpr char PKG_NAME[] = "com.softbus.test";
30 constexpr char NETWORK_ID[] = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
31 constexpr uint16_t DATA_CHANGE_FLAG = 65535;
32 constexpr int32_t DATA_CHANGE_FLAG_BUF_NUM = 2;
33 
34 namespace OHOS {
35 using namespace testing::ext;
36 
37 class ClientBusCenterSdkTest : public testing::Test {
38 public:
39     static void SetUpTestCase();
40     static void TearDownTestCase();
41     void SetUp();
42     void TearDown();
43     void AddPermission();
44 };
45 
SetUpTestCase()46 void ClientBusCenterSdkTest::SetUpTestCase()
47 {
48     SetAccessTokenPermission("busCenterTest");
49     uint64_t tokenId = SetTokenIdByProcessName("device_manager");
50     printf("SetTokenIdByProcessName tokenId:%ju\n", tokenId);
51 }
52 
TearDownTestCase()53 void ClientBusCenterSdkTest::TearDownTestCase() { }
54 
SetUp()55 void ClientBusCenterSdkTest::SetUp()
56 {
57     SetAccessTokenPermission("device_manager");
58     EXPECT_EQ(ClientStubInit(), SOFTBUS_OK);
59     EXPECT_EQ(InitSoftBus(PKG_NAME), SOFTBUS_OK);
60 }
61 
TearDown()62 void ClientBusCenterSdkTest::TearDown() { }
63 
64 /*
65  * @tc.name: SOFTBUS_CENTER_SDK_TEST_001
66  * @tc.desc: test set dataChangeFlag and get dataChangeFlag
67  * @tc.type: FUNC
68  * @tc.require: I5TQW0
69  */
70 HWTEST_F(ClientBusCenterSdkTest, SOFTBUS_CENTER_SDK_TEST_001, TestSize.Level0)
71 {
72     NodeBasicInfo info;
73     (void)memset_s(&info, sizeof(NodeBasicInfo), 0, sizeof(NodeBasicInfo));
74     EXPECT_TRUE(GetLocalNodeDeviceInfo(PKG_NAME, &info) == SOFTBUS_OK);
75     EXPECT_NE(SetNodeDataChangeFlag(PKG_NAME, info.networkId, DATA_CHANGE_FLAG), SOFTBUS_OK);
76     uint16_t dataChangeFlag = 0;
77     EXPECT_TRUE(GetNodeKeyInfo(PKG_NAME, info.networkId, NODE_KEY_DATA_CHANGE_FLAG, (uint8_t *)&dataChangeFlag,
78                     DATA_CHANGE_FLAG_BUF_NUM) == SOFTBUS_OK);
79     EXPECT_NE(dataChangeFlag, DATA_CHANGE_FLAG);
80 }
81 
82 /*
83  * @tc.name: SOFTBUS_CENTER_SDK_TEST_002
84  * @tc.desc: test SetNodeDataChangeFlag fail
85  * @tc.type: FUNC
86  * @tc.require: I5TQW0
87  */
88 HWTEST_F(ClientBusCenterSdkTest, SOFTBUS_CENTER_SDK_TEST_002, TestSize.Level0)
89 {
90     NodeBasicInfo info;
91     (void)memset_s(&info, sizeof(NodeBasicInfo), 0, sizeof(NodeBasicInfo));
92     EXPECT_TRUE(GetLocalNodeDeviceInfo(PKG_NAME, &info) == SOFTBUS_OK);
93     EXPECT_TRUE(SetNodeDataChangeFlag(nullptr, info.networkId, DATA_CHANGE_FLAG) == SOFTBUS_INVALID_PARAM);
94     EXPECT_TRUE(SetNodeDataChangeFlag(PKG_NAME, NETWORK_ID, DATA_CHANGE_FLAG) == SOFTBUS_INVALID_PARAM);
95 }
96 
97 /*
98  * @tc.name: SOFTBUS_CENTER_SDK_TEST_003
99  * @tc.desc: after joinLNN test get remote dataChangeFlag
100  * @tc.type: FUNC
101  * @tc.require: I5TQW0
102  */
103 HWTEST_F(ClientBusCenterSdkTest, SOFTBUS_CENTER_SDK_TEST_003, TestSize.Level0)
104 {
105     NodeBasicInfo *info = nullptr;
106     int32_t infoNum = 0;
107     uint16_t dataChangeFlag = 1;
108     EXPECT_TRUE(GetAllNodeDeviceInfo(PKG_NAME, &info, &infoNum) == SOFTBUS_OK);
109     if (info != nullptr && infoNum != 0) {
110         EXPECT_TRUE(GetNodeKeyInfo(PKG_NAME, info->networkId, NODE_KEY_DATA_CHANGE_FLAG, (uint8_t *)&dataChangeFlag,
111                         DATA_CHANGE_FLAG_BUF_NUM) == SOFTBUS_OK);
112         EXPECT_TRUE(dataChangeFlag == DATA_CHANGE_FLAG);
113     }
114 }
115 } // namespace OHOS
116