1 /*
2 * Copyright (c) 2022 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 <singleton.h>
18
19 #define private public
20 #define protected public
21 #include "ability_connection.h"
22 #undef private
23 #undef protected
24 #include "connection_manager.h"
25 #include "mock_ability_connection_callback.h"
26
27 using namespace testing;
28 using namespace testing::ext;
29 using namespace OHOS::AAFwk;
30
31 namespace OHOS {
32 namespace AbilityRuntime {
33 class AbilityConnectionTest : public testing::Test {
34 public:
35 void SetUp();
36 void TearDown();
37 static void SetUpTestCase(void);
38 static void TearDownTestCase(void);
39 };
40
SetUpTestCase()41 void AbilityConnectionTest::SetUpTestCase()
42 {}
43
TearDownTestCase()44 void AbilityConnectionTest::TearDownTestCase()
45 {}
46
SetUp()47 void AbilityConnectionTest::SetUp()
48 {}
49
TearDown()50 void AbilityConnectionTest::TearDown()
51 {}
52
53 /**
54 * @tc.number: AbilityRuntime_AbilityConnection_OnAbilityConnectDone_0100
55 * @tc.name: OnAbilityConnectDone
56 * @tc.desc: Test whether OnAbilityConnectDone is called normally(abilityConnectCallbackList_ is empty).
57 */
58 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_OnAbilityConnectDone_0100, TestSize.Level1)
59 {
60 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_OnAbilityConnectDone_0100 start";
61 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
62 AppExecFwk::ElementName element;
63 sptr<IRemoteObject> remoteObject = nullptr;
64 EXPECT_NE(abilityConnection->GetConnectionState(), 0);
65 abilityConnection->OnAbilityConnectDone(element,remoteObject,-1);
66 EXPECT_EQ(abilityConnection->abilityConnectCallbackList_.size(), 0);
67 EXPECT_NE(abilityConnection->GetConnectionState(), 0);
68 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_OnAbilityConnectDone_0100 end";
69 }
70
71 /**
72 * @tc.number: AbilityRuntime_AbilityConnection_OnAbilityConnectDone_0200
73 * @tc.name: OnAbilityConnectDone
74 * @tc.desc: Test whether OnAbilityConnectDone is called normally(abilityConnectCallbackList_ is not empty).
75 */
76 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_OnAbilityConnectDone_0200, TestSize.Level1)
77 {
78 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_OnAbilityConnectDone_0200 start";
79 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
80 AppExecFwk::ElementName element;
81 sptr<IRemoteObject> remoteObject = nullptr;
82 sptr<MockAbilityConnectCallback> mockAbilityConnectCallback(new MockAbilityConnectCallback());
83 abilityConnection->AddConnectCallback(mockAbilityConnectCallback);
84 EXPECT_NE(abilityConnection->GetConnectionState(), 0);
85 abilityConnection->OnAbilityConnectDone(element,remoteObject,-1);
86 EXPECT_NE(abilityConnection->abilityConnectCallbackList_.size(), 0);
87 EXPECT_EQ(abilityConnection->GetConnectionState(), 0);
88 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_OnAbilityConnectDone_0200 end";
89 }
90
91 /**
92 * @tc.number: AbilityRuntime_AbilityConnection_OnAbilityDisconnectDone_0100
93 * @tc.name: OnAbilityDisconnectDone
94 * @tc.desc: Test whether OnAbilityDisconnectDone is called normally(abilityConnectCallbackList_ is empty).
95 */
96 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_OnAbilityDisconnectDone_0100, TestSize.Level1)
97 {
98 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_OnAbilityDisconnectDone_0100 start";
99 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
100 AppExecFwk::ElementName element;
101 abilityConnection->OnAbilityDisconnectDone(element,-1);
102 EXPECT_EQ(abilityConnection->abilityConnectCallbackList_.size(), 0);
103 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_OnAbilityDisconnectDone_0100 end";
104 }
105
106 /**
107 * @tc.number: AbilityRuntime_AbilityConnection_OnAbilityDisconnectDone_0200
108 * @tc.name: OnAbilityDisconnectDone
109 * @tc.desc: Test whether OnAbilityDisconnectDone is called normally.
110 * (abilityConnectCallbackList_ is empty,resultCode != DIED)
111 */
112 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_OnAbilityDisconnectDone_0200, TestSize.Level1)
113 {
114 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_OnAbilityDisconnectDone_0200 start";
115 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
116 AppExecFwk::ElementName element;
117 EXPECT_EQ(abilityConnection->abilityConnectCallbackList_.size(), 0);
118 sptr<MockAbilityConnectCallback> mockAbilityConnectCallback(new MockAbilityConnectCallback());
119 abilityConnection->AddConnectCallback(mockAbilityConnectCallback);
120 EXPECT_NE(abilityConnection->abilityConnectCallbackList_.size(), 0);
121 int32_t resultCode = 0;
122 abilityConnection->OnAbilityDisconnectDone(element,resultCode);
123 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_OnAbilityDisconnectDone_0200 end";
124 }
125
126 /**
127 * @tc.number: AbilityRuntime_AbilityConnection_OnAbilityDisconnectDone_0300
128 * @tc.name: OnAbilityDisconnectDone
129 * @tc.desc: Test whether OnAbilityDisconnectDone is called normally.
130 * (abilityConnectCallbackList_ is empty,resultCode == DIED)
131 */
132 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_OnAbilityDisconnectDone_0300, TestSize.Level1)
133 {
134 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_OnAbilityDisconnectDone_0300 start";
135 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
136 AppExecFwk::ElementName element;
137 EXPECT_EQ(abilityConnection->abilityConnectCallbackList_.size(), 0);
138 sptr<MockAbilityConnectCallback> mockAbilityConnectCallback(new MockAbilityConnectCallback());
139 abilityConnection->AddConnectCallback(mockAbilityConnectCallback);
140 EXPECT_NE(abilityConnection->abilityConnectCallbackList_.size(), 0);
141 int32_t resultCode = -1;
142 abilityConnection->OnAbilityDisconnectDone(element,resultCode);
143 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_OnAbilityDisconnectDone_0300 end";
144 }
145
146 /**
147 * @tc.number: AbilityRuntime_AbilityConnection_AddConnectCallback_0100
148 * @tc.name: AddConnectCallback
149 * @tc.desc: Test whether AddConnectCallbackis called normally.
150 */
151 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_AddConnectCallback_0100, TestSize.Level1)
152 {
153 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_AddConnectCallback_0100 start";
154 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
155 AppExecFwk::ElementName element;
156 EXPECT_EQ(abilityConnection->abilityConnectCallbackList_.size(), 0);
157 sptr<MockAbilityConnectCallback> mockAbilityConnectCallback(new MockAbilityConnectCallback());
158 abilityConnection->AddConnectCallback(mockAbilityConnectCallback);
159 EXPECT_NE(abilityConnection->abilityConnectCallbackList_.size(), 0);
160 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_AddConnectCallback_0100 end";
161 }
162
163 /**
164 * @tc.number: AbilityRuntime_AbilityConnection_RemoveConnectCallback_0100
165 * @tc.name: RemoveConnectCallback
166 * @tc.desc: Test whether RemoveConnectCallback is called normally.
167 */
168 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_RemoveConnectCallback_0100, TestSize.Level1)
169 {
170 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_RemoveConnectCallback_0100 start";
171 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
172 AppExecFwk::ElementName element;
173 EXPECT_EQ(abilityConnection->abilityConnectCallbackList_.size(), 0);
174 sptr<MockAbilityConnectCallback> mockAbilityConnectCallback(new MockAbilityConnectCallback());
175 abilityConnection->AddConnectCallback(mockAbilityConnectCallback);
176 EXPECT_NE(abilityConnection->abilityConnectCallbackList_.size(), 0);
177 abilityConnection->RemoveConnectCallback(mockAbilityConnectCallback);
178 EXPECT_EQ(abilityConnection->abilityConnectCallbackList_.size(), 0);
179 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_RemoveConnectCallback_0100 end";
180 }
181
182 /**
183 * @tc.number: AbilityRuntime_AbilityConnection_SetRemoteObject_0100
184 * @tc.name: SetRemoteObject
185 * @tc.desc: Test whether SetRemoteObject is called normally.
186 */
187 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_SetRemoteObject_0100, TestSize.Level1)
188 {
189 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_SetRemoteObject_0100 start";
190 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
191 sptr<IRemoteObject> remoteObject = nullptr;
192 abilityConnection->SetRemoteObject(remoteObject);
193 EXPECT_EQ(abilityConnection->remoteObject_, nullptr);
194 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_SetRemoteObject_0100 end";
195 }
196
197 /**
198 * @tc.number: AbilityRuntime_AbilityConnection_GetRemoteObject_0100
199 * @tc.name: GetRemoteObject
200 * @tc.desc: Test whether GetRemoteObject is called normally.
201 */
202 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_GetRemoteObject_0100, TestSize.Level1)
203 {
204 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_GetRemoteObject_0100 start";
205 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
206 sptr<IRemoteObject> remoteObject = nullptr;
207 abilityConnection->SetRemoteObject(remoteObject);
208 EXPECT_EQ(abilityConnection->GetRemoteObject(), nullptr);
209 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_GetRemoteObject_0100 end";
210 }
211
212 /**
213 * @tc.number: AbilityRuntime_AbilityConnection_SetResultCode_0100
214 * @tc.name: SetResultCode
215 * @tc.desc: Test whether SetResultCode is called normally.
216 */
217 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_SetResultCode_0100, TestSize.Level1)
218 {
219 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_SetResultCode_0100 start";
220 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
221 int resultCode = 0;
222 abilityConnection->SetResultCode(resultCode);
223 EXPECT_EQ(abilityConnection->resultCode_, 0);
224 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_SetResultCode_0100 end";
225 }
226
227 /**
228 * @tc.number: AbilityRuntime_AbilityConnection_GetResultCode_0100
229 * @tc.name: GetResultCode
230 * @tc.desc: Test whether GetResultCode is called normally.
231 */
232 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_GetResultCode_0100, TestSize.Level1)
233 {
234 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_GetResultCode_0100 start";
235 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
236 abilityConnection->SetResultCode(abilityConnection->resultCode_);
237 EXPECT_EQ(abilityConnection->GetResultCode(), -1);
238 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_GetResultCode_0100 end";
239 }
240
241 /**
242 * @tc.number: AbilityRuntime_AbilityConnection_SetConnectionState_0100
243 * @tc.name: SetConnectionState
244 * @tc.desc: Test whether SetConnectionState is called normally.
245 */
246 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_SetConnectionState_0100, TestSize.Level1)
247 {
248 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_SetConnectionState_0100 start";
249 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
250 int connectionState = 0;
251 abilityConnection->SetConnectionState(connectionState);
252 EXPECT_EQ(abilityConnection->connectionState_, 0);
253 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_SetConnectionState_0100 end";
254 }
255
256 /**
257 * @tc.number: AbilityRuntime_AbilityConnection_GetConnectionState_0100
258 * @tc.name: GetConnectionState
259 * @tc.desc: Test whether GetConnectionState is called normally.
260 */
261 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_GetConnectionState_0100, TestSize.Level1)
262 {
263 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_GetConnectionState_0100 start";
264 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
265 abilityConnection->SetConnectionState(CONNECTION_STATE_CONNECTED);
266 EXPECT_EQ(abilityConnection->GetConnectionState(), CONNECTION_STATE_CONNECTED);
267 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_GetConnectionState_0100 end";
268 }
269
270 /**
271 * @tc.number: AbilityRuntime_AbilityConnection_GetCallbackList_0100
272 * @tc.name: GetCallbackList
273 * @tc.desc: Test whether GetCallbackList is called normally.
274 */
275 HWTEST_F(AbilityConnectionTest, AbilityRuntime_AbilityConnection_GetCallbackList_0100, TestSize.Level1)
276 {
277 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_GetCallbackList_0100 start";
278 sptr<AbilityConnection> abilityConnection = new AbilityConnection();
279 EXPECT_EQ(abilityConnection->GetCallbackList(), abilityConnection->abilityConnectCallbackList_);
280 GTEST_LOG_(INFO) << "AbilityRuntime_AbilityConnection_GetCallbackList_0100 end";
281 }
282 } // namespace AAFwk
283 } // namespace OHOS