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 "dms_token_callback_test.h"
17
18 #include "distributed_sched_test_util.h"
19 #include "dms_token_callback.h"
20 #include "dtbschedmgr_log.h"
21 #include "test_log.h"
22
23 using namespace testing;
24 using namespace testing::ext;
25
26 namespace OHOS {
27 namespace DistributedSchedule {
28 namespace {
29 const char* DISTSCHED_PROCESS_NAME = "distributedsched";
30 const char* FOUNDATION_PROCESS_NAME = "foundation";
31 const char* INVALID_PROCESS_NAME = "invalid_process";
32 }
33
SetUpTestCase()34 void DmsTokenCallbackTest::SetUpTestCase()
35 {
36 DTEST_LOG << "DmsTokenCallbackTest::SetUpTestCase" << std::endl;
37 }
38
TearDownTestCase()39 void DmsTokenCallbackTest::TearDownTestCase()
40 {
41 DTEST_LOG << "DmsTokenCallbackTest::TearDownTestCase" << std::endl;
42 }
43
TearDown()44 void DmsTokenCallbackTest::TearDown()
45 {
46 DTEST_LOG << "DmsTokenCallbackTest::TearDown" << std::endl;
47 }
48
SetUp()49 void DmsTokenCallbackTest::SetUp()
50 {
51 DTEST_LOG << "DmsTokenCallbackTest::SetUp" << std::endl;
52 dmsTokenCallback_ = new DmsTokenCallback();
53 DistributedSchedUtil::MockProcess(FOUNDATION_PROCESS_NAME);
54 }
55
56 /**
57 * @tc.name: SendResultTest_001
58 * @tc.desc: call SendResult from distributedsched
59 * @tc.type: FUNC
60 * @tc.require: I5RWIV
61 */
62 HWTEST_F(DmsTokenCallbackTest, SendResultTest_001, TestSize.Level3)
63 {
64 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_001 begin" << std::endl;
65 ASSERT_NE(dmsTokenCallback_, nullptr);
66 AAFwk::Want want;
67 int32_t callerUid = 0;
68 int32_t requestCode = 0;
69 uint32_t accessToken = 0;
70 int32_t resultCode = 0;
71 DistributedSchedUtil::MockProcess(DISTSCHED_PROCESS_NAME);
72 int32_t result = dmsTokenCallback_->SendResult(want, callerUid, requestCode, accessToken, resultCode);
73 EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
74 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_001 end" << std::endl;
75 }
76
77 /**
78 * @tc.name: SendResultTest_002
79 * @tc.desc: call SendResult from foundation
80 * @tc.type: FUNC
81 * @tc.require: I5RWIV
82 */
83 HWTEST_F(DmsTokenCallbackTest, SendResultTest_002, TestSize.Level3)
84 {
85 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_002 begin" << std::endl;
86 ASSERT_NE(dmsTokenCallback_, nullptr);
87 AAFwk::Want want;
88 int32_t callerUid = 0;
89 int32_t requestCode = 0;
90 uint32_t accessToken = 0;
91 int32_t resultCode = 0;
92 int32_t result = dmsTokenCallback_->SendResult(want, callerUid, requestCode, accessToken, resultCode);
93 EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
94 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_002 end" << std::endl;
95 }
96
97 /**
98 * @tc.name: SendResultTest_003
99 * @tc.desc: call SendResult with local device id
100 * @tc.type: FUNC
101 * @tc.require: I5WKCK
102 */
103 HWTEST_F(DmsTokenCallbackTest, SendResultTest_003, TestSize.Level3)
104 {
105 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_003 begin" << std::endl;
106 ASSERT_NE(dmsTokenCallback_, nullptr);
107 AAFwk::Want want;
108 string localDeviceId;
109 dmsTokenCallback_->GetLocalDeviceId(localDeviceId);
110 want.SetParam("dmsSrcNetworkId", localDeviceId);
111 int32_t callerUid = 0;
112 int32_t requestCode = 0;
113 uint32_t accessToken = 0;
114 int32_t resultCode = 0;
115 int32_t result = dmsTokenCallback_->SendResult(want, callerUid, requestCode, accessToken, resultCode);
116 EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
117 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_003 end" << std::endl;
118 }
119
120 /**
121 * @tc.name: SendResultTest_004
122 * @tc.desc: call SendResult from invalid process
123 * @tc.type: FUNC
124 * @tc.require: I64FU7
125 */
126 HWTEST_F(DmsTokenCallbackTest, SendResultTest_004, TestSize.Level3)
127 {
128 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_004 begin" << std::endl;
129 ASSERT_NE(dmsTokenCallback_, nullptr);
130 AAFwk::Want want;
131 int32_t callerUid = 0;
132 int32_t requestCode = 0;
133 uint32_t accessToken = 0;
134 int32_t resultCode = 0;
135 DistributedSchedUtil::MockProcess(INVALID_PROCESS_NAME);
136 int32_t result = dmsTokenCallback_->SendResult(want, callerUid, requestCode, accessToken, resultCode);
137 EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
138 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_004 end" << std::endl;
139 }
140
141 /**
142 * @tc.name: SendResultTest_005
143 * @tc.desc: call SendResult with remote device id
144 * @tc.type: FUNC
145 * @tc.require: I64FU7
146 */
147 HWTEST_F(DmsTokenCallbackTest, SendResultTest_005, TestSize.Level3)
148 {
149 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_005 begin" << std::endl;
150 ASSERT_NE(dmsTokenCallback_, nullptr);
151 AAFwk::Want want;
152 string remoteDeviceId = "remoteDeviceId";
153 want.SetParam("dmsSrcNetworkId", remoteDeviceId);
154 int32_t callerUid = 0;
155 int32_t requestCode = 0;
156 uint32_t accessToken = 0;
157 int32_t resultCode = 0;
158 int32_t result = dmsTokenCallback_->SendResult(want, callerUid, requestCode, accessToken, resultCode);
159 EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
160 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_005 end" << std::endl;
161 }
162
163 /**
164 * @tc.name: CheckDeviceIdTest_001
165 * @tc.desc: call CheckDeviceId with empty deviceId
166 * @tc.type: FUNC
167 * @tc.require: I5RWIV
168 */
169 HWTEST_F(DmsTokenCallbackTest, CheckDeviceIdTest_001, TestSize.Level3)
170 {
171 DTEST_LOG << "DmsTokenCallbackTest CheckDeviceIdTest_001 begin" << std::endl;
172 ASSERT_NE(dmsTokenCallback_, nullptr);
173 std::string localDeviceId;
174 std::string remoteDeviceId;
175 bool result = dmsTokenCallback_->CheckDeviceId(localDeviceId, remoteDeviceId);
176 EXPECT_EQ(result, false);
177 DTEST_LOG << "DmsTokenCallbackTest CheckDeviceIdTest_001 end" << std::endl;
178 }
179
180 /**
181 * @tc.name: CheckDeviceIdTest_002
182 * @tc.desc: call CheckDeviceId with same deviceId
183 * @tc.type: FUNC
184 * @tc.require: I5RWIV
185 */
186 HWTEST_F(DmsTokenCallbackTest, CheckDeviceIdTest_002, TestSize.Level3)
187 {
188 DTEST_LOG << "DmsTokenCallbackTest CheckDeviceIdTest_002 begin" << std::endl;
189 ASSERT_NE(dmsTokenCallback_, nullptr);
190 std::string localDeviceId = "1";
191 std::string remoteDeviceId = "1";
192 bool result = dmsTokenCallback_->CheckDeviceId(localDeviceId, remoteDeviceId);
193 EXPECT_EQ(result, false);
194 DTEST_LOG << "DmsTokenCallbackTest CheckDeviceIdTest_002 end" << std::endl;
195 }
196
197 /**
198 * @tc.name: CheckDeviceIdTest_003
199 * @tc.desc: call CheckDeviceId with different deviceId
200 * @tc.type: FUNC
201 * @tc.require: I5RWIV
202 */
203 HWTEST_F(DmsTokenCallbackTest, CheckDeviceIdTest_003, TestSize.Level3)
204 {
205 DTEST_LOG << "DmsTokenCallbackTest CheckDeviceIdTest_003 begin" << std::endl;
206 ASSERT_NE(dmsTokenCallback_, nullptr);
207 std::string localDeviceId = "1";
208 std::string remoteDeviceId = "2";
209 bool result = dmsTokenCallback_->CheckDeviceId(localDeviceId, remoteDeviceId);
210 EXPECT_EQ(result, true);
211 DTEST_LOG << "DmsTokenCallbackTest CheckDeviceIdTest_003 end" << std::endl;
212 }
213
214 /**
215 * @tc.name: GetRemoteDmsTest_001
216 * @tc.desc: call GetRemoteDms with empty deviceId
217 * @tc.type: FUNC
218 * @tc.require: I5RWIV
219 */
220 HWTEST_F(DmsTokenCallbackTest, GetRemoteDmsTest_001, TestSize.Level3)
221 {
222 DTEST_LOG << "DmsTokenCallbackTest GetRemoteDmsTest_001 begin" << std::endl;
223 ASSERT_NE(dmsTokenCallback_, nullptr);
224 std::string remoteDeviceId;
225 sptr<IDistributedSched> result = dmsTokenCallback_->GetRemoteDms(remoteDeviceId);
226 EXPECT_EQ(result, nullptr);
227 DTEST_LOG << "DmsTokenCallbackTest GetRemoteDmsTest_001 end" << std::endl;
228 }
229
230 /**
231 * @tc.name: GetRemoteDmsTest_002
232 * @tc.desc: call GetRemoteDms with invalid deviceId
233 * @tc.type: FUNC
234 * @tc.require: I5RWIV
235 */
236 HWTEST_F(DmsTokenCallbackTest, GetRemoteDmsTest_002, TestSize.Level3)
237 {
238 DTEST_LOG << "DmsTokenCallbackTest GetRemoteDmsTest_002 begin" << std::endl;
239 ASSERT_NE(dmsTokenCallback_, nullptr);
240 std::string remoteDeviceId = "1";
241 sptr<IDistributedSched> result = dmsTokenCallback_->GetRemoteDms(remoteDeviceId);
242 EXPECT_EQ(result, nullptr);
243 DTEST_LOG << "DmsTokenCallbackTest GetRemoteDmsTest_002 end" << std::endl;
244 }
245 }
246 }