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

Side by Side Diff: chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl_unittest.cc

Issue 1306183007: Switch to id-based affiliation determination (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 1 month 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/chromeos/policy/affiliated_invalidation_service_provide r_impl.h" 5 #include "chrome/browser/chromeos/policy/affiliated_invalidation_service_provide r_impl.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "chrome/browser/chrome_notification_types.h" 10 #include "chrome/browser/chrome_notification_types.h"
(...skipping 23 matching lines...) Expand all
34 #include "content/public/test/test_browser_thread_bundle.h" 34 #include "content/public/test/test_browser_thread_bundle.h"
35 #include "testing/gtest/include/gtest/gtest.h" 35 #include "testing/gtest/include/gtest/gtest.h"
36 36
37 namespace policy { 37 namespace policy {
38 38
39 namespace { 39 namespace {
40 40
41 const char kAffiliatedUserID1[] = "test_1@example.com"; 41 const char kAffiliatedUserID1[] = "test_1@example.com";
42 const char kAffiliatedUserID2[] = "test_2@example.com"; 42 const char kAffiliatedUserID2[] = "test_2@example.com";
43 const char kUnaffiliatedUserID[] = "test@other_domain.test"; 43 const char kUnaffiliatedUserID[] = "test@other_domain.test";
44 const bool NOT_AFFILIATED = false;
45 const bool AFFILIATED = true;
oshima 2015/11/13 19:53:04 optional suggestion. Please ignore if you prefer t
peletskyi 2015/11/16 14:33:15 Done.
44 46
45 scoped_ptr<KeyedService> BuildProfileInvalidationProvider( 47 scoped_ptr<KeyedService> BuildProfileInvalidationProvider(
46 content::BrowserContext* context) { 48 content::BrowserContext* context) {
47 scoped_ptr<invalidation::FakeInvalidationService> invalidation_service( 49 scoped_ptr<invalidation::FakeInvalidationService> invalidation_service(
48 new invalidation::FakeInvalidationService); 50 new invalidation::FakeInvalidationService);
49 invalidation_service->SetInvalidatorState( 51 invalidation_service->SetInvalidatorState(
50 syncer::TRANSIENT_INVALIDATION_ERROR); 52 syncer::TRANSIENT_INVALIDATION_ERROR);
51 return make_scoped_ptr(new invalidation::ProfileInvalidationProvider( 53 return make_scoped_ptr(new invalidation::ProfileInvalidationProvider(
52 invalidation_service.Pass())); 54 invalidation_service.Pass()));
53 } 55 }
(...skipping 27 matching lines...) Expand all
81 83
82 class AffiliatedInvalidationServiceProviderImplTest : public testing::Test { 84 class AffiliatedInvalidationServiceProviderImplTest : public testing::Test {
83 public: 85 public:
84 AffiliatedInvalidationServiceProviderImplTest(); 86 AffiliatedInvalidationServiceProviderImplTest();
85 87
86 // testing::Test: 88 // testing::Test:
87 void SetUp() override; 89 void SetUp() override;
88 void TearDown() override; 90 void TearDown() override;
89 91
90 // Ownership is not passed. The Profile is owned by the global ProfileManager. 92 // Ownership is not passed. The Profile is owned by the global ProfileManager.
91 Profile* LogInAndReturnProfile(const std::string& user_id); 93 Profile* LogInAndReturnProfile(const std::string& user_id,
94 bool is_affiliated);
92 95
93 // Logs in as an affiliated user and indicates that the per-profile 96 // Logs in as an affiliated user and indicates that the per-profile
94 // invalidation service for this user connected. Verifies that this 97 // invalidation service for this user connected. Verifies that this
95 // invalidation service is made available to the |consumer_| and the 98 // invalidation service is made available to the |consumer_| and the
96 // device-global invalidation service is destroyed. 99 // device-global invalidation service is destroyed.
97 void LogInAsAffiliatedUserAndConnectInvalidationService(); 100 void LogInAsAffiliatedUserAndConnectInvalidationService();
98 101
99 // Logs in as an unaffiliated user and indicates that the per-profile 102 // Logs in as an unaffiliated user and indicates that the per-profile
100 // invalidation service for this user connected. Verifies that this 103 // invalidation service for this user connected. Verifies that this
101 // invalidation service is ignored and the device-global invalidation service 104 // invalidation service is ignored and the device-global invalidation service
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 provider_.reset(); 217 provider_.reset();
215 218
216 invalidation::ProfileInvalidationProviderFactory::GetInstance()-> 219 invalidation::ProfileInvalidationProviderFactory::GetInstance()->
217 RegisterTestingFactory(nullptr); 220 RegisterTestingFactory(nullptr);
218 chromeos::DeviceOAuth2TokenServiceFactory::Shutdown(); 221 chromeos::DeviceOAuth2TokenServiceFactory::Shutdown();
219 chromeos::DBusThreadManager::Shutdown(); 222 chromeos::DBusThreadManager::Shutdown();
220 chromeos::SystemSaltGetter::Shutdown(); 223 chromeos::SystemSaltGetter::Shutdown();
221 } 224 }
222 225
223 Profile* AffiliatedInvalidationServiceProviderImplTest::LogInAndReturnProfile( 226 Profile* AffiliatedInvalidationServiceProviderImplTest::LogInAndReturnProfile(
224 const std::string& user_id) { 227 const std::string& user_id,
225 fake_user_manager_->AddUser(AccountId::FromUserEmail(user_id)); 228 bool is_affiliated) {
229 fake_user_manager_->AddUserWithAffiliation(AccountId::FromUserEmail(user_id),
230 is_affiliated);
226 Profile* profile = profile_manager_.CreateTestingProfile(user_id); 231 Profile* profile = profile_manager_.CreateTestingProfile(user_id);
227 content::NotificationService::current()->Notify( 232 content::NotificationService::current()->Notify(
228 chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED, 233 chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED,
229 content::NotificationService::AllSources(), 234 content::NotificationService::AllSources(),
230 content::Details<Profile>(profile)); 235 content::Details<Profile>(profile));
231 return profile; 236 return profile;
232 } 237 }
233 238
234 void AffiliatedInvalidationServiceProviderImplTest:: 239 void AffiliatedInvalidationServiceProviderImplTest::
235 LogInAsAffiliatedUserAndConnectInvalidationService() { 240 LogInAsAffiliatedUserAndConnectInvalidationService() {
236 // Log in as an affiliated user. 241 // Log in as an affiliated user.
237 Profile* profile = LogInAndReturnProfile(kAffiliatedUserID1); 242 Profile* profile = LogInAndReturnProfile(kAffiliatedUserID1, AFFILIATED);
238 EXPECT_TRUE(profile); 243 EXPECT_TRUE(profile);
239 244
240 // Verify that a per-profile invalidation service has been created. 245 // Verify that a per-profile invalidation service has been created.
241 profile_invalidation_service_ = 246 profile_invalidation_service_ =
242 GetProfileInvalidationService(profile, false /* create */); 247 GetProfileInvalidationService(profile, false /* create */);
243 ASSERT_TRUE(profile_invalidation_service_); 248 ASSERT_TRUE(profile_invalidation_service_);
244 249
245 // Verify that the device-global invalidation service still exists. 250 // Verify that the device-global invalidation service still exists.
246 EXPECT_TRUE(provider_->GetDeviceInvalidationServiceForTest()); 251 EXPECT_TRUE(provider_->GetDeviceInvalidationServiceForTest());
247 252
248 // Indicate that the per-profile invalidation service has connected. Verify 253 // Indicate that the per-profile invalidation service has connected. Verify
249 // that the consumer is informed about this. 254 // that the consumer is informed about this.
250 EXPECT_EQ(0, consumer_->GetAndClearInvalidationServiceSetCount()); 255 EXPECT_EQ(0, consumer_->GetAndClearInvalidationServiceSetCount());
251 profile_invalidation_service_->SetInvalidatorState( 256 profile_invalidation_service_->SetInvalidatorState(
252 syncer::INVALIDATIONS_ENABLED); 257 syncer::INVALIDATIONS_ENABLED);
253 EXPECT_EQ(1, consumer_->GetAndClearInvalidationServiceSetCount()); 258 EXPECT_EQ(1, consumer_->GetAndClearInvalidationServiceSetCount());
254 EXPECT_EQ(profile_invalidation_service_, consumer_->GetInvalidationService()); 259 EXPECT_EQ(profile_invalidation_service_, consumer_->GetInvalidationService());
255 260
256 // Verify that the device-global invalidation service has been destroyed. 261 // Verify that the device-global invalidation service has been destroyed.
257 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest()); 262 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest());
258 } 263 }
259 264
260 void AffiliatedInvalidationServiceProviderImplTest:: 265 void AffiliatedInvalidationServiceProviderImplTest::
261 LogInAsUnaffiliatedUserAndConnectInvalidationService() { 266 LogInAsUnaffiliatedUserAndConnectInvalidationService() {
262 // Log in as an unaffiliated user. 267 // Log in as an unaffiliated user.
263 Profile* profile = LogInAndReturnProfile(kUnaffiliatedUserID); 268 Profile* profile = LogInAndReturnProfile(kUnaffiliatedUserID, NOT_AFFILIATED);
264 EXPECT_TRUE(profile); 269 EXPECT_TRUE(profile);
265 270
266 // Verify that a per-profile invalidation service has been created. 271 // Verify that a per-profile invalidation service has been created.
267 profile_invalidation_service_ = 272 profile_invalidation_service_ =
268 GetProfileInvalidationService(profile, false /* create */); 273 GetProfileInvalidationService(profile, false /* create */);
269 ASSERT_TRUE(profile_invalidation_service_); 274 ASSERT_TRUE(profile_invalidation_service_);
270 275
271 // Verify that the device-global invalidation service still exists. 276 // Verify that the device-global invalidation service still exists.
272 EXPECT_TRUE(provider_->GetDeviceInvalidationServiceForTest()); 277 EXPECT_TRUE(provider_->GetDeviceInvalidationServiceForTest());
273 278
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 333
329 // No consumers are registered with the 334 // No consumers are registered with the
330 // AffiliatedInvalidationServiceProviderImpl. Verifies that no device-global 335 // AffiliatedInvalidationServiceProviderImpl. Verifies that no device-global
331 // invalidation service is created, whether an affiliated user is logged in or 336 // invalidation service is created, whether an affiliated user is logged in or
332 // not. 337 // not.
333 TEST_F(AffiliatedInvalidationServiceProviderImplTest, NoConsumers) { 338 TEST_F(AffiliatedInvalidationServiceProviderImplTest, NoConsumers) {
334 // Verify that no device-global invalidation service has been created. 339 // Verify that no device-global invalidation service has been created.
335 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest()); 340 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest());
336 341
337 // Log in as an affiliated user. 342 // Log in as an affiliated user.
338 EXPECT_TRUE(LogInAndReturnProfile(kAffiliatedUserID1)); 343 EXPECT_TRUE(LogInAndReturnProfile(kAffiliatedUserID1, AFFILIATED));
339 344
340 // Verify that no device-global invalidation service has been created. 345 // Verify that no device-global invalidation service has been created.
341 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest()); 346 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest());
342 } 347 }
343 348
344 // Verifies that when no connected invalidation service is available for use, 349 // Verifies that when no connected invalidation service is available for use,
345 // none is made available to consumers. 350 // none is made available to consumers.
346 TEST_F(AffiliatedInvalidationServiceProviderImplTest, 351 TEST_F(AffiliatedInvalidationServiceProviderImplTest,
347 NoInvalidationServiceAvailable) { 352 NoInvalidationServiceAvailable) {
348 // Register a consumer. Verify that the consumer is not called back 353 // Register a consumer. Verify that the consumer is not called back
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 // Verify that a device-global invalidation service has been created. 504 // Verify that a device-global invalidation service has been created.
500 EXPECT_TRUE(provider_->GetDeviceInvalidationServiceForTest()); 505 EXPECT_TRUE(provider_->GetDeviceInvalidationServiceForTest());
501 506
502 // Log in as a first affiliated user and indicate that the per-profile 507 // Log in as a first affiliated user and indicate that the per-profile
503 // invalidation service for this user connected. Verify that this invalidation 508 // invalidation service for this user connected. Verify that this invalidation
504 // service is made available to the |consumer_| and the device-global 509 // service is made available to the |consumer_| and the device-global
505 // invalidation service is destroyed. 510 // invalidation service is destroyed.
506 LogInAsAffiliatedUserAndConnectInvalidationService(); 511 LogInAsAffiliatedUserAndConnectInvalidationService();
507 512
508 // Log in as a second affiliated user. 513 // Log in as a second affiliated user.
509 Profile* second_profile = LogInAndReturnProfile(kAffiliatedUserID2); 514 Profile* second_profile =
515 LogInAndReturnProfile(kAffiliatedUserID2, AFFILIATED);
510 EXPECT_TRUE(second_profile); 516 EXPECT_TRUE(second_profile);
511 517
512 // Verify that the device-global invalidation service still does not exist. 518 // Verify that the device-global invalidation service still does not exist.
513 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest()); 519 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest());
514 520
515 // Verify that a per-profile invalidation service for the second user has been 521 // Verify that a per-profile invalidation service for the second user has been
516 // created. 522 // created.
517 invalidation::FakeInvalidationService* second_profile_invalidation_service = 523 invalidation::FakeInvalidationService* second_profile_invalidation_service =
518 GetProfileInvalidationService(second_profile, false /* create */); 524 GetProfileInvalidationService(second_profile, false /* create */);
519 ASSERT_TRUE(second_profile_invalidation_service); 525 ASSERT_TRUE(second_profile_invalidation_service);
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 // invalidation service is available for use anymore. 604 // invalidation service is available for use anymore.
599 EXPECT_EQ(0, consumer_->GetAndClearInvalidationServiceSetCount()); 605 EXPECT_EQ(0, consumer_->GetAndClearInvalidationServiceSetCount());
600 provider_->Shutdown(); 606 provider_->Shutdown();
601 EXPECT_EQ(1, consumer_->GetAndClearInvalidationServiceSetCount()); 607 EXPECT_EQ(1, consumer_->GetAndClearInvalidationServiceSetCount());
602 EXPECT_EQ(nullptr, consumer_->GetInvalidationService()); 608 EXPECT_EQ(nullptr, consumer_->GetInvalidationService());
603 609
604 // Verify that the device-global invalidation service still does not exist. 610 // Verify that the device-global invalidation service still does not exist.
605 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest()); 611 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest());
606 612
607 // Log in as a second affiliated user. 613 // Log in as a second affiliated user.
608 Profile* second_profile = LogInAndReturnProfile(kAffiliatedUserID2); 614 Profile* second_profile =
615 LogInAndReturnProfile(kAffiliatedUserID2, AFFILIATED);
609 EXPECT_TRUE(second_profile); 616 EXPECT_TRUE(second_profile);
610 617
611 // Verify that the device-global invalidation service still does not exist. 618 // Verify that the device-global invalidation service still does not exist.
612 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest()); 619 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest());
613 620
614 // Create a per-profile invalidation service for the second user. 621 // Create a per-profile invalidation service for the second user.
615 invalidation::FakeInvalidationService* second_profile_invalidation_service = 622 invalidation::FakeInvalidationService* second_profile_invalidation_service =
616 GetProfileInvalidationService(second_profile, true /* create */); 623 GetProfileInvalidationService(second_profile, true /* create */);
617 ASSERT_TRUE(second_profile_invalidation_service); 624 ASSERT_TRUE(second_profile_invalidation_service);
618 625
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 EXPECT_EQ(0, consumer_->GetAndClearInvalidationServiceSetCount()); 659 EXPECT_EQ(0, consumer_->GetAndClearInvalidationServiceSetCount());
653 provider_->Shutdown(); 660 provider_->Shutdown();
654 EXPECT_EQ(1, consumer_->GetAndClearInvalidationServiceSetCount()); 661 EXPECT_EQ(1, consumer_->GetAndClearInvalidationServiceSetCount());
655 EXPECT_EQ(nullptr, consumer_->GetInvalidationService()); 662 EXPECT_EQ(nullptr, consumer_->GetInvalidationService());
656 663
657 // Verify that the device-global invalidation service has been destroyed. 664 // Verify that the device-global invalidation service has been destroyed.
658 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest()); 665 EXPECT_FALSE(provider_->GetDeviceInvalidationServiceForTest());
659 } 666 }
660 667
661 } // namespace policy 668 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698