• 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 <gtest/gtest.h>
17 
18 #define protected public
19 #include "ability_command.h"
20 #undef protected
21 #include "mock_ability_manager_stub.h"
22 #define private public
23 #include "ability_manager_client.h"
24 #undef private
25 #include "ability_manager_interface.h"
26 
27 using namespace testing::ext;
28 using namespace OHOS;
29 using namespace OHOS::AAFwk;
30 
31 namespace {
32 const std::string STRING_USER_ID = "100";
33 const std::string UNKNOWN_OPTION_MSG = "error: unknown option.\n";
34 }  // namespace
35 
36 class AaCommandDumpsysTest : public ::testing::Test {
37 public:
38     static void SetUpTestCase();
39     static void TearDownTestCase();
40     void SetUp() override;
41     void TearDown() override;
42 
43     void MakeMockObjects() const;
44 
45     std::string cmd_ = "dump";
46 };
47 
SetUpTestCase()48 void AaCommandDumpsysTest::SetUpTestCase()
49 {}
50 
TearDownTestCase()51 void AaCommandDumpsysTest::TearDownTestCase()
52 {}
53 
SetUp()54 void AaCommandDumpsysTest::SetUp()
55 {
56     // reset optind to 0
57     optind = 0;
58 
59     // make mock objects
60     MakeMockObjects();
61 }
62 
TearDown()63 void AaCommandDumpsysTest::TearDown()
64 {}
65 
MakeMockObjects() const66 void AaCommandDumpsysTest::MakeMockObjects() const
67 {
68     // mock a stub
69     auto managerStubPtr = sptr<IAbilityManager>(new MockAbilityManagerStub());
70 
71     // set the mock stub
72     auto managerClientPtr = AbilityManagerClient::GetInstance();
73     managerClientPtr->proxy_ = managerStubPtr;
74 }
75 
76 /**
77  * @tc.number: Aa_Command_Dumpsys_0100
78  * @tc.name: ExecCommand
79  * @tc.desc: Verify the "aa dump" command.
80  * @tc.require: SR000GH1GO
81  */
82 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_0100, Function | MediumTest | Level1)
83 {
84     char *argv[] = {
85         (char *)TOOL_NAME.c_str(),
86         (char *)cmd_.c_str(),
87         (char *)"",
88     };
89     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
90 
91     AbilityManagerShellCommand cmd(argc, argv);
92     EXPECT_EQ(cmd.ExecCommand(), HELP_MSG_NO_OPTION + "\n" + HELP_MSG_DUMPSYS);
93 }
94 
95 /**
96  * @tc.number: Aa_Command_Dumpsys_0200
97  * @tc.name: ExecCommand
98  * @tc.desc: Verify the "aa dump xxx" command.
99  * @tc.require: SR000GH1GO
100  */
101 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_0200, Function | MediumTest | Level1)
102 {
103     char *argv[] = {
104         (char *)TOOL_NAME.c_str(),
105         (char *)cmd_.c_str(),
106         (char *)"xxx",
107         (char *)"",
108     };
109     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
110 
111     AbilityManagerShellCommand cmd(argc, argv);
112     EXPECT_EQ(cmd.ExecCommand(), HELP_MSG_NO_OPTION + "\n" + HELP_MSG_DUMPSYS);
113 }
114 
115 /**
116  * @tc.number: Aa_Command_Dumpsys_0300
117  * @tc.name: ExecCommand
118  * @tc.desc: Verify the "aa dump -x" command.
119  * @tc.require: SR000GH1GO
120  */
121 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_0300, Function | MediumTest | Level1)
122 {
123     char *argv[] = {
124         (char *)TOOL_NAME.c_str(),
125         (char *)cmd_.c_str(),
126         (char *)"-x",
127         (char *)"",
128     };
129     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
130 
131     AbilityManagerShellCommand cmd(argc, argv);
132     EXPECT_EQ(cmd.ExecCommand(), UNKNOWN_OPTION_MSG + HELP_MSG_DUMPSYS);
133 }
134 
135 /**
136  * @tc.number: Aa_Command_Dumpsys_0400
137  * @tc.name: ExecCommand
138  * @tc.desc: Verify the "aa dump -xxx" command.
139  * @tc.require: SR000GH1GO
140  */
141 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_0400, Function | MediumTest | Level1)
142 {
143     char *argv[] = {
144         (char *)TOOL_NAME.c_str(),
145         (char *)cmd_.c_str(),
146         (char *)"-xxx",
147         (char *)"",
148     };
149     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
150 
151     AbilityManagerShellCommand cmd(argc, argv);
152     EXPECT_EQ(cmd.ExecCommand(), UNKNOWN_OPTION_MSG + HELP_MSG_DUMPSYS);
153 }
154 
155 /**
156  * @tc.number: Aa_Command_Dumpsys_0500
157  * @tc.name: ExecCommand
158  * @tc.desc: Verify the "aa dump --x" command.
159  * @tc.require: SR000GH1GO
160  */
161 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_0500, Function | MediumTest | Level1)
162 {
163     char *argv[] = {
164         (char *)TOOL_NAME.c_str(),
165         (char *)cmd_.c_str(),
166         (char *)"--x",
167         (char *)"",
168     };
169     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
170 
171     AbilityManagerShellCommand cmd(argc, argv);
172     EXPECT_EQ(cmd.ExecCommand(), UNKNOWN_OPTION_MSG + HELP_MSG_DUMPSYS);
173 }
174 
175 /**
176  * @tc.number: Aa_Command_Dumpsys_0600
177  * @tc.name: ExecCommand
178  * @tc.desc: Verify the "aa dump --xxx" command.
179  * @tc.require: SR000GH1GO
180  */
181 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_0600, Function | MediumTest | Level1)
182 {
183     char *argv[] = {
184         (char *)TOOL_NAME.c_str(),
185         (char *)cmd_.c_str(),
186         (char *)"--xxx",
187         (char *)"",
188     };
189     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
190 
191     AbilityManagerShellCommand cmd(argc, argv);
192     EXPECT_EQ(cmd.ExecCommand(), UNKNOWN_OPTION_MSG + HELP_MSG_DUMPSYS);
193 }
194 
195 /**
196  * @tc.number: Aa_Command_Dumpsys_0700
197  * @tc.name: ExecCommand
198  * @tc.desc: Verify the "aa dump -h" command.
199  * @tc.require: SR000GH1GO
200  */
201 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_0700, Function | MediumTest | Level1)
202 {
203     char *argv[] = {
204         (char *)TOOL_NAME.c_str(),
205         (char *)cmd_.c_str(),
206         (char *)"-h",
207         (char *)"",
208     };
209     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
210 
211     AbilityManagerShellCommand cmd(argc, argv);
212     EXPECT_EQ(cmd.ExecCommand(), HELP_MSG_DUMPSYS);
213 }
214 
215 /**
216  * @tc.number: Aa_Command_Dumpsys_0800
217  * @tc.name: ExecCommand
218  * @tc.desc: Verify the "aa dump --help" command.
219  * @tc.require: SR000GH1GO
220  */
221 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_0800, Function | MediumTest | Level1)
222 {
223     char *argv[] = {
224         (char *)TOOL_NAME.c_str(),
225         (char *)cmd_.c_str(),
226         (char *)"--help",
227         (char *)"",
228     };
229     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
230 
231     AbilityManagerShellCommand cmd(argc, argv);
232     EXPECT_EQ(cmd.ExecCommand(), HELP_MSG_DUMPSYS);
233 }
234 
235 /**
236  * @tc.number: Aa_Command_Dumpsys_0900
237  * @tc.name: ExecCommand
238  * @tc.desc: Verify the "aa dump -a" command.
239  * @tc.require: SR000GH1GO
240  */
241 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_0900, Function | MediumTest | Level1)
242 {
243     char *argv[] = {
244         (char *)TOOL_NAME.c_str(),
245         (char *)cmd_.c_str(),
246         (char *)"-a",
247         (char *)"",
248     };
249     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
250 
251     AbilityManagerShellCommand cmd(argc, argv);
252     EXPECT_EQ(cmd.ExecCommand(), "");
253 }
254 
255 /**
256  * @tc.number: Aa_Command_Dumpsys_1000
257  * @tc.name: ExecCommand
258  * @tc.desc: Verify the "aa dump --all" command.
259  * @tc.require: SR000GH1GO
260  */
261 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_1000, Function | MediumTest | Level1)
262 {
263     char *argv[] = {
264         (char *)TOOL_NAME.c_str(),
265         (char *)cmd_.c_str(),
266         (char *)"--all",
267         (char *)"",
268     };
269     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
270 
271     AbilityManagerShellCommand cmd(argc, argv);
272     EXPECT_EQ(cmd.ExecCommand(), "");
273 }
274 
275 /**
276  * @tc.number: Aa_Command_Dumpsys_1100
277  * @tc.name: ExecCommand
278  * @tc.desc: Verify the "aa dump -l" command.
279  * @tc.require: SR000GH1GO
280  */
281 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_1100, Function | MediumTest | Level1)
282 {
283     char *argv[] = {
284         (char *)TOOL_NAME.c_str(),
285         (char *)cmd_.c_str(),
286         (char *)"-l",
287         (char *)"",
288     };
289     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
290 
291     AbilityManagerShellCommand cmd(argc, argv);
292     EXPECT_EQ(cmd.ExecCommand(), "");
293 }
294 
295 /**
296  * @tc.number: Aa_Command_Dumpsys_1200
297  * @tc.name: ExecCommand
298  * @tc.desc: Verify the "aa dump --mission-list" command.
299  * @tc.require: SR000GH1GO
300  */
301 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_1200, Function | MediumTest | Level1)
302 {
303     char *argv[] = {
304         (char *)TOOL_NAME.c_str(),
305         (char *)cmd_.c_str(),
306         (char *)"--mission-list",
307         (char *)"",
308     };
309     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
310 
311     AbilityManagerShellCommand cmd(argc, argv);
312     EXPECT_EQ(cmd.ExecCommand(), "");
313 }
314 
315 /**
316  * @tc.number: Aa_Command_Dumpsys_1300
317  * @tc.name: ExecCommand
318  * @tc.desc: Verify the "aa dump -i" command.
319  * @tc.require: SR000GH1GO
320  */
321 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_1300, Function | MediumTest | Level1)
322 {
323     char *argv[] = {
324         (char *)TOOL_NAME.c_str(),
325         (char *)cmd_.c_str(),
326         (char *)"-i",
327         (char *)"",
328     };
329     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
330 
331     AbilityManagerShellCommand cmd(argc, argv);
332     EXPECT_EQ(cmd.ExecCommand(), UNKNOWN_OPTION_MSG + HELP_MSG_DUMPSYS);
333 }
334 
335 /**
336  * @tc.number: Aa_Command_Dumpsys_1400
337  * @tc.name: ExecCommand
338  * @tc.desc: Verify the "aa dump --ability" command.
339  * @tc.require: SR000GH1GO
340  */
341 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_1400, Function | MediumTest | Level1)
342 {
343     char *argv[] = {
344         (char *)TOOL_NAME.c_str(),
345         (char *)cmd_.c_str(),
346         (char *)"--ability",
347         (char *)"",
348     };
349     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
350 
351     AbilityManagerShellCommand cmd(argc, argv);
352     EXPECT_EQ(cmd.ExecCommand(), HELP_MSG_DUMPSYS);
353 }
354 
355 /**
356  * @tc.number: Aa_Command_Dumpsys_1500
357  * @tc.name: ExecCommand
358  * @tc.desc: Verify the "aa dump -e" command.
359  * @tc.require: SR000GH1GO
360  */
361 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_1500, Function | MediumTest | Level1)
362 {
363     char *argv[] = {
364         (char *)TOOL_NAME.c_str(),
365         (char *)cmd_.c_str(),
366         (char *)"-e",
367         (char *)"",
368     };
369     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
370 
371     AbilityManagerShellCommand cmd(argc, argv);
372     EXPECT_EQ(cmd.ExecCommand(), "");
373 }
374 
375 /**
376  * @tc.number: Aa_Command_Dumpsys_1600
377  * @tc.name: ExecCommand
378  * @tc.desc: Verify the "aa dump --extension" command.
379  * @tc.require: SR000GH1GO
380  */
381 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_1600, Function | MediumTest | Level1)
382 {
383     char *argv[] = {
384         (char *)TOOL_NAME.c_str(),
385         (char *)cmd_.c_str(),
386         (char *)"--extension",
387         (char *)"",
388     };
389     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
390 
391     AbilityManagerShellCommand cmd(argc, argv);
392     EXPECT_EQ(cmd.ExecCommand(), "");
393 }
394 
395 /**
396  * @tc.number: Aa_Command_Dumpsys_1700
397  * @tc.name: ExecCommand
398  * @tc.desc: Verify the "aa dump -p" command.
399  * @tc.require: SR000GH1GO
400  */
401 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_1700, Function | MediumTest | Level1)
402 {
403     char *argv[] = {
404         (char *)TOOL_NAME.c_str(),
405         (char *)cmd_.c_str(),
406         (char *)"-p",
407         (char *)"",
408     };
409     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
410 
411     AbilityManagerShellCommand cmd(argc, argv);
412     EXPECT_EQ(cmd.ExecCommand(), "");
413 }
414 
415 /**
416  * @tc.number: Aa_Command_Dumpsys_1800
417  * @tc.name: ExecCommand
418  * @tc.desc: Verify the "aa dump --pending" command.
419  * @tc.require: SR000GH1GO
420  */
421 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_1800, Function | MediumTest | Level1)
422 {
423     char *argv[] = {
424         (char *)TOOL_NAME.c_str(),
425         (char *)cmd_.c_str(),
426         (char *)"--pending",
427         (char *)"",
428     };
429     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
430 
431     AbilityManagerShellCommand cmd(argc, argv);
432     EXPECT_EQ(cmd.ExecCommand(), "");
433 }
434 
435 /**
436  * @tc.number: Aa_Command_Dumpsys_1900
437  * @tc.name: ExecCommand
438  * @tc.desc: Verify the "aa dump -r" command.
439  * @tc.require: SR000GH1GO
440  */
441 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_1900, Function | MediumTest | Level1)
442 {
443     char *argv[] = {
444         (char *)TOOL_NAME.c_str(),
445         (char *)cmd_.c_str(),
446         (char *)"-r",
447         (char *)"",
448     };
449     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
450 
451     AbilityManagerShellCommand cmd(argc, argv);
452     EXPECT_EQ(cmd.ExecCommand(), "");
453 }
454 
455 /**
456  * @tc.number: Aa_Command_Dumpsys_2000
457  * @tc.name: ExecCommand
458  * @tc.desc: Verify the "aa dump --process" command.
459  * @tc.require: SR000GH1GO
460  */
461 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_2000, Function | MediumTest | Level1)
462 {
463     char *argv[] = {
464         (char *)TOOL_NAME.c_str(),
465         (char *)cmd_.c_str(),
466         (char *)"--process",
467         (char *)"",
468     };
469     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
470 
471     AbilityManagerShellCommand cmd(argc, argv);
472     EXPECT_EQ(cmd.ExecCommand(), "");
473 }
474 
475 /**
476  * @tc.number: Aa_Command_Dumpsys_2100
477  * @tc.name: ExecCommand
478  * @tc.desc: Verify the "aa dump -d" command.
479  * @tc.require: SR000GH1GO
480  */
481 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_2100, Function | MediumTest | Level1)
482 {
483     char *argv[] = {
484         (char *)TOOL_NAME.c_str(),
485         (char *)cmd_.c_str(),
486         (char *)"-d",
487         (char *)"",
488     };
489     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
490 
491     AbilityManagerShellCommand cmd(argc, argv);
492     EXPECT_EQ(cmd.ExecCommand(), "");
493 }
494 
495 /**
496  * @tc.number: Aa_Command_Dumpsys_2200
497  * @tc.name: ExecCommand
498  * @tc.desc: Verify the "aa dump --data" command.
499  * @tc.require: SR000GH1GO
500  */
501 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_2200, Function | MediumTest | Level1)
502 {
503     char *argv[] = {
504         (char *)TOOL_NAME.c_str(),
505         (char *)cmd_.c_str(),
506         (char *)"--data",
507         (char *)"",
508     };
509     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
510 
511     AbilityManagerShellCommand cmd(argc, argv);
512     EXPECT_EQ(cmd.ExecCommand(), "");
513 }
514 
515 /**
516  * @tc.number: Aa_Command_Dumpsys_2300
517  * @tc.name: ExecCommand
518  * @tc.desc: Verify the "aa dump -u" command.
519  * @tc.require: SR000GH1GO
520  */
521 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_2300, Function | MediumTest | Level1)
522 {
523     char *argv[] = {
524         (char *)TOOL_NAME.c_str(),
525         (char *)cmd_.c_str(),
526         (char *)"-u",
527         (char *)"",
528     };
529     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
530 
531     AbilityManagerShellCommand cmd(argc, argv);
532     EXPECT_EQ(cmd.ExecCommand(), HELP_MSG_DUMPSYS);
533 }
534 
535 /**
536  * @tc.number: Aa_Command_Dumpsys_2400
537  * @tc.name: ExecCommand
538  * @tc.desc: Verify the "aa dump --userId" command.
539  * @tc.require: SR000GH1GO
540  */
541 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_2400, Function | MediumTest | Level1)
542 {
543     char *argv[] = {
544         (char *)TOOL_NAME.c_str(),
545         (char *)cmd_.c_str(),
546         (char *)"--userId",
547         (char *)"",
548     };
549     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
550 
551     AbilityManagerShellCommand cmd(argc, argv);
552     EXPECT_EQ(cmd.ExecCommand(), HELP_MSG_DUMPSYS);
553 }
554 
555 /**
556  * @tc.number: Aa_Command_Dumpsys_2500
557  * @tc.name: ExecCommand
558  * @tc.desc: Verify the "aa dump -c" command.
559  * @tc.require: SR000GH1GO
560  */
561 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_2500, Function | MediumTest | Level1)
562 {
563     char *argv[] = {
564         (char *)TOOL_NAME.c_str(),
565         (char *)cmd_.c_str(),
566         (char *)"-c",
567         (char *)"",
568     };
569     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
570 
571     AbilityManagerShellCommand cmd(argc, argv);
572     EXPECT_EQ(cmd.ExecCommand(), HELP_MSG_NO_OPTION + "\n" + HELP_MSG_DUMPSYS);
573 }
574 
575 /**
576  * @tc.number: Aa_Command_Dumpsys_2600
577  * @tc.name: ExecCommand
578  * @tc.desc: Verify the "aa dump --client" command.
579  * @tc.require: SR000GH1GO
580  */
581 HWTEST_F(AaCommandDumpsysTest, Aa_Command_Dumpsys_2600, Function | MediumTest | Level1)
582 {
583     char *argv[] = {
584         (char *)TOOL_NAME.c_str(),
585         (char *)cmd_.c_str(),
586         (char *)"--client",
587         (char *)"",
588     };
589     int argc = sizeof(argv) / sizeof(argv[0]) - 1;
590 
591     AbilityManagerShellCommand cmd(argc, argv);
592     EXPECT_EQ(cmd.ExecCommand(), HELP_MSG_NO_OPTION + "\n" + HELP_MSG_DUMPSYS);
593 }
594