• 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 #include "scene_board_judgement.h"
23 using namespace testing;
24 using namespace testing::ext;
25 
26 namespace OHOS {
27 namespace AAFwk {
28 class UserControllerTest : public testing::Test {
29 public:
30     static void SetUpTestCase();
31     static void TearDownTestCase();
32     void SetUp() override;
33     void TearDown() override;
34 };
35 
SetUpTestCase()36 void UserControllerTest::SetUpTestCase()
37 {
38     auto abilityMs = OHOS::DelayedSingleton<AbilityManagerService>::GetInstance();
39     AmsConfigurationParameter::GetInstance().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.GetOrCreateUserItem(1000);
77     userController.SetCurrentUserId(1000);
78     EXPECT_TRUE(userController.StartUser(1000, true) == 0);
79 }
80 
81 /**
82  * @tc.name: StartUserTest_0200
83  * @tc.desc: StartUser Test
84  * @tc.type: FUNC
85  * @tc.require: issueI581SE
86  */
87 HWTEST_F(UserControllerTest, StartUserTest_0200, TestSize.Level0)
88 {
89     UserController userController;
90     EXPECT_TRUE(userController.StartUser(666, true) == -1);
91 }
92 
93 /**
94  * @tc.name: StopUserTest_0100
95  * @tc.desc: StopUser Test
96  * @tc.type: FUNC
97  * @tc.require: issueI581SE
98  */
99 HWTEST_F(UserControllerTest, StopUserTest_0100, TestSize.Level0)
100 {
101     UserController userController;
102     userController.StopUser(-1);
103     userController.StopUser(0);
104     EXPECT_TRUE(userController.StopUser(100) == -1);
105 }
106 
107 /**
108  * @tc.name: StopUserTest_0200
109  * @tc.desc: StopUser Test
110  * @tc.type: FUNC
111  * @tc.require: issueI581SE
112  */
113 HWTEST_F(UserControllerTest, StopUserTest_0200, TestSize.Level0)
114 {
115     UserController userController;
116     EXPECT_TRUE(userController.StopUser(666) == -1);
117 }
118 
119 /**
120  * @tc.name: StopUserTest_0300
121  * @tc.desc: StopUser Test
122  * @tc.type: FUNC
123  * @tc.require: issueI581SE
124  */
125 HWTEST_F(UserControllerTest, StopUserTest_0300, TestSize.Level0)
126 {
127     UserController userController;
128     userController.GetOrCreateUserItem(1000);
129     auto result = userController.StopUser(1000);
130     EXPECT_TRUE(result = 1000);
131 }
132 
133 /**
134  * @tc.name: LogoutUserTest_0100
135  * @tc.desc: LogoutUser Test
136  * @tc.type: FUNC
137  * @tc.require: issueI581SE
138  */
139 HWTEST_F(UserControllerTest, LogoutUserTest_0100, TestSize.Level0)
140 {
141     UserController userController;
142     auto result = userController.LogoutUser(-1);
143     if (!Rosen::SceneBoardJudgement::IsSceneBoardEnabled()) {
144         EXPECT_EQ(result, INVALID_USERID_VALUE);
145     }
146     EXPECT_TRUE(userController.GetCurrentUserId() == 0);
147 }
148 
149 /**
150  * @tc.name: LogoutUserTest_0200
151  * @tc.desc: LogoutUser Test
152  * @tc.type: FUNC
153  * @tc.require: issueI581SE
154  */
155 HWTEST_F(UserControllerTest, LogoutUserTest_0200, TestSize.Level0)
156 {
157     UserController userController;
158     auto result = userController.LogoutUser(666);
159     if (!Rosen::SceneBoardJudgement::IsSceneBoardEnabled()) {
160         EXPECT_EQ(result, INVALID_USERID_VALUE);
161     }
162     EXPECT_TRUE(userController.GetCurrentUserId() == 0);
163 }
164 
165 /**
166  * @tc.name: LogoutUserTest_0300
167  * @tc.desc: LogoutUser Test
168  * @tc.type: FUNC
169  * @tc.require: issueI581SE
170  */
171 HWTEST_F(UserControllerTest, LogoutUserTest_0300, TestSize.Level0)
172 {
173     UserController userController;
174     userController.GetOrCreateUserItem(1000);
175     auto result = userController.LogoutUser(1000);
176     EXPECT_TRUE(result = 1000);
177 }
178 
179 /**
180  * @tc.name: HandleContinueUserSwitchTest_0100
181  * @tc.desc: HandleContinueUserSwitch Test
182  * @tc.type: FUNC
183  * @tc.require: issueI581SE
184  */
185 HWTEST_F(UserControllerTest, HandleContinueUserSwitchTest_0100, TestSize.Level0)
186 {
187     UserController userController;
188     auto userItem = std::make_shared<UserItem>(1000);
189     userController.HandleContinueUserSwitch(1000, 1000, userItem);
190     auto result = userController.GetCurrentUserId();
191     EXPECT_TRUE(result == 0);
192 }
193 
194 /**
195  * @tc.name: SendUserSwitchDoneTest_0100
196  * @tc.desc: SendUserSwitchDone Test
197  * @tc.type: FUNC
198  * @tc.require: issueI581SE
199  */
200 HWTEST_F(UserControllerTest, SendUserSwitchDoneTest_0100, TestSize.Level0)
201 {
202     UserController userController;
203     userController.SendUserSwitchDone(1000);
204     userController.Init();
205     userController.SendUserSwitchDone(1001);
206     auto result = userController.GetCurrentUserId();
207     EXPECT_TRUE(result == 0);
208 }
209 
210 /**
211  * @tc.name: SendContinueUserSwitchTest_0200
212  * @tc.desc: SendContinueUserSwitch Test
213  * @tc.type: FUNC
214  * @tc.require: issueI581SE
215  */
216 HWTEST_F(UserControllerTest, SendContinueUserSwitchTest_0200, TestSize.Level0)
217 {
218     UserController userController;
219     auto userItem = std::make_shared<UserItem>(1000);
220     userController.SendContinueUserSwitch(1000, 1000, userItem);
221     userController.Init();
222     userController.SendContinueUserSwitch(1000, 1000, userItem);
223     auto result = userController.GetCurrentUserId();
224     EXPECT_TRUE(result == 0);
225 }
226 
227 /**
228  * @tc.name: SendUserSwitchTimeoutTest_0100
229  * @tc.desc: SendUserSwitchTimeout Test
230  * @tc.type: FUNC
231  * @tc.require: issueI581SE
232  */
233 HWTEST_F(UserControllerTest, SendUserSwitchTimeoutTest_0100, TestSize.Level0)
234 {
235     UserController userController;
236     auto userItem = std::make_shared<UserItem>(1000);
237     userController.SendUserSwitchTimeout(1000, 1000, userItem);
238     userController.Init();
239     userController.SendUserSwitchTimeout(1000, 1000, userItem);
240     auto result = userController.GetCurrentUserId();
241     EXPECT_TRUE(result == 0);
242 }
243 
244 /**
245  * @tc.name: SendReportUserSwitchTest_0100
246  * @tc.desc: SendReportUserSwitch Test
247  * @tc.type: FUNC
248  * @tc.require: issueI581SE
249  */
250 HWTEST_F(UserControllerTest, SendReportUserSwitchTest_0100, TestSize.Level0)
251 {
252     UserController userController;
253     auto userItem = std::make_shared<UserItem>(1000);
254     userController.SendReportUserSwitch(1000, 1000, userItem);
255     userController.Init();
256     userController.SendReportUserSwitch(1000, 1000, userItem);
257     auto result = userController.GetCurrentUserId();
258     EXPECT_TRUE(result == 0);
259 }
260 
261 /**
262  * @tc.name: SendSystemUserCurrentTest_0100
263  * @tc.desc: SendSystemUserCurrent Test
264  * @tc.type: FUNC
265  * @tc.require: issueI581SE
266  */
267 HWTEST_F(UserControllerTest, SendSystemUserCurrentTest_0100, TestSize.Level0)
268 {
269     UserController userController;
270     userController.SendSystemUserCurrent(1000, 1000);
271     userController.Init();
272     userController.SendSystemUserCurrent(1000, 1000);
273     auto result = userController.GetCurrentUserId();
274     EXPECT_TRUE(result == 0);
275 }
276 
277 /**
278  * @tc.name: SendSystemUserStartTest_0100
279  * @tc.desc: SendSystemUserStart Test
280  * @tc.type: FUNC
281  * @tc.require: issueI581SE
282  */
283 HWTEST_F(UserControllerTest, SendSystemUserStartTest_0100, TestSize.Level0)
284 {
285     UserController userController;
286     userController.SendSystemUserStart(1000);
287     userController.Init();
288     userController.SendSystemUserStart(1000);
289     auto result = userController.GetCurrentUserId();
290     EXPECT_TRUE(result == 0);
291 }
292 }  // namespace AAFwk
293 }  // namespace OHOS
294