• 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 private public
19 #include "ability_manager_service.h"
20 #include "user_controller.h"
21 #undef private
22 using namespace testing;
23 using namespace testing::ext;
24 
25 namespace OHOS {
26 namespace AAFwk {
27 class UserControllerTest : public testing::Test {
28 public:
29     static void SetUpTestCase();
30     static void TearDownTestCase();
31     void SetUp() override;
32     void TearDown() override;
33 };
34 
SetUpTestCase()35 void UserControllerTest::SetUpTestCase()
36 {
37     auto abilityMs = OHOS::DelayedSingleton<AbilityManagerService>::GetInstance();
38     abilityMs->amsConfigResolver_ = std::make_shared<AmsConfigurationParameter>();
39     abilityMs->amsConfigResolver_->Parse();
40 }
41 
TearDownTestCase()42 void UserControllerTest::TearDownTestCase()
43 {}
44 
SetUp()45 void UserControllerTest::SetUp()
46 {}
47 
TearDown()48 void UserControllerTest::TearDown()
49 {}
50 
51 /**
52  * @tc.name: UserItemSetState_0100
53  * @tc.desc: UserItemSetState Test
54  * @tc.type: FUNC
55  * @tc.require: issueI581SE
56  */
57 HWTEST_F(UserControllerTest, UserItemSetState_0100, TestSize.Level0)
58 {
59     UserItem item(100);
60     item.SetState(UserState::STATE_BOOTING);
61     EXPECT_TRUE(item.GetState() == UserState::STATE_BOOTING);
62 
63     item.SetState(UserState::STATE_STARTED);
64     EXPECT_TRUE(item.GetState() == UserState::STATE_STARTED);
65 }
66 
67 /**
68  * @tc.name: StartUserTest_0100
69  * @tc.desc: StartUser Test
70  * @tc.type: FUNC
71  * @tc.require: issueI581SE
72  */
73 HWTEST_F(UserControllerTest, StartUserTest_0100, TestSize.Level0)
74 {
75     UserController userController;
76     userController.StartUser(0, true);
77     userController.StartUser(-1, true);
78     userController.StartUser(100, true);
79     EXPECT_TRUE(userController.StartUser(100, true) == 0);
80 }
81 
82 /**
83  * @tc.name: StartUserTest_0200
84  * @tc.desc: StartUser Test
85  * @tc.type: FUNC
86  * @tc.require: issueI581SE
87  */
88 HWTEST_F(UserControllerTest, StartUserTest_0200, TestSize.Level0)
89 {
90     UserController userController;
91     EXPECT_TRUE(userController.StartUser(666, true) == -1);
92 }
93 
94 /**
95  * @tc.name: StopUserTest_0100
96  * @tc.desc: StopUser Test
97  * @tc.type: FUNC
98  * @tc.require: issueI581SE
99  */
100 HWTEST_F(UserControllerTest, StopUserTest_0100, TestSize.Level0)
101 {
102     UserController userController;
103     userController.StopUser(-1);
104     userController.StopUser(0);
105     EXPECT_TRUE(userController.StopUser(100) == -1);
106 }
107 
108 /**
109  * @tc.name: StopUserTest_0200
110  * @tc.desc: StopUser Test
111  * @tc.type: FUNC
112  * @tc.require: issueI581SE
113  */
114 HWTEST_F(UserControllerTest, StopUserTest_0200, TestSize.Level0)
115 {
116     UserController userController;
117     EXPECT_TRUE(userController.StopUser(666) == -1);
118 }
119 
120 /**
121  * @tc.name: StopUserTest_0300
122  * @tc.desc: StopUser Test
123  * @tc.type: FUNC
124  * @tc.require: issueI581SE
125  */
126 HWTEST_F(UserControllerTest, StopUserTest_0300, TestSize.Level0)
127 {
128     UserController userController;
129     userController.GetOrCreateUserItem(1000);
130     userController.StopUser(1000);
131     EXPECT_TRUE(true);
132 }
133 
134 /**
135  * @tc.name: HandleContinueUserSwitchTest_0100
136  * @tc.desc: HandleContinueUserSwitch Test
137  * @tc.type: FUNC
138  * @tc.require: issueI581SE
139  */
140 HWTEST_F(UserControllerTest, HandleContinueUserSwitchTest_0100, TestSize.Level0)
141 {
142     UserController userController;
143     auto userItem = std::make_shared<UserItem>(1000);
144     userController.HandleContinueUserSwitch(1000, 1000, userItem);
145     EXPECT_TRUE(true);
146 }
147 
148 /**
149  * @tc.name: SendUserSwitchDoneTest_0100
150  * @tc.desc: SendUserSwitchDone Test
151  * @tc.type: FUNC
152  * @tc.require: issueI581SE
153  */
154 HWTEST_F(UserControllerTest, SendUserSwitchDoneTest_0100, TestSize.Level0)
155 {
156     UserController userController;
157     userController.SendUserSwitchDone(1000);
158     userController.Init();
159     userController.SendUserSwitchDone(1001);
160     EXPECT_TRUE(true);
161 }
162 
163 /**
164  * @tc.name: SendContinueUserSwitchTest_0200
165  * @tc.desc: SendContinueUserSwitch Test
166  * @tc.type: FUNC
167  * @tc.require: issueI581SE
168  */
169 HWTEST_F(UserControllerTest, SendContinueUserSwitchTest_0200, TestSize.Level0)
170 {
171     UserController userController;
172     auto userItem = std::make_shared<UserItem>(1000);
173     userController.SendContinueUserSwitch(1000, 1000, userItem);
174     userController.Init();
175     userController.SendContinueUserSwitch(1000, 1000, userItem);
176     EXPECT_TRUE(true);
177 }
178 
179 /**
180  * @tc.name: SendUserSwitchTimeoutTest_0100
181  * @tc.desc: SendUserSwitchTimeout Test
182  * @tc.type: FUNC
183  * @tc.require: issueI581SE
184  */
185 HWTEST_F(UserControllerTest, SendUserSwitchTimeoutTest_0100, TestSize.Level0)
186 {
187     UserController userController;
188     auto userItem = std::make_shared<UserItem>(1000);
189     userController.SendUserSwitchTimeout(1000, 1000, userItem);
190     userController.Init();
191     userController.SendUserSwitchTimeout(1000, 1000, userItem);
192     EXPECT_TRUE(true);
193 }
194 
195 /**
196  * @tc.name: SendReportUserSwitchTest_0100
197  * @tc.desc: SendReportUserSwitch Test
198  * @tc.type: FUNC
199  * @tc.require: issueI581SE
200  */
201 HWTEST_F(UserControllerTest, SendReportUserSwitchTest_0100, TestSize.Level0)
202 {
203     UserController userController;
204     auto userItem = std::make_shared<UserItem>(1000);
205     userController.SendReportUserSwitch(1000, 1000, userItem);
206     userController.Init();
207     userController.SendReportUserSwitch(1000, 1000, userItem);
208     EXPECT_TRUE(true);
209 }
210 
211 /**
212  * @tc.name: SendSystemUserCurrentTest_0100
213  * @tc.desc: SendSystemUserCurrent Test
214  * @tc.type: FUNC
215  * @tc.require: issueI581SE
216  */
217 HWTEST_F(UserControllerTest, SendSystemUserCurrentTest_0100, TestSize.Level0)
218 {
219     UserController userController;
220     userController.SendSystemUserCurrent(1000, 1000);
221     userController.Init();
222     userController.SendSystemUserCurrent(1000, 1000);
223     EXPECT_TRUE(true);
224 }
225 
226 /**
227  * @tc.name: SendSystemUserStartTest_0100
228  * @tc.desc: SendSystemUserStart Test
229  * @tc.type: FUNC
230  * @tc.require: issueI581SE
231  */
232 HWTEST_F(UserControllerTest, SendSystemUserStartTest_0100, TestSize.Level0)
233 {
234     UserController userController;
235     userController.SendSystemUserStart(1000);
236     userController.Init();
237     userController.SendSystemUserStart(1000);
238     EXPECT_TRUE(true);
239 }
240 }  // namespace AAFwk
241 }  // namespace OHOS
242