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