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_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 AAFwk::Want want;
66 int32_t callerUid = 0;
67 int32_t requestCode = 0;
68 uint32_t accessToken = 0;
69 int32_t resultCode = 0;
70 DistributedSchedUtil::MockProcess(DISTSCHED_PROCESS_NAME);
71 int32_t result = dmsTokenCallback_->SendResult(want, callerUid, requestCode, accessToken, resultCode);
72 EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
73 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_001 end" << std::endl;
74 }
75
76 /**
77 * @tc.name: SendResultTest_002
78 * @tc.desc: call SendResult from foundation
79 * @tc.type: FUNC
80 * @tc.require: I5RWIV
81 */
82 HWTEST_F(DmsTokenCallbackTest, SendResultTest_002, TestSize.Level3)
83 {
84 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_002 begin" << std::endl;
85 AAFwk::Want want;
86 int32_t callerUid = 0;
87 int32_t requestCode = 0;
88 uint32_t accessToken = 0;
89 int32_t resultCode = 0;
90 int32_t result = dmsTokenCallback_->SendResult(want, callerUid, requestCode, accessToken, resultCode);
91 EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
92 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_002 end" << std::endl;
93 }
94
95 /**
96 * @tc.name: SendResultTest_003
97 * @tc.desc: call SendResult with local device id
98 * @tc.type: FUNC
99 * @tc.require: I5WKCK
100 */
101 HWTEST_F(DmsTokenCallbackTest, SendResultTest_003, TestSize.Level3)
102 {
103 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_003 begin" << std::endl;
104 AAFwk::Want want;
105 string localDeviceId;
106 dmsTokenCallback_->GetLocalDeviceId(localDeviceId);
107 want.SetParam("dmsSrcNetworkId", localDeviceId);
108 int32_t callerUid = 0;
109 int32_t requestCode = 0;
110 uint32_t accessToken = 0;
111 int32_t resultCode = 0;
112 int32_t result = dmsTokenCallback_->SendResult(want, callerUid, requestCode, accessToken, resultCode);
113 EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
114 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_003 end" << std::endl;
115 }
116
117 /**
118 * @tc.name: SendResultTest_004
119 * @tc.desc: call SendResult from invalid process
120 * @tc.type: FUNC
121 * @tc.require: I64FU7
122 */
123 HWTEST_F(DmsTokenCallbackTest, SendResultTest_004, TestSize.Level3)
124 {
125 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_004 begin" << std::endl;
126 AAFwk::Want want;
127 int32_t callerUid = 0;
128 int32_t requestCode = 0;
129 uint32_t accessToken = 0;
130 int32_t resultCode = 0;
131 DistributedSchedUtil::MockProcess(INVALID_PROCESS_NAME);
132 int32_t result = dmsTokenCallback_->SendResult(want, callerUid, requestCode, accessToken, resultCode);
133 EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
134 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_004 end" << std::endl;
135 }
136
137 /**
138 * @tc.name: SendResultTest_005
139 * @tc.desc: call SendResult with remote device id
140 * @tc.type: FUNC
141 * @tc.require: I64FU7
142 */
143 HWTEST_F(DmsTokenCallbackTest, SendResultTest_005, TestSize.Level3)
144 {
145 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_005 begin" << std::endl;
146 AAFwk::Want want;
147 string remoteDeviceId = "remoteDeviceId";
148 want.SetParam("dmsSrcNetworkId", remoteDeviceId);
149 int32_t callerUid = 0;
150 int32_t requestCode = 0;
151 uint32_t accessToken = 0;
152 int32_t resultCode = 0;
153 int32_t result = dmsTokenCallback_->SendResult(want, callerUid, requestCode, accessToken, resultCode);
154 EXPECT_EQ(result, INVALID_PARAMETERS_ERR);
155 DTEST_LOG << "DmsTokenCallbackTest SendResultTest_005 end" << std::endl;
156 }
157
158 /**
159 * @tc.name: CheckDeviceIdTest_001
160 * @tc.desc: call CheckDeviceId with empty deviceId
161 * @tc.type: FUNC
162 * @tc.require: I5RWIV
163 */
164 HWTEST_F(DmsTokenCallbackTest, CheckDeviceIdTest_001, TestSize.Level3)
165 {
166 DTEST_LOG << "DmsTokenCallbackTest CheckDeviceIdTest_001 begin" << std::endl;
167 std::string localDeviceId;
168 std::string remoteDeviceId;
169 bool result = dmsTokenCallback_->CheckDeviceId(localDeviceId, remoteDeviceId);
170 EXPECT_EQ(result, false);
171 DTEST_LOG << "DmsTokenCallbackTest CheckDeviceIdTest_001 end" << std::endl;
172 }
173
174 /**
175 * @tc.name: CheckDeviceIdTest_002
176 * @tc.desc: call CheckDeviceId with same deviceId
177 * @tc.type: FUNC
178 * @tc.require: I5RWIV
179 */
180 HWTEST_F(DmsTokenCallbackTest, CheckDeviceIdTest_002, TestSize.Level3)
181 {
182 DTEST_LOG << "DmsTokenCallbackTest CheckDeviceIdTest_002 begin" << std::endl;
183 std::string localDeviceId = "1";
184 std::string remoteDeviceId = "1";
185 bool result = dmsTokenCallback_->CheckDeviceId(localDeviceId, remoteDeviceId);
186 EXPECT_EQ(result, false);
187 DTEST_LOG << "DmsTokenCallbackTest CheckDeviceIdTest_002 end" << std::endl;
188 }
189
190 /**
191 * @tc.name: CheckDeviceIdTest_003
192 * @tc.desc: call CheckDeviceId with different deviceId
193 * @tc.type: FUNC
194 * @tc.require: I5RWIV
195 */
196 HWTEST_F(DmsTokenCallbackTest, CheckDeviceIdTest_003, TestSize.Level3)
197 {
198 DTEST_LOG << "DmsTokenCallbackTest CheckDeviceIdTest_003 begin" << std::endl;
199 std::string localDeviceId = "1";
200 std::string remoteDeviceId = "2";
201 bool result = dmsTokenCallback_->CheckDeviceId(localDeviceId, remoteDeviceId);
202 EXPECT_EQ(result, true);
203 DTEST_LOG << "DmsTokenCallbackTest CheckDeviceIdTest_003 end" << std::endl;
204 }
205
206 /**
207 * @tc.name: GetRemoteDmsTest_001
208 * @tc.desc: call GetRemoteDms with empty deviceId
209 * @tc.type: FUNC
210 * @tc.require: I5RWIV
211 */
212 HWTEST_F(DmsTokenCallbackTest, GetRemoteDmsTest_001, TestSize.Level3)
213 {
214 DTEST_LOG << "DmsTokenCallbackTest GetRemoteDmsTest_001 begin" << std::endl;
215 std::string remoteDeviceId;
216 sptr<IDistributedSched> result = dmsTokenCallback_->GetRemoteDms(remoteDeviceId);
217 EXPECT_EQ(result, nullptr);
218 DTEST_LOG << "DmsTokenCallbackTest GetRemoteDmsTest_001 end" << std::endl;
219 }
220
221 /**
222 * @tc.name: GetRemoteDmsTest_002
223 * @tc.desc: call GetRemoteDms with invalid deviceId
224 * @tc.type: FUNC
225 * @tc.require: I5RWIV
226 */
227 HWTEST_F(DmsTokenCallbackTest, GetRemoteDmsTest_002, TestSize.Level3)
228 {
229 DTEST_LOG << "DmsTokenCallbackTest GetRemoteDmsTest_002 begin" << std::endl;
230 std::string remoteDeviceId = "1";
231 sptr<IDistributedSched> result = dmsTokenCallback_->GetRemoteDms(remoteDeviceId);
232 EXPECT_EQ(result, nullptr);
233 DTEST_LOG << "DmsTokenCallbackTest GetRemoteDmsTest_002 end" << std::endl;
234 }
235 }
236 }