• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "br_proxy_common.h"
21 #include "br_proxy_ext_test_mock.h"
22 #include "br_proxy_server_manager.c"
23 #include "message_handler.h"
24 #include "nativetoken_kit.h"
25 #include "softbus_adapter_mem.h"
26 #include "softbus_common.h"
27 #include "softbus_conn_interface.h"
28 #include "softbus_def.h"
29 #include "softbus_error_code.h"
30 #include "token_setproc.h"
31 
32 using namespace testing;
33 using namespace testing::ext;
34 
35 namespace OHOS {
36 #define CHANNEL_ID 5
37 #define CHANNEL_ID_ERR 0
38 #define SESSION_ID 2
39 
40 class BrProxyServerManagerExtTest : public testing::Test {
41 public:
BrProxyServerManagerExtTest()42     BrProxyServerManagerExtTest()
43     {}
~BrProxyServerManagerExtTest()44     ~BrProxyServerManagerExtTest()
45     {}
46     static void SetUpTestCase(void);
47     static void TearDownTestCase(void);
SetUp()48     void SetUp() override
49     {}
TearDown()50     void TearDown() override
51     {}
52 };
53 
SetUpTestCase(void)54 void BrProxyServerManagerExtTest::SetUpTestCase(void)
55 {
56 }
57 
TearDownTestCase(void)58 void BrProxyServerManagerExtTest::TearDownTestCase(void)
59 {
60 }
61 
62 /**
63  * @tc.name: BrProxyServerManagerExtTest000
64  * @tc.desc: BrProxyServerManagerExtTest000, use the wrong parameter.
65  * @tc.type: FUNC
66  * @tc.require:
67  */
68 HWTEST_F(BrProxyServerManagerExtTest, BrProxyServerManagerExtTest000, TestSize.Level1)
69 {
70     const char *bundleName = "testbundlename";
71     NiceMock<BrProxyExtInterfaceMock> brProxyExtMock;
72     EXPECT_CALL(brProxyExtMock, CreateSoftBusList).WillRepeatedly(Return(nullptr));
73     bool ret1 = IsBrProxy(bundleName);
74     EXPECT_EQ(false, ret1);
75     int32_t ret = GetServerListCount(nullptr);
76     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
77     int32_t count = 0;
78     int32_t channelId = CHANNEL_ID;
79     ret = GetServerListCount(&count);
80     EXPECT_EQ(SOFTBUS_TRANS_SESSION_SERVER_NOINIT, ret);
81     ret = GetChannelIdFromServerList(nullptr);
82     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
83     ret = GetChannelIdFromServerList(&channelId);
84     EXPECT_EQ(SOFTBUS_TRANS_SESSION_SERVER_NOINIT, ret);
85     ret = CloseAllBrProxy();
86     EXPECT_EQ(SOFTBUS_TRANS_SESSION_SERVER_NOINIT, ret);
87     CloseAllConnect();
88     UserSwitchedHandler(nullptr);
89     RegisterUserSwitchEvent();
90     ret1 = PermissionCheckPass(nullptr);
91     EXPECT_EQ(false, ret1);
92     ret = GetNewChannelId(nullptr);
93     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
94     ret = BrProxyServerInit();
95     EXPECT_EQ(SOFTBUS_CREATE_LIST_ERR, ret);
96     ret = ServerAddDataToList(nullptr, nullptr, 0);
97     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
98     ret1 = IsBrProxyEnable(0);
99     EXPECT_EQ(false, ret1);
100     ret = GetBrProxy(nullptr, nullptr, nullptr);
101     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
102     ret = UpdateBrProxy(nullptr, nullptr, nullptr, false, channelId);
103     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
104     ret = UpdateConnectState(nullptr, nullptr, true);
105     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
106     ret1 = IsBrProxyExist(nullptr, nullptr);
107     EXPECT_EQ(false, ret1);
108     ret = GetCallerInfoAndVerifyPermission(nullptr);
109     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
110     ret = ServerAddProxyToList(nullptr, nullptr);
111     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
112     ret = ServerDeleteProxyFromList(nullptr, nullptr);
113     EXPECT_EQ(SOFTBUS_TRANS_SESSION_SERVER_NOINIT, ret);
114     ret1 = IsSessionExist(nullptr, nullptr);
115     EXPECT_EQ(false, ret1);
116     ret = ServerAddChannelToList(nullptr, nullptr, CHANNEL_ID, 0);
117     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
118 }
119 
120 /**
121  * @tc.name: BrProxyServerManagerExtTest001
122  * @tc.desc: BrProxyServerManagerExtTest001, use the wrong parameter.
123  * @tc.type: FUNC
124  * @tc.require:
125  */
126 HWTEST_F(BrProxyServerManagerExtTest, BrProxyServerManagerExtTest001, TestSize.Level1)
127 {
128     NiceMock<BrProxyExtInterfaceMock> brProxyExtMock;
129     EXPECT_CALL(brProxyExtMock, CreateSoftBusList).WillRepeatedly(Return(nullptr));
130     int32_t ret = ServerDeleteChannelFromList(CHANNEL_ID);
131     EXPECT_EQ(SOFTBUS_TRANS_SESSION_SERVER_NOINIT, ret);
132     ret = UpdateProxyChannel(nullptr, nullptr, nullptr);
133     EXPECT_EQ(SOFTBUS_TRANS_SESSION_SERVER_NOINIT, ret);
134     ret = GetChannelInfo(nullptr, nullptr, CHANNEL_ID, 0, nullptr);
135     EXPECT_EQ(SOFTBUS_TRANS_SESSION_SERVER_NOINIT, ret);
136     onOpenSuccess(0, nullptr);
137     ret = GetChannelId(nullptr, nullptr, nullptr);
138     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
139     ret = TransOpenBrProxy(nullptr, nullptr);
140     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
141     ret = TransCloseBrProxy(CHANNEL_ID, false);
142     EXPECT_EQ(SOFTBUS_TRANS_SESSION_SERVER_NOINIT, ret);
143     ret = TransSendBrProxyData(CHANNEL_ID, nullptr, 0);
144     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
145     ret = SetListenerStateByChannelId(CHANNEL_ID, CHANNEL_STATE, false);
146     EXPECT_EQ(SOFTBUS_TRANS_SESSION_SERVER_NOINIT, ret);
147     ret = SelectClient(nullptr, nullptr, nullptr);
148     EXPECT_EQ(SOFTBUS_TRANS_SESSION_SERVER_NOINIT, ret);
149     GetDataFromList(nullptr, nullptr, nullptr, nullptr);
150     bool ret1 = IsForegroundProcess(nullptr);
151     EXPECT_EQ(false, ret1);
152     DealDataWhenForeground(nullptr, nullptr, 0);
153     DealWithDataRecv(nullptr, nullptr, 0);
154     OnDataReceived(nullptr, nullptr, 0);
155     OnDisconnected(nullptr, 0);
156     OnReconnected(nullptr, nullptr);
157     SendDataIfExistsInList(CHANNEL_ID);
158     TransSetListenerState(CHANNEL_ID, 0, false);
159     ServerDeleteChannelByPid(0);
160     BrProxyClientDeathClearResource(0);
161     ret1 = CheckSessionExistByUid(0);
162     EXPECT_EQ(false, ret1);
163     ret = RetryListInit();
164     EXPECT_EQ(SOFTBUS_CREATE_LIST_ERR, ret);
165     ret1 = IsUidExist(0);
166     EXPECT_EQ(false, ret1);
167     ret = AddToRetryList(0);
168     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
169     ret = GetCountFromRetryList(0, nullptr);
170     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
171     ClearCountInRetryList(0);
172     ret1 = TransIsProxyChannelEnabled(0);
173     EXPECT_EQ(false, ret1);
174     TransRegisterPushHook();
175 }
176 }