• 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 "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 }