• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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 "distributed_sched_permission_test.h"
17 
18 #include "distributed_sched_interface.h"
19 #include "distributed_sched_permission.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 string GROUP_ID = "TEST_GROUP_ID";
30 }
31 
SetUpTestCase()32 void DistributedSchedPermissionTest::SetUpTestCase()
33 {
34     DTEST_LOG << "DistributedSchedPermissionTest::SetUpTestCase" << std::endl;
35 }
36 
TearDownTestCase()37 void DistributedSchedPermissionTest::TearDownTestCase()
38 {
39     DTEST_LOG << "DistributedSchedPermissionTest::TearDownTestCase" << std::endl;
40 }
41 
TearDown()42 void DistributedSchedPermissionTest::TearDown()
43 {
44     DTEST_LOG << "DistributedSchedPermissionTest::TearDown" << std::endl;
45 }
46 
SetUp()47 void DistributedSchedPermissionTest::SetUp()
48 {
49     DTEST_LOG << "DistributedSchedPermissionTest::SetUp" << std::endl;
50 }
51 
52 /**
53  * @tc.name: CheckDPermission_001
54  * @tc.desc: input invalid params
55  * @tc.type: FUNC
56  */
57 HWTEST_F(DistributedSchedPermissionTest, CheckDPermission_001, TestSize.Level0)
58 {
59     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_001 begin" << std::endl;
60     AAFwk::Want want;
61     CallerInfo callerInfo;
62     IDistributedSched::AccountInfo accountInfo;
63     accountInfo.accountType = IDistributedSched::DIFF_ACCOUNT_TYPE;
64     AppExecFwk::AbilityInfo abilityInfo;
65     abilityInfo.visible = true;
66     std::string localDeviceId = "255.255.255.255";
67     int32_t ret = DistributedSchedPermission::GetInstance().CheckDPermission(want,
68         callerInfo, accountInfo, abilityInfo, localDeviceId);
69     EXPECT_TRUE(ret != ERR_OK);
70     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_001 end ret:" << ret << std::endl;
71 }
72 
73 /**
74  * @tc.name: CheckDPermission_002
75  * @tc.desc: input invalid params
76  * @tc.type: FUNC
77  */
78 HWTEST_F(DistributedSchedPermissionTest, CheckDPermission_002, TestSize.Level0)
79 {
80     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_002 begin" << std::endl;
81     AAFwk::Want want;
82     CallerInfo callerInfo;
83     IDistributedSched::AccountInfo accountInfo;
84     accountInfo.accountType = IDistributedSched::DIFF_ACCOUNT_TYPE;
85     AppExecFwk::AbilityInfo abilityInfo;
86     abilityInfo.visible = false;
87     std::string localDeviceId = "255.255.255.255";
88     int32_t ret = DistributedSchedPermission::GetInstance().CheckDPermission(want,
89         callerInfo, accountInfo, abilityInfo, localDeviceId);
90     EXPECT_TRUE(ret != ERR_OK);
91     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_002 end ret:" << ret << std::endl;
92 }
93 
94 /**
95  * @tc.name: CheckDPermission_003
96  * @tc.desc: input invalid params
97  * @tc.type: FUNC
98  */
99 HWTEST_F(DistributedSchedPermissionTest, CheckDPermission_003, TestSize.Level0)
100 {
101     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_003 begin" << std::endl;
102     AAFwk::Want want;
103     CallerInfo callerInfo;
104     IDistributedSched::AccountInfo accountInfo;
105     accountInfo.accountType = IDistributedSched::DIFF_ACCOUNT_TYPE;
106     AppExecFwk::AbilityInfo abilityInfo;
107     abilityInfo.visible = true;
108     std::string localDeviceId = "";
109     int32_t ret = DistributedSchedPermission::GetInstance().CheckDPermission(want,
110         callerInfo, accountInfo, abilityInfo, localDeviceId);
111     EXPECT_TRUE(ret == INVALID_PARAMETERS_ERR);
112     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_003 end ret:" << ret << std::endl;
113 }
114 
115 /**
116  * @tc.name: CheckDPermission_004
117  * @tc.desc: input invalid params
118  * @tc.type: FUNC
119  */
120 HWTEST_F(DistributedSchedPermissionTest, CheckDPermission_004, TestSize.Level0)
121 {
122     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_004 begin" << std::endl;
123     AAFwk::Want want;
124     CallerInfo callerInfo;
125     IDistributedSched::AccountInfo accountInfo;
126     accountInfo.accountType = IDistributedSched::DIFF_ACCOUNT_TYPE;
127     AppExecFwk::AbilityInfo abilityInfo;
128     abilityInfo.visible = false;
129     std::string localDeviceId = "";
130     int32_t ret = DistributedSchedPermission::GetInstance().CheckDPermission(want,
131         callerInfo, accountInfo, abilityInfo, localDeviceId);
132     EXPECT_TRUE(ret == INVALID_PARAMETERS_ERR);
133     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_004 end ret:" << ret << std::endl;
134 }
135 
136 /**
137  * @tc.name: CheckDPermission_005
138  * @tc.desc: call CheckDPermission with illegal parameter
139  * @tc.type: FUNC
140  * @tc.require: SR000GK79C
141  */
142 HWTEST_F(DistributedSchedPermissionTest, CheckDPermission_005, TestSize.Level0)
143 {
144     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_005 begin" << std::endl;
145     AAFwk::Want want;
146     CallerInfo callerInfo;
147     callerInfo.accessToken = 0;
148     IDistributedSched::AccountInfo accountInfo;
149     AppExecFwk::AbilityInfo abilityInfo;
150     std::string localDeviceId = "255.255.255.255";
151     int32_t ret = DistributedSchedPermission::GetInstance().CheckDPermission(want, callerInfo, accountInfo, abilityInfo,
152         localDeviceId);
153     EXPECT_TRUE(ret != ERR_OK);
154     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_005 end result:" << ret << std::endl;
155 }
156 
157 /**
158  * @tc.name: CheckDPermission_006
159  * @tc.desc: call CheckDPermission with different account type
160  * @tc.type: FUNC
161  * @tc.require: AR000GK79E
162  */
163 HWTEST_F(DistributedSchedPermissionTest, CheckDPermission_006, TestSize.Level1)
164 {
165     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_006 begin" << std::endl;
166     AAFwk::Want want;
167     CallerInfo callerInfo;
168     callerInfo.accessToken = 0;
169     IDistributedSched::AccountInfo accountInfo;
170     accountInfo.accountType = IDistributedSched::DIFF_ACCOUNT_TYPE;
171     AppExecFwk::AbilityInfo abilityInfo;
172     string localDeviceId = "255.255.255.255";
173     int32_t ret = DistributedSchedPermission::GetInstance().CheckDPermission(want, callerInfo, accountInfo, abilityInfo,
174         localDeviceId);
175     EXPECT_TRUE(ret != ERR_OK);
176     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_006 end result:" << ret << std::endl;
177 }
178 
179 /**
180  * @tc.name: CheckDPermission_007
181  * @tc.desc: call CheckDPermission with illegal ability info
182  * @tc.type: FUNC
183  * @tc.require: AR000GK79E
184  */
185 HWTEST_F(DistributedSchedPermissionTest, CheckDPermission_007, TestSize.Level1)
186 {
187     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_007 begin" << std::endl;
188     AAFwk::Want want;
189     CallerInfo callerInfo;
190     callerInfo.accessToken = 0;
191     IDistributedSched::AccountInfo accountInfo;
192     AppExecFwk::AbilityInfo abilityInfo;
193     abilityInfo.visible = true;
194     string localDeviceId = "255.255.255.255";
195     int32_t ret = DistributedSchedPermission::GetInstance().CheckDPermission(want, callerInfo, accountInfo, abilityInfo,
196         localDeviceId);
197     EXPECT_TRUE(ret != ERR_OK);
198     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_007 end result:" << ret << std::endl;
199 }
200 
201 /**
202  * @tc.name: CheckDPermission_008
203  * @tc.desc: call CheckDPermission with same account type
204  * @tc.type: FUNC
205  * @tc.require: SR000H1FJV
206  */
207 HWTEST_F(DistributedSchedPermissionTest, CheckDPermission_008, TestSize.Level0)
208 {
209     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_008 begin" << std::endl;
210     AAFwk::Want want;
211     CallerInfo callerInfo;
212     callerInfo.accessToken = 0;
213     IDistributedSched::AccountInfo accountInfo;
214     accountInfo.accountType = IDistributedSched::SAME_ACCOUNT_TYPE;
215     AppExecFwk::AbilityInfo abilityInfo;
216     string localDeviceId = "255.255.255.255";
217     int32_t ret = DistributedSchedPermission::GetInstance().CheckDPermission(want, callerInfo, accountInfo, abilityInfo,
218         localDeviceId);
219     EXPECT_TRUE(ret != ERR_OK);
220     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_008 end result:" << ret << std::endl;
221 }
222 
223 /**
224  * @tc.name: CheckDPermission_009
225  * @tc.desc: call CheckDPermission with illegal account info
226  * @tc.type: FUNC
227  * @tc.require: AR000H1RID
228  */
229 HWTEST_F(DistributedSchedPermissionTest, CheckDPermission_009, TestSize.Level1)
230 {
231     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_009 begin" << std::endl;
232     AAFwk::Want want;
233     CallerInfo callerInfo;
234     callerInfo.accessToken = 0;
235     IDistributedSched::AccountInfo accountInfo;
236     accountInfo.accountType = IDistributedSched::DIFF_ACCOUNT_TYPE;
237     std::string groupId = GROUP_ID;
238     accountInfo.groupIdList.push_back(groupId);
239     AppExecFwk::AbilityInfo abilityInfo;
240     abilityInfo.visible = true;
241     string localDeviceId = "255.255.255.255";
242     int32_t ret = DistributedSchedPermission::GetInstance().CheckDPermission(want, callerInfo, accountInfo, abilityInfo,
243         localDeviceId);
244     EXPECT_TRUE(ret != ERR_OK);
245     DTEST_LOG << "DistributedSchedPermissionTest CheckDPermission_009 end result:" << ret << std::endl;
246 }
247 } // namespace DistributedSchedule
248 } // namespace OHOS