Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: ash/common/session/session_controller_unittest.cc

Issue 2734933004: ash: Use SessionController instead of SessionStateDelegate (Closed)
Patch Set: rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/common/session/session_controller.h" 5 #include "ash/common/session/session_controller.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 TestSessionStateObserver observer_; 116 TestSessionStateObserver observer_;
117 117
118 DISALLOW_COPY_AND_ASSIGN(SessionControllerTest); 118 DISALLOW_COPY_AND_ASSIGN(SessionControllerTest);
119 }; 119 };
120 120
121 // Tests that the simple session info is reflected properly. 121 // Tests that the simple session info is reflected properly.
122 TEST_F(SessionControllerTest, SimpleSessionInfo) { 122 TEST_F(SessionControllerTest, SimpleSessionInfo) {
123 mojom::SessionInfo info; 123 mojom::SessionInfo info;
124 FillDefaultSessionInfo(&info); 124 FillDefaultSessionInfo(&info);
125 SetSessionInfo(info); 125 SetSessionInfo(info);
126 UpdateSession(1u, "user1@test.com");
126 127
127 EXPECT_EQ(session_manager::kMaxmiumNumberOfUserSessions, 128 EXPECT_EQ(session_manager::kMaxmiumNumberOfUserSessions,
128 controller()->GetMaximumNumberOfLoggedInUsers()); 129 controller()->GetMaximumNumberOfLoggedInUsers());
129 EXPECT_TRUE(controller()->CanLockScreen()); 130 EXPECT_TRUE(controller()->CanLockScreen());
130 EXPECT_TRUE(controller()->ShouldLockScreenAutomatically()); 131 EXPECT_TRUE(controller()->ShouldLockScreenAutomatically());
131 132
132 info.can_lock_screen = false; 133 info.can_lock_screen = false;
133 SetSessionInfo(info); 134 SetSessionInfo(info);
134 EXPECT_FALSE(controller()->CanLockScreen()); 135 EXPECT_FALSE(controller()->CanLockScreen());
135 EXPECT_TRUE(controller()->ShouldLockScreenAutomatically()); 136 EXPECT_TRUE(controller()->ShouldLockScreenAutomatically());
136 137
137 info.should_lock_screen_automatically = false; 138 info.should_lock_screen_automatically = false;
138 SetSessionInfo(info); 139 SetSessionInfo(info);
139 EXPECT_FALSE(controller()->CanLockScreen()); 140 EXPECT_FALSE(controller()->CanLockScreen());
140 EXPECT_FALSE(controller()->ShouldLockScreenAutomatically()); 141 EXPECT_FALSE(controller()->ShouldLockScreenAutomatically());
141 } 142 }
142 143
144 // Tests that the CanLockScreen is only true with an active user session.
145 TEST_F(SessionControllerTest, CanLockScreen) {
146 mojom::SessionInfo info;
147 FillDefaultSessionInfo(&info);
148 ASSERT_TRUE(info.can_lock_screen); // Check can_lock_screen default to true.
149 SetSessionInfo(info);
150
151 // Cannot lock screen when there is no active user session.
152 EXPECT_FALSE(controller()->IsActiveUserSessionStarted());
153 EXPECT_FALSE(controller()->CanLockScreen());
154
155 UpdateSession(1u, "user1@test.com");
156 EXPECT_TRUE(controller()->IsActiveUserSessionStarted());
157 EXPECT_TRUE(controller()->CanLockScreen());
158 }
159
143 // Tests that AddUserSessionPolicy is set properly. 160 // Tests that AddUserSessionPolicy is set properly.
144 TEST_F(SessionControllerTest, AddUserPolicy) { 161 TEST_F(SessionControllerTest, AddUserPolicy) {
145 const AddUserSessionPolicy kTestCases[] = { 162 const AddUserSessionPolicy kTestCases[] = {
146 AddUserSessionPolicy::ALLOWED, 163 AddUserSessionPolicy::ALLOWED,
147 AddUserSessionPolicy::ERROR_NOT_ALLOWED_PRIMARY_USER, 164 AddUserSessionPolicy::ERROR_NOT_ALLOWED_PRIMARY_USER,
148 AddUserSessionPolicy::ERROR_NO_ELIGIBLE_USERS, 165 AddUserSessionPolicy::ERROR_NO_ELIGIBLE_USERS,
149 AddUserSessionPolicy::ERROR_MAXIMUM_USERS_REACHED, 166 AddUserSessionPolicy::ERROR_MAXIMUM_USERS_REACHED,
150 }; 167 };
151 168
152 mojom::SessionInfo info; 169 mojom::SessionInfo info;
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 EXPECT_EQ("user2@test.com", observer()->active_account_id().GetUserEmail()); 307 EXPECT_EQ("user2@test.com", observer()->active_account_id().GetUserEmail());
291 308
292 order = {1u, 2u}; 309 order = {1u, 2u};
293 controller()->SetUserSessionOrder(order); 310 controller()->SetUserSessionOrder(order);
294 EXPECT_EQ("user1@test.com,user2@test.com,", GetUserSessionEmails()); 311 EXPECT_EQ("user1@test.com,user2@test.com,", GetUserSessionEmails());
295 EXPECT_EQ("user1@test.com", observer()->active_account_id().GetUserEmail()); 312 EXPECT_EQ("user1@test.com", observer()->active_account_id().GetUserEmail());
296 } 313 }
297 314
298 } // namespace 315 } // namespace
299 } // namespace ash 316 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698