1 /*
2 * Copyright (c) 2022-2024 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 #include "dms_sa_cilent_test.h"
16
17 #include "test_log.h"
18
19 using namespace testing;
20 using namespace testing::ext;
21
22 namespace OHOS {
23 namespace DistributedSchedule {
24 namespace {
25 const std::string DEVICE_ID = "123456789ABCD";
26 }
27
SetUpTestCase()28 void DmsSaClientTest::SetUpTestCase()
29 {
30 DTEST_LOG << "DmsSaClientTest::SetUpTestCase" << std::endl;
31 }
32
TearDownTestCase()33 void DmsSaClientTest::TearDownTestCase()
34 {
35 DTEST_LOG << "DmsSaClientTest::TearDownTestCase" << std::endl;
36 }
37
SetUp()38 void DmsSaClientTest::SetUp()
39 {
40 dmssaClient_ = std::make_shared<DmsSaClient>();
41 dmsSaStatusChange_ = std::make_shared<DmsSystemAbilityStatusChange>();
42 DTEST_LOG << "DmsSaClientTest::SetUp" << std::endl;
43 }
44
TearDown()45 void DmsSaClientTest::TearDown()
46 {
47 DTEST_LOG << "DmsSaClientTest::TearDown" << std::endl;
48 }
49
DSchedEventNotify(EventNotify & notify)50 void IDSchedEventListenerTest::DSchedEventNotify(EventNotify ¬ify)
51 {
52 }
AsObject()53 sptr<IRemoteObject> IDSchedEventListenerTest::AsObject()
54 {
55 return nullptr;
56 }
57
58 /**
59 * @tc.name: AddDSchedEventListener_001
60 * @tc.desc: AddDSchedEventListener
61 * @tc.type: FUNC
62 * @tc.require: I64FU7
63 */
64 HWTEST_F(DmsSaClientTest, AddDSchedEventListener_001, TestSize.Level3)
65 {
66 DTEST_LOG << "DmsSaClientTest AddDSchedEventListener_001 start" << std::endl;
67 ASSERT_NE(nullptr, dmssaClient_);
68
69 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_002 start" << std::endl;
70 int32_t systemAbilityId = 1;
71 dmssaClient_->OnAddSystemAbility(systemAbilityId, DEVICE_ID);
72
73 systemAbilityId = DISTRIBUTED_SCHED_SA_ID;
74 dmssaClient_->OnAddSystemAbility(systemAbilityId, DEVICE_ID);
75 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_002 end" << std::endl;
76
77 sptr<IDSchedEventListenerTest> listener(new IDSchedEventListenerTest());
78 dmssaClient_->hasSubscribeDmsSA_ = true;
79 int32_t result = dmssaClient_->AddDSchedEventListener(DMS_CONTINUE, listener);;
80 EXPECT_EQ(result, NO_ERROR);
81 DTEST_LOG << "DmsSaClientTest AddDSchedEventListener_001 end" << std::endl;
82 }
83
84 /**
85 * @tc.name: AddDSchedEventListener_002
86 * @tc.desc: AddDSchedEventListener
87 * @tc.type: FUNC
88 * @tc.require: I64FU7
89 */
90 HWTEST_F(DmsSaClientTest, AddDSchedEventListener_002, TestSize.Level3)
91 {
92 DTEST_LOG << "DmsSaClientTest AddDSchedEventListener_002 start" << std::endl;
93 ASSERT_NE(nullptr, dmssaClient_);
94
95 DTEST_LOG << "DmsSaClientTest OnRemoveSystemAbility_001 start" << std::endl;
96 int32_t systemAbilityId = 1;
97 dmssaClient_->OnAddSystemAbility(systemAbilityId, DEVICE_ID);
98
99 systemAbilityId = DISTRIBUTED_SCHED_SA_ID;
100 dmssaClient_->OnRemoveSystemAbility(systemAbilityId, DEVICE_ID);
101 DTEST_LOG << "DmsSaClientTest OnRemoveSystemAbility_001 end" << std::endl;
102
103 sptr<IDSchedEventListenerTest> listener(new IDSchedEventListenerTest());
104 int32_t result = dmssaClient_->AddDSchedEventListener(DMS_CONTINUE, listener);;
105 EXPECT_EQ(result, NO_ERROR);
106 DTEST_LOG << "DmsSaClientTest AddDSchedEventListener_002 end" << std::endl;
107 }
108
109 /**
110 * @tc.name: DelDSchedEventListener_001
111 * @tc.desc: DelDSchedEventListener
112 * @tc.type: FUNC
113 * @tc.require: I64FU7
114 */
115 HWTEST_F(DmsSaClientTest, DelDSchedEventListener_001, TestSize.Level3)
116 {
117 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_001 start" << std::endl;
118 ASSERT_NE(nullptr, dmssaClient_);
119 //systemAbilityId not is DISTRIBUTED_SCHED_SA_ID
120 dmssaClient_->OnAddSystemAbility(-1, DEVICE_ID);
121 //systemAbilityId is DISTRIBUTED_SCHED_SA_ID
122 dmssaClient_->OnAddSystemAbility(DISTRIBUTED_SCHED_SA_ID, DEVICE_ID);
123 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_001 end" << std::endl;
124
125 DTEST_LOG << "DmsSaClientTest DelDSchedEventListener_001 start" << std::endl;
126 sptr<IDSchedEventListenerTest> listener(new IDSchedEventListenerTest());
127 int32_t result1 = dmssaClient_->AddDSchedEventListener(DMS_CONTINUE, listener);;
128 EXPECT_EQ(result1, NO_ERROR);
129 int32_t result2 = dmssaClient_->DelDSchedEventListener(DMS_CONTINUE, listener);;
130 EXPECT_EQ(result2, NO_ERROR);
131 DTEST_LOG << "DmsSaClientTest DelDSchedEventListener_001 end" << std::endl;
132 }
133
134 /**
135 * @tc.name: GetContinueInfo_001
136 * @tc.desc: GetContinueInfo
137 * @tc.type: FUNC
138 * @tc.require: I64FU7
139 */
140 HWTEST_F(DmsSaClientTest, GetContinueInfo_001, TestSize.Level3)
141 {
142 DTEST_LOG << "DmsSaClientTest GetContinueInfo_001 start" << std::endl;
143 ASSERT_NE(nullptr, dmssaClient_);
144 //systemAbilityId not is DISTRIBUTED_SCHED_SA_ID
145 dmssaClient_->OnAddSystemAbility(-1, DEVICE_ID);
146 //systemAbilityId is DISTRIBUTED_SCHED_SA_ID
147 dmssaClient_->OnAddSystemAbility(DISTRIBUTED_SCHED_SA_ID, DEVICE_ID);
148 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_001 end" << std::endl;
149
150 DTEST_LOG << "DmsSaClientTest GetContinueInfo_001 start" << std::endl;
151 ContinueInfo continueInfo;
152 int32_t result1 = dmssaClient_->GetContinueInfo(continueInfo);
153 EXPECT_EQ(result1, NO_ERROR);
154 DTEST_LOG << "DmsSaClientTest GetContinueInfo_001 end" << std::endl;
155 }
156
157 /**
158 * @tc.name: GetDSchedEventInfo_001
159 * @tc.desc: GetDSchedEventInfo
160 * @tc.type: FUNC
161 * @tc.require: I64FU7
162 */
163 HWTEST_F(DmsSaClientTest, GetDSchedEventInfo_001, TestSize.Level3)
164 {
165 DTEST_LOG << "DmsSaClientTest GetDSchedEventInfo_001 start" << std::endl;
166 ASSERT_NE(nullptr, dmssaClient_);
167 //systemAbilityId not is DISTRIBUTED_SCHED_SA_ID
168 dmssaClient_->OnAddSystemAbility(-1, DEVICE_ID);
169 //systemAbilityId is DISTRIBUTED_SCHED_SA_ID
170 dmssaClient_->OnAddSystemAbility(DISTRIBUTED_SCHED_SA_ID, DEVICE_ID);
171 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_001 end" << std::endl;
172
173 DTEST_LOG << "DmsSaClientTest GetDSchedEventInfo_001 start" << std::endl;
174 std::vector<EventNotify> events;
175 int32_t result1 = dmssaClient_->GetDSchedEventInfo(DMS_UNKNOW, events);
176 EXPECT_NE(result1, NO_ERROR);
177 DTEST_LOG << "DmsSaClientTest GetDSchedEventInfo_001 end" << std::endl;
178 }
179
180 /**
181 * @tc.name: OnAddSystemAbility_001
182 * @tc.desc: OnAddSystemAbility
183 * @tc.type: FUNC
184 * @tc.require: I64FU7
185 */
186 HWTEST_F(DmsSaClientTest, OnAddSystemAbility_001, TestSize.Level3)
187 {
188 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_001 start" << std::endl;
189 ASSERT_NE(nullptr, dmsSaStatusChange_);
190 //systemAbilityId not is DISTRIBUTED_SCHED_SA_ID
191 dmsSaStatusChange_->OnAddSystemAbility(-1, DEVICE_ID);
192 //systemAbilityId is DISTRIBUTED_SCHED_SA_ID
193 dmsSaStatusChange_->OnAddSystemAbility(DISTRIBUTED_SCHED_SA_ID, DEVICE_ID);
194 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_001 end" << std::endl;
195
196 DTEST_LOG << "DmsSaClientTest DelDSchedEventListener_001 start" << std::endl;
197 sptr<IDSchedEventListenerTest> listener(new IDSchedEventListenerTest());
198 int32_t result = dmssaClient_->AddDSchedEventListener(DMS_CONTINUE, listener);;
199 EXPECT_EQ(result, NO_ERROR);
200 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_001 end" << std::endl;
201 }
202
203 /**
204 * @tc.name: OnRemoveSystemAbility_001
205 * @tc.desc: OnRemoveSystemAbility
206 * @tc.type: FUNC
207 * @tc.require: I64FU7
208 */
209 HWTEST_F(DmsSaClientTest, OnRemoveSystemAbility_001, TestSize.Level3)
210 {
211 DTEST_LOG << "DmsSaClientTest OnRemoveSystemAbilityy_001 start" << std::endl;
212 ASSERT_NE(nullptr, dmsSaStatusChange_);
213 //systemAbilityId not is DISTRIBUTED_SCHED_SA_ID
214 dmsSaStatusChange_->OnRemoveSystemAbility(-1, DEVICE_ID);
215 //systemAbilityId is DISTRIBUTED_SCHED_SA_ID
216 dmsSaStatusChange_->OnRemoveSystemAbility(DISTRIBUTED_SCHED_SA_ID, DEVICE_ID);
217 DTEST_LOG << "DmsSaClientTest OnRemoveSystemAbility_001 end" << std::endl;
218
219 DTEST_LOG << "DmsSaClientTest AddDSchedEventListener_001 start" << std::endl;
220 sptr<IDSchedEventListenerTest> listener(new IDSchedEventListenerTest());
221 int32_t result = dmssaClient_->AddDSchedEventListener(DMS_CONTINUE, listener);;
222 EXPECT_EQ(result, NO_ERROR);
223 DTEST_LOG << "DmsSaClientTest OnRemoveSystemAbility_001 end" << std::endl;
224 }
225
226 /**
227 * @tc.name: DmsSAStatusChangeOnAddSystemAbility_001
228 * @tc.desc: DmsSAStatusChangeOnAddSystemAbility
229 * @tc.type: FUNC
230 * @tc.require: I9K4JN
231 */
232 HWTEST_F(DmsSaClientTest, DmsSAStatusChangeOnAddSystemAbility_001, TestSize.Level3)
233 {
234 DTEST_LOG << "DmsSaClientTest DmsSAStatusChangeOnAddSystemAbility_001 start" << std::endl;
235 DmsSystemAbilityStatusChange dmsSystemAbilityStatusChange;
236 //systemAbilityId not is DISTRIBUTED_SCHED_SA_ID
237 dmsSystemAbilityStatusChange.OnAddSystemAbility(-1, DEVICE_ID);
238 //systemAbilityId is DISTRIBUTED_SCHED_SA_ID
239 dmsSystemAbilityStatusChange.OnAddSystemAbility(DISTRIBUTED_SCHED_SA_ID, DEVICE_ID);
240 DTEST_LOG << "DmsSaClientTest DmsSAStatusChangeOnAddSystemAbility_001 end" << std::endl;
241 }
242
243 /**
244 * @tc.name: DmsSAStatusChangeOnRemoveSystemAbility_001
245 * @tc.desc: DmsSAStatusChangeOnRemoveSystemAbility_001
246 * @tc.type: FUNC
247 * @tc.require: I9K4JN
248 */
249 HWTEST_F(DmsSaClientTest, DmsSAStatusChangeOnRemoveSystemAbility_001, TestSize.Level3)
250 {
251 DTEST_LOG << "DmsSaClientTest DmsSAStatusChangeOnRemoveSystemAbility_001 start" << std::endl;
252 DmsSystemAbilityStatusChange dmsSystemAbilityStatusChange;
253 //systemAbilityId not is DISTRIBUTED_SCHED_SA_ID
254 dmsSystemAbilityStatusChange.OnRemoveSystemAbility(-1, DEVICE_ID);
255 //systemAbilityId is DISTRIBUTED_SCHED_SA_ID
256 dmsSystemAbilityStatusChange.OnRemoveSystemAbility(DISTRIBUTED_SCHED_SA_ID, DEVICE_ID);
257 DTEST_LOG << "DmsSaClientTest DmsSAStatusChangeOnRemoveSystemAbility_001 end" << std::endl;
258 }
259 }
260 }