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

Side by Side Diff: chrome/browser/ui/ash/session_controller_client_unittest.cc

Issue 2727763002: cros: Convert SessionStateDelegateChromeOS tests (Closed)
Patch Set: 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/ui/ash/session_state_delegate_chromeos.h" 5 #include "chrome/browser/ui/ash/session_controller_client.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "base/run_loop.h" 12 #include "base/run_loop.h"
13 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h" 13 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
14 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" 14 #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h"
15 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" 15 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
16 #include "chrome/browser/chromeos/policy/policy_cert_service.h" 16 #include "chrome/browser/chromeos/policy/policy_cert_service.h"
17 #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h" 17 #include "chrome/browser/chromeos/policy/policy_cert_service_factory.h"
18 #include "chrome/browser/chromeos/policy/policy_cert_verifier.h" 18 #include "chrome/browser/chromeos/policy/policy_cert_verifier.h"
19 #include "chrome/browser/chromeos/profiles/profile_helper.h" 19 #include "chrome/browser/chromeos/profiles/profile_helper.h"
20 #include "chrome/common/pref_names.h" 20 #include "chrome/common/pref_names.h"
21 #include "chrome/test/base/testing_browser_process.h" 21 #include "chrome/test/base/testing_browser_process.h"
22 #include "chrome/test/base/testing_profile_manager.h" 22 #include "chrome/test/base/testing_profile_manager.h"
23 #include "components/signin/core/account_id/account_id.h" 23 #include "components/signin/core/account_id/account_id.h"
24 #include "components/user_manager/user_manager.h" 24 #include "components/user_manager/user_manager.h"
25 #include "content/public/test/test_browser_thread_bundle.h" 25 #include "content/public/test/test_browser_thread_bundle.h"
26 #include "net/cert/x509_certificate.h" 26 #include "net/cert/x509_certificate.h"
27 #include "net/test/cert_test_util.h" 27 #include "net/test/cert_test_util.h"
28 #include "net/test/test_data_directory.h" 28 #include "net/test/test_data_directory.h"
29 #include "testing/gtest/include/gtest/gtest.h" 29 #include "testing/gtest/include/gtest/gtest.h"
30 30
31 namespace chromeos { 31 using chromeos::FakeChromeUserManager;
32 32
33 namespace { 33 namespace {
34 34
35 const char* kUser = "user@test.com"; 35 const char* kUser = "user@test.com";
36 36
37 // Weak ptr to PolicyCertVerifier - object is freed in test destructor once 37 // Weak ptr to PolicyCertVerifier - object is freed in test destructor once
38 // we've ensured the profile has been shut down. 38 // we've ensured the profile has been shut down.
39 policy::PolicyCertVerifier* g_policy_cert_verifier_for_factory = NULL; 39 policy::PolicyCertVerifier* g_policy_cert_verifier_for_factory = nullptr;
40 40
41 std::unique_ptr<KeyedService> CreateTestPolicyCertService( 41 std::unique_ptr<KeyedService> CreateTestPolicyCertService(
42 content::BrowserContext* context) { 42 content::BrowserContext* context) {
43 return policy::PolicyCertService::CreateForTesting( 43 return policy::PolicyCertService::CreateForTesting(
44 kUser, g_policy_cert_verifier_for_factory, 44 kUser, g_policy_cert_verifier_for_factory,
45 user_manager::UserManager::Get()); 45 user_manager::UserManager::Get());
46 } 46 }
47 47
48 } // namespace 48 } // namespace
49 49
50 class SessionStateDelegateChromeOSTest : public testing::Test { 50 class SessionControllerClientTest : public testing::Test {
51 protected: 51 protected:
52 SessionStateDelegateChromeOSTest() : user_manager_(NULL) { 52 SessionControllerClientTest() {}
53 } 53 ~SessionControllerClientTest() override {}
54
55 ~SessionStateDelegateChromeOSTest() override {}
56 54
57 void SetUp() override { 55 void SetUp() override {
58 // Initialize the UserManager singleton to a fresh FakeChromeUserManager 56 // Initialize the UserManager singleton to a fresh FakeChromeUserManager
59 // instance. 57 // instance.
60 user_manager_ = new FakeChromeUserManager; 58 user_manager_ = new FakeChromeUserManager;
61 user_manager_enabler_.reset( 59 user_manager_enabler_.reset(
62 new chromeos::ScopedUserManagerEnabler(user_manager_)); 60 new chromeos::ScopedUserManagerEnabler(user_manager_));
63 61
64 // Create our SessionStateDelegate to experiment with.
65 session_state_delegate_.reset(new SessionStateDelegateChromeos());
66 testing::Test::SetUp(); 62 testing::Test::SetUp();
67 } 63 }
68 64
69 void TearDown() override { 65 void TearDown() override {
70 testing::Test::TearDown(); 66 testing::Test::TearDown();
71 session_state_delegate_.reset();
72 user_manager_enabler_.reset(); 67 user_manager_enabler_.reset();
73 user_manager_ = NULL; 68 user_manager_ = nullptr;
74 // Clear our cached pointer to the PolicyCertVerifier. 69 // Clear our cached pointer to the PolicyCertVerifier.
75 g_policy_cert_verifier_for_factory = NULL; 70 g_policy_cert_verifier_for_factory = nullptr;
76 profile_manager_.reset(); 71 profile_manager_.reset();
77 72
78 // We must ensure that the PolicyCertVerifier outlives the 73 // We must ensure that the PolicyCertVerifier outlives the
79 // PolicyCertService so shutdown the profile here. Additionally, we need 74 // PolicyCertService so shutdown the profile here. Additionally, we need
80 // to run the message loop between freeing the PolicyCertService and 75 // to run the message loop between freeing the PolicyCertService and
81 // freeing the PolicyCertVerifier (see 76 // freeing the PolicyCertVerifier (see
82 // PolicyCertService::OnTrustAnchorsChanged() which is called from 77 // PolicyCertService::OnTrustAnchorsChanged() which is called from
83 // PolicyCertService::Shutdown()). 78 // PolicyCertService::Shutdown()).
84 base::RunLoop().RunUntilIdle(); 79 base::RunLoop().RunUntilIdle();
85 } 80 }
86 81
87 // Add and log in a user to the session. 82 // Add and log in a user to the session.
88 void UserAddedToSession(std::string user) { 83 void UserAddedToSession(std::string user) {
89 user_manager()->AddUser(AccountId::FromUserEmail(user)); 84 user_manager()->AddUser(AccountId::FromUserEmail(user));
90 user_manager()->LoginUser(AccountId::FromUserEmail(user)); 85 user_manager()->LoginUser(AccountId::FromUserEmail(user));
91 } 86 }
92 87
93 // Get the active user. 88 // Get the active user.
94 const std::string& GetActiveUserEmail() { 89 const std::string& GetActiveUserEmail() {
95 return user_manager::UserManager::Get() 90 return user_manager::UserManager::Get()
96 ->GetActiveUser() 91 ->GetActiveUser()
97 ->GetAccountId() 92 ->GetAccountId()
98 .GetUserEmail(); 93 .GetUserEmail();
99 } 94 }
100 95
101 FakeChromeUserManager* user_manager() { return user_manager_; } 96 FakeChromeUserManager* user_manager() { return user_manager_; }
102 SessionStateDelegateChromeos* session_state_delegate() {
103 return session_state_delegate_.get();
104 }
105 97
106 void InitForMultiProfile() { 98 void InitForMultiProfile() {
107 profile_manager_.reset( 99 profile_manager_.reset(
108 new TestingProfileManager(TestingBrowserProcess::GetGlobal())); 100 new TestingProfileManager(TestingBrowserProcess::GetGlobal()));
109 ASSERT_TRUE(profile_manager_->SetUp()); 101 ASSERT_TRUE(profile_manager_->SetUp());
110 102
111 const AccountId account_id(AccountId::FromUserEmail(kUser)); 103 const AccountId account_id(AccountId::FromUserEmail(kUser));
112 const user_manager::User* user = user_manager()->AddUser(account_id); 104 const user_manager::User* user = user_manager()->AddUser(account_id);
113 105
114 // Note that user profiles are created after user login in reality. 106 // Note that user profiles are created after user login in reality.
115 user_profile_ = 107 user_profile_ =
116 profile_manager_->CreateTestingProfile(account_id.GetUserEmail()); 108 profile_manager_->CreateTestingProfile(account_id.GetUserEmail());
117 user_profile_->set_profile_name(account_id.GetUserEmail()); 109 user_profile_->set_profile_name(account_id.GetUserEmail());
118 chromeos::ProfileHelper::Get()->SetUserToProfileMappingForTesting( 110 chromeos::ProfileHelper::Get()->SetUserToProfileMappingForTesting(
119 user, user_profile_); 111 user, user_profile_);
120 } 112 }
121 113
122 content::TestBrowserThreadBundle threads_; 114 content::TestBrowserThreadBundle threads_;
123 std::unique_ptr<policy::PolicyCertVerifier> cert_verifier_; 115 std::unique_ptr<policy::PolicyCertVerifier> cert_verifier_;
124 std::unique_ptr<TestingProfileManager> profile_manager_; 116 std::unique_ptr<TestingProfileManager> profile_manager_;
125 TestingProfile* user_profile_; 117 TestingProfile* user_profile_;
126 118
127 private: 119 private:
128 std::unique_ptr<chromeos::ScopedUserManagerEnabler> user_manager_enabler_; 120 std::unique_ptr<chromeos::ScopedUserManagerEnabler> user_manager_enabler_;
129 std::unique_ptr<SessionStateDelegateChromeos> session_state_delegate_;
130 121
131 // Not owned. 122 // Owned by |user_manager_enabler_|.
132 FakeChromeUserManager* user_manager_; 123 FakeChromeUserManager* user_manager_ = nullptr;
133 124
134 DISALLOW_COPY_AND_ASSIGN(SessionStateDelegateChromeOSTest); 125 DISALLOW_COPY_AND_ASSIGN(SessionControllerClientTest);
135 }; 126 };
136 127
137 // Make sure that cycling one user does not cause any harm. 128 // Make sure that cycling one user does not cause any harm.
138 TEST_F(SessionStateDelegateChromeOSTest, CyclingOneUser) { 129 TEST_F(SessionControllerClientTest, CyclingOneUser) {
139 UserAddedToSession("firstuser@test.com"); 130 UserAddedToSession("firstuser@test.com");
140 131
141 EXPECT_EQ("firstuser@test.com", GetActiveUserEmail()); 132 EXPECT_EQ("firstuser@test.com", GetActiveUserEmail());
142 session_state_delegate()->CycleActiveUser( 133 SessionControllerClient::DoCycleActiveUser(true);
James Cook 2017/03/01 22:02:08 optional: It would be nice if this function took a
xiyuan 2017/03/01 22:41:03 Sounds good. It would make more sense to also upda
xiyuan 2017/03/02 23:17:22 Done.
143 ash::SessionStateDelegate::CYCLE_TO_NEXT_USER);
144 EXPECT_EQ("firstuser@test.com", GetActiveUserEmail()); 134 EXPECT_EQ("firstuser@test.com", GetActiveUserEmail());
145 session_state_delegate()->CycleActiveUser( 135 SessionControllerClient::DoCycleActiveUser(false);
146 ash::SessionStateDelegate::CYCLE_TO_PREVIOUS_USER);
147 EXPECT_EQ("firstuser@test.com", GetActiveUserEmail()); 136 EXPECT_EQ("firstuser@test.com", GetActiveUserEmail());
148 } 137 }
149 138
150 // Cycle three users forwards and backwards to see that it works. 139 // Cycle three users forwards and backwards to see that it works.
151 TEST_F(SessionStateDelegateChromeOSTest, CyclingThreeUsers) { 140 TEST_F(SessionControllerClientTest, CyclingThreeUsers) {
152 UserAddedToSession("firstuser@test.com"); 141 UserAddedToSession("firstuser@test.com");
153 UserAddedToSession("seconduser@test.com"); 142 UserAddedToSession("seconduser@test.com");
154 UserAddedToSession("thirduser@test.com"); 143 UserAddedToSession("thirduser@test.com");
155 const ash::SessionStateDelegate::CycleUser forward =
156 ash::SessionStateDelegate::CYCLE_TO_NEXT_USER;
157 144
158 // Cycle forward. 145 // Cycle forward.
159 EXPECT_EQ("firstuser@test.com", GetActiveUserEmail()); 146 EXPECT_EQ("firstuser@test.com", GetActiveUserEmail());
160 session_state_delegate()->CycleActiveUser(forward); 147 SessionControllerClient::DoCycleActiveUser(true);
161 EXPECT_EQ("seconduser@test.com", GetActiveUserEmail()); 148 EXPECT_EQ("seconduser@test.com", GetActiveUserEmail());
162 session_state_delegate()->CycleActiveUser(forward); 149 SessionControllerClient::DoCycleActiveUser(true);
163 EXPECT_EQ("thirduser@test.com", GetActiveUserEmail()); 150 EXPECT_EQ("thirduser@test.com", GetActiveUserEmail());
164 session_state_delegate()->CycleActiveUser(forward); 151 SessionControllerClient::DoCycleActiveUser(true);
165 EXPECT_EQ("firstuser@test.com", GetActiveUserEmail()); 152 EXPECT_EQ("firstuser@test.com", GetActiveUserEmail());
166 153
167 // Cycle backwards. 154 // Cycle backwards.
168 const ash::SessionStateDelegate::CycleUser backward = 155 SessionControllerClient::DoCycleActiveUser(false);
169 ash::SessionStateDelegate::CYCLE_TO_PREVIOUS_USER;
170 session_state_delegate()->CycleActiveUser(backward);
171 EXPECT_EQ("thirduser@test.com", GetActiveUserEmail()); 156 EXPECT_EQ("thirduser@test.com", GetActiveUserEmail());
172 session_state_delegate()->CycleActiveUser(backward); 157 SessionControllerClient::DoCycleActiveUser(false);
173 EXPECT_EQ("seconduser@test.com", GetActiveUserEmail()); 158 EXPECT_EQ("seconduser@test.com", GetActiveUserEmail());
174 session_state_delegate()->CycleActiveUser(backward); 159 SessionControllerClient::DoCycleActiveUser(false);
175 EXPECT_EQ("firstuser@test.com", GetActiveUserEmail()); 160 EXPECT_EQ("firstuser@test.com", GetActiveUserEmail());
176 } 161 }
177 162
178 // Make sure MultiProfile disabled by primary user policy. 163 // Make sure MultiProfile disabled by primary user policy.
179 TEST_F(SessionStateDelegateChromeOSTest, MultiProfileDisallowedByUserPolicy) { 164 TEST_F(SessionControllerClientTest, MultiProfileDisallowedByUserPolicy) {
180 InitForMultiProfile(); 165 InitForMultiProfile();
181 EXPECT_TRUE( 166 EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
182 session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy()); 167 SessionControllerClient::GetAddUserSessionPolicy());
183 const AccountId account_id(AccountId::FromUserEmail(kUser)); 168 const AccountId account_id(AccountId::FromUserEmail(kUser));
184 user_manager()->LoginUser(account_id); 169 user_manager()->LoginUser(account_id);
185 EXPECT_TRUE( 170 EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NO_ELIGIBLE_USERS,
186 session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy()); 171 SessionControllerClient::GetAddUserSessionPolicy());
172
173 user_manager()->AddUser(AccountId::FromUserEmail("bb@b.b"));
174 EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
175 SessionControllerClient::GetAddUserSessionPolicy());
187 176
188 user_profile_->GetPrefs()->SetString( 177 user_profile_->GetPrefs()->SetString(
189 prefs::kMultiProfileUserBehavior, 178 prefs::kMultiProfileUserBehavior,
190 chromeos::MultiProfileUserController::kBehaviorNotAllowed); 179 chromeos::MultiProfileUserController::kBehaviorNotAllowed);
191 EXPECT_FALSE( 180 EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NOT_ALLOWED_PRIMARY_USER,
192 session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy()); 181 SessionControllerClient::GetAddUserSessionPolicy());
193 } 182 }
194 183
195 // Make sure MultiProfile disabled by primary user policy certificates. 184 // Make sure MultiProfile disabled by primary user policy certificates.
196 TEST_F(SessionStateDelegateChromeOSTest, 185 TEST_F(SessionControllerClientTest,
197 MultiProfileDisallowedByPolicyCertificates) { 186 MultiProfileDisallowedByPolicyCertificates) {
198 InitForMultiProfile(); 187 InitForMultiProfile();
188 user_manager()->AddUser(AccountId::FromUserEmail("bb@b.b"));
189
199 const AccountId account_id(AccountId::FromUserEmail(kUser)); 190 const AccountId account_id(AccountId::FromUserEmail(kUser));
200 user_manager()->LoginUser(account_id); 191 user_manager()->LoginUser(account_id);
201 EXPECT_TRUE( 192 EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
202 session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy()); 193 SessionControllerClient::GetAddUserSessionPolicy());
203 policy::PolicyCertServiceFactory::SetUsedPolicyCertificates( 194 policy::PolicyCertServiceFactory::SetUsedPolicyCertificates(
204 account_id.GetUserEmail()); 195 account_id.GetUserEmail());
205 EXPECT_FALSE( 196 EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NOT_ALLOWED_PRIMARY_USER,
206 session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy()); 197 SessionControllerClient::GetAddUserSessionPolicy());
207 198
208 // Flush tasks posted to IO. 199 // Flush tasks posted to IO.
209 base::RunLoop().RunUntilIdle(); 200 base::RunLoop().RunUntilIdle();
210 } 201 }
211 202
212 // Make sure MultiProfile disabled by primary user certificates in memory. 203 // Make sure MultiProfile disabled by primary user certificates in memory.
213 TEST_F(SessionStateDelegateChromeOSTest, 204 TEST_F(SessionControllerClientTest,
214 MultiProfileDisallowedByPrimaryUserCertificatesInMemory) { 205 MultiProfileDisallowedByPrimaryUserCertificatesInMemory) {
215 InitForMultiProfile(); 206 InitForMultiProfile();
207 user_manager()->AddUser(AccountId::FromUserEmail("bb@b.b"));
208
216 const AccountId account_id(AccountId::FromUserEmail(kUser)); 209 const AccountId account_id(AccountId::FromUserEmail(kUser));
217 user_manager()->LoginUser(account_id); 210 user_manager()->LoginUser(account_id);
218 EXPECT_TRUE( 211 EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
219 session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy()); 212 SessionControllerClient::GetAddUserSessionPolicy());
220 cert_verifier_.reset(new policy::PolicyCertVerifier(base::Closure())); 213 cert_verifier_.reset(new policy::PolicyCertVerifier(base::Closure()));
221 g_policy_cert_verifier_for_factory = cert_verifier_.get(); 214 g_policy_cert_verifier_for_factory = cert_verifier_.get();
222 ASSERT_TRUE( 215 ASSERT_TRUE(
223 policy::PolicyCertServiceFactory::GetInstance()->SetTestingFactoryAndUse( 216 policy::PolicyCertServiceFactory::GetInstance()->SetTestingFactoryAndUse(
224 user_profile_, CreateTestPolicyCertService)); 217 user_profile_, CreateTestPolicyCertService));
225 policy::PolicyCertService* service = 218 policy::PolicyCertService* service =
226 policy::PolicyCertServiceFactory::GetForProfile(user_profile_); 219 policy::PolicyCertServiceFactory::GetForProfile(user_profile_);
227 ASSERT_TRUE(service); 220 ASSERT_TRUE(service);
228 221
229 EXPECT_FALSE(service->has_policy_certificates()); 222 EXPECT_FALSE(service->has_policy_certificates());
230 net::CertificateList certificates; 223 net::CertificateList certificates;
231 certificates.push_back( 224 certificates.push_back(
232 net::ImportCertFromFile(net::GetTestCertsDirectory(), "ok_cert.pem")); 225 net::ImportCertFromFile(net::GetTestCertsDirectory(), "ok_cert.pem"));
233 service->OnTrustAnchorsChanged(certificates); 226 service->OnTrustAnchorsChanged(certificates);
234 EXPECT_TRUE(service->has_policy_certificates()); 227 EXPECT_TRUE(service->has_policy_certificates());
235 EXPECT_FALSE( 228 EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NOT_ALLOWED_PRIMARY_USER,
236 session_state_delegate()->IsMultiProfileAllowedByPrimaryUserPolicy()); 229 SessionControllerClient::GetAddUserSessionPolicy());
237 230
238 // Flush tasks posted to IO. 231 // Flush tasks posted to IO.
239 base::RunLoop().RunUntilIdle(); 232 base::RunLoop().RunUntilIdle();
240 } 233 }
241 234
242 // Make sure adding users to multiprofiles disabled by reaching maximum 235 // Make sure adding users to multiprofiles disabled by reaching maximum
243 // number of users in sessions. 236 // number of users in sessions.
244 TEST_F(SessionStateDelegateChromeOSTest, 237 TEST_F(SessionControllerClientTest,
245 AddUserToMultiprofileDisallowedByMaximumUsers) { 238 AddUserToMultiprofileDisallowedByMaximumUsers) {
246 InitForMultiProfile(); 239 InitForMultiProfile();
247 240
248 EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED, 241 EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
249 session_state_delegate()->GetAddUserSessionPolicy()); 242 SessionControllerClient::GetAddUserSessionPolicy());
250 const AccountId account_id(AccountId::FromUserEmail(kUser)); 243 const AccountId account_id(AccountId::FromUserEmail(kUser));
251 user_manager()->LoginUser(account_id); 244 user_manager()->LoginUser(account_id);
252 while (session_state_delegate()->NumberOfLoggedInUsers() < 245 while (user_manager()->GetLoggedInUsers().size() <
253 session_state_delegate()->GetMaximumNumberOfLoggedInUsers()) { 246 session_manager::kMaxmiumNumberOfUserSessions) {
254 UserAddedToSession("bb@b.b"); 247 UserAddedToSession("bb@b.b");
255 } 248 }
256 EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_MAXIMUM_USERS_REACHED, 249 EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_MAXIMUM_USERS_REACHED,
257 session_state_delegate()->GetAddUserSessionPolicy()); 250 SessionControllerClient::GetAddUserSessionPolicy());
258 } 251 }
259 252
260 // Make sure adding users to multiprofiles disabled by logging in all possible 253 // Make sure adding users to multiprofiles disabled by logging in all possible
261 // users. 254 // users.
262 TEST_F(SessionStateDelegateChromeOSTest, 255 TEST_F(SessionControllerClientTest,
263 AddUserToMultiprofileDisallowedByAllUsersLogged) { 256 AddUserToMultiprofileDisallowedByAllUsersLogged) {
264 InitForMultiProfile(); 257 InitForMultiProfile();
265 258
266 EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED, 259 EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
267 session_state_delegate()->GetAddUserSessionPolicy()); 260 SessionControllerClient::GetAddUserSessionPolicy());
268 const AccountId account_id(AccountId::FromUserEmail(kUser)); 261 const AccountId account_id(AccountId::FromUserEmail(kUser));
269 user_manager()->LoginUser(account_id); 262 user_manager()->LoginUser(account_id);
270 UserAddedToSession("bb@b.b"); 263 UserAddedToSession("bb@b.b");
271 EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NO_ELIGIBLE_USERS, 264 EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NO_ELIGIBLE_USERS,
272 session_state_delegate()->GetAddUserSessionPolicy()); 265 SessionControllerClient::GetAddUserSessionPolicy());
273 } 266 }
274 267
275 // Make sure adding users to multiprofiles disabled by primary user policy. 268 // Make sure adding users to multiprofiles disabled by primary user policy.
276 TEST_F(SessionStateDelegateChromeOSTest, 269 TEST_F(SessionControllerClientTest,
277 AddUserToMultiprofileDisallowedByPrimaryUserPolicy) { 270 AddUserToMultiprofileDisallowedByPrimaryUserPolicy) {
278 InitForMultiProfile(); 271 InitForMultiProfile();
279 272
280 EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED, 273 EXPECT_EQ(ash::AddUserSessionPolicy::ALLOWED,
281 session_state_delegate()->GetAddUserSessionPolicy()); 274 SessionControllerClient::GetAddUserSessionPolicy());
282 const AccountId account_id(AccountId::FromUserEmail(kUser)); 275 const AccountId account_id(AccountId::FromUserEmail(kUser));
283 user_manager()->LoginUser(account_id); 276 user_manager()->LoginUser(account_id);
284 user_profile_->GetPrefs()->SetString( 277 user_profile_->GetPrefs()->SetString(
285 prefs::kMultiProfileUserBehavior, 278 prefs::kMultiProfileUserBehavior,
286 chromeos::MultiProfileUserController::kBehaviorNotAllowed); 279 chromeos::MultiProfileUserController::kBehaviorNotAllowed);
287 user_manager()->AddUser(AccountId::FromUserEmail("bb@b.b")); 280 user_manager()->AddUser(AccountId::FromUserEmail("bb@b.b"));
288 EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NOT_ALLOWED_PRIMARY_USER, 281 EXPECT_EQ(ash::AddUserSessionPolicy::ERROR_NOT_ALLOWED_PRIMARY_USER,
289 session_state_delegate()->GetAddUserSessionPolicy()); 282 SessionControllerClient::GetAddUserSessionPolicy());
290 } 283 }
291
292 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/profiles/profile_helper.h ('k') | chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698