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 #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 TYPE = "type";
26 const std::string DEVICE_ID = "123456789ABCD";
27 }
28
SetUpTestCase()29 void DmsSaClientTest::SetUpTestCase()
30 {
31 DTEST_LOG << "DmsSaClientTest::SetUpTestCase" << std::endl;
32 }
33
TearDownTestCase()34 void DmsSaClientTest::TearDownTestCase()
35 {
36 DTEST_LOG << "DmsSaClientTest::TearDownTestCase" << std::endl;
37 }
38
SetUp()39 void DmsSaClientTest::SetUp()
40 {
41 dmssaClient_ = new DmsSaClient();
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 if (dmssaClient_ == nullptr) {
68 DTEST_LOG << "dmssaClient_ is nullptr" << std::endl;
69 return;
70 }
71
72 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_002 start" << std::endl;
73 int32_t systemAbilityId = 1;
74 dmssaClient_->OnAddSystemAbility(systemAbilityId, DEVICE_ID);
75
76 systemAbilityId = DISTRIBUTED_SCHED_SA_ID;
77 dmssaClient_->OnAddSystemAbility(systemAbilityId, DEVICE_ID);
78 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_002 end" << std::endl;
79
80 sptr<IDSchedEventListenerTest> listener = new IDSchedEventListenerTest();
81 dmssaClient_->hasSubscribeDmsSA_ = true;
82 int32_t result = dmssaClient_->AddDSchedEventListener(TYPE, listener);
83 EXPECT_EQ(result, NO_ERROR);
84 DTEST_LOG << "DmsSaClientTest AddDSchedEventListener_001 end" << std::endl;
85 }
86
87 /**
88 * @tc.name: AddDSchedEventListener_002
89 * @tc.desc: AddDSchedEventListener
90 * @tc.type: FUNC
91 * @tc.require: I64FU7
92 */
93 HWTEST_F(DmsSaClientTest, AddDSchedEventListener_002, TestSize.Level3)
94 {
95 DTEST_LOG << "DmsSaClientTest AddDSchedEventListener_002 start" << std::endl;
96 if (dmssaClient_ == nullptr) {
97 DTEST_LOG << "dmssaClient_ is nullptr" << std::endl;
98 return;
99 }
100
101 DTEST_LOG << "DmsSaClientTest OnRemoveSystemAbility_001 start" << std::endl;
102 int32_t systemAbilityId = 1;
103 dmssaClient_->OnAddSystemAbility(systemAbilityId, DEVICE_ID);
104
105 systemAbilityId = DISTRIBUTED_SCHED_SA_ID;
106 dmssaClient_->OnRemoveSystemAbility(systemAbilityId, DEVICE_ID);
107 DTEST_LOG << "DmsSaClientTest OnRemoveSystemAbility_001 end" << std::endl;
108
109 sptr<IDSchedEventListenerTest> listener = new IDSchedEventListenerTest();
110 int32_t result = dmssaClient_->AddDSchedEventListener(TYPE, listener);
111 EXPECT_EQ(result, NO_ERROR);
112 DTEST_LOG << "DmsSaClientTest AddDSchedEventListener_002 end" << std::endl;
113 }
114
115 /**
116 * @tc.name: DelDSchedEventListener_001
117 * @tc.desc: DelDSchedEventListener
118 * @tc.type: FUNC
119 * @tc.require: I64FU7
120 */
121 HWTEST_F(DmsSaClientTest, DelDSchedEventListener_001, TestSize.Level3)
122 {
123 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_001 start" << std::endl;
124 if (dmssaClient_ == nullptr) {
125 DTEST_LOG << "dmssaClient_ is nullptr" << std::endl;
126 return;
127 }
128 //systemAbilityId not is DISTRIBUTED_SCHED_SA_ID
129 dmssaClient_->OnAddSystemAbility(-1, DEVICE_ID);
130 //systemAbilityId is DISTRIBUTED_SCHED_SA_ID
131 dmssaClient_->OnAddSystemAbility(DISTRIBUTED_SCHED_SA_ID, DEVICE_ID);
132 DTEST_LOG << "DmsSaClientTest OnAddSystemAbility_001 end" << std::endl;
133
134 DTEST_LOG << "DmsSaClientTest DelDSchedEventListener_001 start" << std::endl;
135 sptr<IDSchedEventListenerTest> listener = new IDSchedEventListenerTest();
136 int32_t result1 = dmssaClient_->AddDSchedEventListener(TYPE, listener);
137 EXPECT_EQ(result1, NO_ERROR);
138 int32_t result2 = dmssaClient_->DelDSchedEventListener(TYPE, listener);
139 EXPECT_EQ(result2, NO_ERROR);
140 DTEST_LOG << "DmsSaClientTest DelDSchedEventListener_001 end" << std::endl;
141 }
142 }
143 }