OLD | NEW |
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 <memory> | 5 #include <memory> |
6 #include <string> | 6 #include <string> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 PrefService* const prefs = profile()->GetPrefs(); | 140 PrefService* const prefs = profile()->GetPrefs(); |
141 EXPECT_FALSE(prefs->GetBoolean(prefs::kArcSignedIn)); | 141 EXPECT_FALSE(prefs->GetBoolean(prefs::kArcSignedIn)); |
142 prefs->SetBoolean(prefs::kArcEnabled, true); | 142 prefs->SetBoolean(prefs::kArcEnabled, true); |
143 | 143 |
144 chromeos::FakeChromeUserManager* const fake_user_manager = | 144 chromeos::FakeChromeUserManager* const fake_user_manager = |
145 GetFakeUserManager(); | 145 GetFakeUserManager(); |
146 | 146 |
147 fake_user_manager->AddUser(fake_user_manager->GetGuestAccountId()); | 147 fake_user_manager->AddUser(fake_user_manager->GetGuestAccountId()); |
148 fake_user_manager->SwitchActiveUser(fake_user_manager->GetGuestAccountId()); | 148 fake_user_manager->SwitchActiveUser(fake_user_manager->GetGuestAccountId()); |
149 auth_service()->OnPrimaryUserProfilePrepared(profile()); | 149 auth_service()->OnPrimaryUserProfilePrepared(profile()); |
150 ASSERT_EQ(ArcAuthService::State::STOPPED, auth_service()->state()); | 150 ASSERT_EQ(ArcAuthService::State::NOT_INITIALIZED, auth_service()->state()); |
151 | 151 |
152 fake_user_manager->AddUser(chromeos::login::DemoAccountId()); | 152 fake_user_manager->AddUser(chromeos::login::DemoAccountId()); |
153 fake_user_manager->SwitchActiveUser(chromeos::login::DemoAccountId()); | 153 fake_user_manager->SwitchActiveUser(chromeos::login::DemoAccountId()); |
154 auth_service()->Shutdown(); | 154 auth_service()->Shutdown(); |
155 auth_service()->OnPrimaryUserProfilePrepared(profile()); | 155 auth_service()->OnPrimaryUserProfilePrepared(profile()); |
156 ASSERT_EQ(ArcAuthService::State::STOPPED, auth_service()->state()); | 156 ASSERT_EQ(ArcAuthService::State::NOT_INITIALIZED, auth_service()->state()); |
157 | 157 |
158 const AccountId public_account_id( | 158 const AccountId public_account_id( |
159 AccountId::FromUserEmail("public_user@gmail.com")); | 159 AccountId::FromUserEmail("public_user@gmail.com")); |
160 fake_user_manager->AddPublicAccountUser(public_account_id); | 160 fake_user_manager->AddPublicAccountUser(public_account_id); |
161 fake_user_manager->SwitchActiveUser(public_account_id); | 161 fake_user_manager->SwitchActiveUser(public_account_id); |
162 auth_service()->Shutdown(); | 162 auth_service()->Shutdown(); |
163 auth_service()->OnPrimaryUserProfilePrepared(profile()); | 163 auth_service()->OnPrimaryUserProfilePrepared(profile()); |
164 ASSERT_EQ(ArcAuthService::State::STOPPED, auth_service()->state()); | 164 ASSERT_EQ(ArcAuthService::State::NOT_INITIALIZED, auth_service()->state()); |
165 | 165 |
166 const AccountId not_in_list_account_id( | 166 const AccountId not_in_list_account_id( |
167 AccountId::FromUserEmail("not_in_list_user@gmail.com")); | 167 AccountId::FromUserEmail("not_in_list_user@gmail.com")); |
| 168 fake_user_manager->set_ephemeral_users_enabled(true); |
168 fake_user_manager->AddUser(not_in_list_account_id); | 169 fake_user_manager->AddUser(not_in_list_account_id); |
169 fake_user_manager->SwitchActiveUser(not_in_list_account_id); | 170 fake_user_manager->SwitchActiveUser(not_in_list_account_id); |
170 fake_user_manager->RemoveUserFromList(not_in_list_account_id); | 171 fake_user_manager->RemoveUserFromList(not_in_list_account_id); |
171 auth_service()->Shutdown(); | 172 auth_service()->Shutdown(); |
172 auth_service()->OnPrimaryUserProfilePrepared(profile()); | 173 auth_service()->OnPrimaryUserProfilePrepared(profile()); |
173 ASSERT_EQ(ArcAuthService::State::STOPPED, auth_service()->state()); | 174 ASSERT_EQ(ArcAuthService::State::NOT_INITIALIZED, auth_service()->state()); |
174 | 175 |
175 // Correctly stop service. | 176 // Correctly stop service. |
176 auth_service()->Shutdown(); | 177 auth_service()->Shutdown(); |
177 } | 178 } |
178 | 179 |
179 TEST_F(ArcAuthServiceTest, BaseWorkflow) { | 180 TEST_F(ArcAuthServiceTest, BaseWorkflow) { |
180 ASSERT_FALSE(bridge_service()->ready()); | 181 ASSERT_FALSE(bridge_service()->ready()); |
181 ASSERT_EQ(ArcAuthService::State::NOT_INITIALIZED, auth_service()->state()); | 182 ASSERT_EQ(ArcAuthService::State::NOT_INITIALIZED, auth_service()->state()); |
182 ASSERT_EQ(std::string(), auth_service()->GetAndResetAuthCode()); | 183 ASSERT_EQ(std::string(), auth_service()->GetAndResetAuthCode()); |
183 | 184 |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 GetFakeUserManager()->AddPublicAccountUser(account_id); | 321 GetFakeUserManager()->AddPublicAccountUser(account_id); |
321 | 322 |
322 // Remove |profile_| to set the device local account be the primary account. | 323 // Remove |profile_| to set the device local account be the primary account. |
323 GetFakeUserManager()->RemoveUserFromList( | 324 GetFakeUserManager()->RemoveUserFromList( |
324 multi_user_util::GetAccountIdFromProfile(profile())); | 325 multi_user_util::GetAccountIdFromProfile(profile())); |
325 GetFakeUserManager()->LoginUser(account_id); | 326 GetFakeUserManager()->LoginUser(account_id); |
326 | 327 |
327 // Check that user without GAIA account can't use ARC. | 328 // Check that user without GAIA account can't use ARC. |
328 device_local_profile->GetPrefs()->SetBoolean(prefs::kArcEnabled, true); | 329 device_local_profile->GetPrefs()->SetBoolean(prefs::kArcEnabled, true); |
329 auth_service()->OnPrimaryUserProfilePrepared(device_local_profile.get()); | 330 auth_service()->OnPrimaryUserProfilePrepared(device_local_profile.get()); |
330 EXPECT_EQ(ArcAuthService::State::STOPPED, auth_service()->state()); | 331 EXPECT_EQ(ArcAuthService::State::NOT_INITIALIZED, auth_service()->state()); |
331 | 332 |
332 // Correctly stop service. | 333 // Correctly stop service. |
333 auth_service()->Shutdown(); | 334 auth_service()->Shutdown(); |
334 } | 335 } |
335 | 336 |
336 TEST_F(ArcAuthServiceTest, DisabledForNonPrimaryProfile) { | 337 TEST_F(ArcAuthServiceTest, DisabledForNonPrimaryProfile) { |
337 profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true); | 338 profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true); |
338 auth_service()->OnPrimaryUserProfilePrepared(profile()); | 339 auth_service()->OnPrimaryUserProfilePrepared(profile()); |
339 auth_service()->SetAuthCodeAndStartArc(kTestAuthCode); | 340 auth_service()->SetAuthCodeAndStartArc(kTestAuthCode); |
340 EXPECT_EQ(ArcAuthService::State::ACTIVE, auth_service()->state()); | 341 EXPECT_EQ(ArcAuthService::State::ACTIVE, auth_service()->state()); |
341 | 342 |
342 // Create a second profile and set it as the active profile. | 343 // Create a second profile and set it as the active profile. |
343 const std::string email = "test@example.com"; | 344 const std::string email = "test@example.com"; |
344 TestingProfile::Builder profile_builder; | 345 TestingProfile::Builder profile_builder; |
345 profile_builder.SetProfileName(email); | 346 profile_builder.SetProfileName(email); |
346 std::unique_ptr<TestingProfile> second_profile(profile_builder.Build()); | 347 std::unique_ptr<TestingProfile> second_profile(profile_builder.Build()); |
347 const AccountId account_id(AccountId::FromUserEmail(email)); | 348 const AccountId account_id(AccountId::FromUserEmail(email)); |
348 GetFakeUserManager()->AddUser(account_id); | 349 GetFakeUserManager()->AddUser(account_id); |
349 GetFakeUserManager()->SwitchActiveUser(account_id); | 350 GetFakeUserManager()->SwitchActiveUser(account_id); |
350 second_profile->GetPrefs()->SetBoolean(prefs::kArcEnabled, true); | 351 second_profile->GetPrefs()->SetBoolean(prefs::kArcEnabled, true); |
351 | 352 |
352 // Check that non-primary user can't use Arc. | 353 // Check that non-primary user can't use Arc. |
353 EXPECT_FALSE(chromeos::ProfileHelper::IsPrimaryProfile(second_profile.get())); | 354 EXPECT_FALSE(chromeos::ProfileHelper::IsPrimaryProfile(second_profile.get())); |
354 EXPECT_FALSE(ArcAppListPrefs::Get(second_profile.get())); | 355 EXPECT_FALSE(ArcAppListPrefs::Get(second_profile.get())); |
355 | 356 |
356 auth_service()->Shutdown(); | 357 auth_service()->Shutdown(); |
357 } | 358 } |
358 | 359 |
359 } // namespace arc | 360 } // namespace arc |
OLD | NEW |