• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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