OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/login/login_utils.h" | 5 #include "chrome/browser/chromeos/login/login_utils.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/files/scoped_temp_dir.h" | 10 #include "base/files/scoped_temp_dir.h" |
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
525 std::string device_policy_; | 525 std::string device_policy_; |
526 std::string user_policy_; | 526 std::string user_policy_; |
527 | 527 |
528 DISALLOW_COPY_AND_ASSIGN(LoginUtilsTest); | 528 DISALLOW_COPY_AND_ASSIGN(LoginUtilsTest); |
529 }; | 529 }; |
530 | 530 |
531 class LoginUtilsBlockingLoginTest | 531 class LoginUtilsBlockingLoginTest |
532 : public LoginUtilsTest, | 532 : public LoginUtilsTest, |
533 public testing::WithParamInterface<int> {}; | 533 public testing::WithParamInterface<int> {}; |
534 | 534 |
535 TEST_F(LoginUtilsTest, NormalLoginDoesntBlock) { | 535 TEST_F(LoginUtilsTest, NormalLoginDoesBlock) { |
536 UserManager* user_manager = UserManager::Get(); | 536 UserManager* user_manager = UserManager::Get(); |
537 EXPECT_FALSE(user_manager->IsUserLoggedIn()); | 537 EXPECT_FALSE(user_manager->IsUserLoggedIn()); |
538 EXPECT_FALSE(connector_->IsEnterpriseManaged()); | 538 EXPECT_FALSE(connector_->IsEnterpriseManaged()); |
539 EXPECT_FALSE(prepared_profile_); | 539 EXPECT_FALSE(prepared_profile_); |
540 EXPECT_EQ(policy::USER_AFFILIATION_NONE, | 540 EXPECT_EQ(policy::USER_AFFILIATION_NONE, |
541 connector_->GetUserAffiliation(kUsername)); | 541 connector_->GetUserAffiliation(kUsername)); |
542 | 542 |
543 // The profile will be created without waiting for a policy response. | 543 // First login in a unmanaged device would still block to verify if there is |
bartfab (slow)
2014/07/08 17:40:33
Nit: Use indicative, not subjunctive.
kaliamoorthi
2014/07/11 10:05:19
Removed the whole test
| |
544 // a user cloud policy for the user. | |
544 PrepareProfile(kUsername); | 545 PrepareProfile(kUsername); |
545 | 546 |
546 EXPECT_TRUE(prepared_profile_); | 547 EXPECT_FALSE(prepared_profile_); |
547 ASSERT_TRUE(user_manager->IsUserLoggedIn()); | |
548 EXPECT_EQ(kUsername, user_manager->GetLoggedInUser()->email()); | |
549 } | 548 } |
550 | 549 |
551 TEST_F(LoginUtilsTest, EnterpriseLoginDoesntBlockForNormalUser) { | 550 TEST_F(LoginUtilsTest, EnterpriseLoginDoesBlockForNormalUser) { |
552 UserManager* user_manager = UserManager::Get(); | 551 UserManager* user_manager = UserManager::Get(); |
553 EXPECT_FALSE(user_manager->IsUserLoggedIn()); | 552 EXPECT_FALSE(user_manager->IsUserLoggedIn()); |
554 EXPECT_FALSE(connector_->IsEnterpriseManaged()); | 553 EXPECT_FALSE(connector_->IsEnterpriseManaged()); |
555 EXPECT_FALSE(prepared_profile_); | 554 EXPECT_FALSE(prepared_profile_); |
556 | 555 |
557 // Enroll the device. | 556 // Enroll the device. |
558 EnrollDevice(kUsername); | 557 EnrollDevice(kUsername); |
559 | 558 |
560 EXPECT_FALSE(user_manager->IsUserLoggedIn()); | 559 EXPECT_FALSE(user_manager->IsUserLoggedIn()); |
561 EXPECT_TRUE(connector_->IsEnterpriseManaged()); | 560 EXPECT_TRUE(connector_->IsEnterpriseManaged()); |
562 EXPECT_EQ(kDomain, connector_->GetEnterpriseDomain()); | 561 EXPECT_EQ(kDomain, connector_->GetEnterpriseDomain()); |
563 EXPECT_FALSE(prepared_profile_); | 562 EXPECT_FALSE(prepared_profile_); |
564 EXPECT_EQ(policy::USER_AFFILIATION_NONE, | 563 EXPECT_EQ(policy::USER_AFFILIATION_NONE, |
565 connector_->GetUserAffiliation(kUsernameOtherDomain)); | 564 connector_->GetUserAffiliation(kUsernameOtherDomain)); |
566 | 565 |
567 // Login with a non-enterprise user shouldn't block. | 566 // First login with a non-enterprise user would still block to verify if |
567 // there is a user cloud policy for it. | |
568 PrepareProfile(kUsernameOtherDomain); | 568 PrepareProfile(kUsernameOtherDomain); |
bartfab (slow)
2014/07/08 17:40:33
This is not necessarily a non-enterprise user. The
kaliamoorthi
2014/07/11 10:05:19
Removed these and folded them into the existing pa
| |
569 | 569 |
570 EXPECT_TRUE(prepared_profile_); | 570 EXPECT_FALSE(prepared_profile_); |
571 ASSERT_TRUE(user_manager->IsUserLoggedIn()); | |
572 EXPECT_EQ(kUsernameOtherDomain, user_manager->GetLoggedInUser()->email()); | |
573 } | 571 } |
574 | 572 |
575 #if defined(ENABLE_RLZ) | 573 #if defined(ENABLE_RLZ) |
576 TEST_F(LoginUtilsTest, RlzInitialized) { | 574 TEST_F(LoginUtilsTest, RlzInitialized) { |
577 // No RLZ brand code set initially. | 575 // No RLZ brand code set initially. |
578 EXPECT_FALSE(local_state_.Get()->HasPrefPath(prefs::kRLZBrand)); | 576 EXPECT_FALSE(local_state_.Get()->HasPrefPath(prefs::kRLZBrand)); |
579 | 577 |
580 base::RunLoop wait_for_rlz_init; | 578 base::RunLoop wait_for_rlz_init; |
581 rlz_initialized_cb_ = wait_for_rlz_init.QuitClosure(); | 579 rlz_initialized_cb_ = wait_for_rlz_init.QuitClosure(); |
582 | 580 |
(...skipping 28 matching lines...) Expand all Loading... | |
611 EXPECT_TRUE(connector_->IsEnterpriseManaged()); | 609 EXPECT_TRUE(connector_->IsEnterpriseManaged()); |
612 EXPECT_EQ(kDomain, connector_->GetEnterpriseDomain()); | 610 EXPECT_EQ(kDomain, connector_->GetEnterpriseDomain()); |
613 EXPECT_FALSE(prepared_profile_); | 611 EXPECT_FALSE(prepared_profile_); |
614 EXPECT_EQ(policy::USER_AFFILIATION_MANAGED, | 612 EXPECT_EQ(policy::USER_AFFILIATION_MANAGED, |
615 connector_->GetUserAffiliation(kUsername)); | 613 connector_->GetUserAffiliation(kUsername)); |
616 EXPECT_FALSE(user_manager->IsKnownUser(kUsername)); | 614 EXPECT_FALSE(user_manager->IsKnownUser(kUsername)); |
617 | 615 |
618 // Login with a user of the enterprise domain waits for policy. | 616 // Login with a user of the enterprise domain waits for policy. |
619 PrepareProfile(kUsername); | 617 PrepareProfile(kUsername); |
620 | 618 |
621 EXPECT_FALSE(prepared_profile_); | 619 EXPECT_FALSE(prepared_profile_); |
bartfab (slow)
2014/07/08 17:40:33
This test actually verifies that the blocking poli
kaliamoorthi
2014/07/11 10:05:19
Done.
| |
622 ASSERT_TRUE(user_manager->IsUserLoggedIn()); | 620 ASSERT_TRUE(user_manager->IsUserLoggedIn()); |
623 EXPECT_TRUE(user_manager->IsCurrentUserNew()); | 621 EXPECT_TRUE(user_manager->IsCurrentUserNew()); |
624 | 622 |
625 GaiaUrls* gaia_urls = GaiaUrls::GetInstance(); | 623 GaiaUrls* gaia_urls = GaiaUrls::GetInstance(); |
626 net::TestURLFetcher* fetcher; | 624 net::TestURLFetcher* fetcher; |
627 | 625 |
628 // |steps| is the test parameter, and is the number of successful fetches. | 626 // |steps| is the test parameter, and is the number of successful fetches. |
629 // The first incomplete fetch will fail. In any case, the profile creation | 627 // The first incomplete fetch will fail. In any case, the profile creation |
630 // should resume. | 628 // should resume. |
631 int steps = GetParam(); | 629 int steps = GetParam(); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
704 } | 702 } |
705 | 703 |
706 INSTANTIATE_TEST_CASE_P( | 704 INSTANTIATE_TEST_CASE_P( |
707 LoginUtilsBlockingLoginTestInstance, | 705 LoginUtilsBlockingLoginTestInstance, |
708 LoginUtilsBlockingLoginTest, | 706 LoginUtilsBlockingLoginTest, |
709 testing::Values(0, 1, 2, 3, 4, 5)); | 707 testing::Values(0, 1, 2, 3, 4, 5)); |
710 | 708 |
711 } // namespace | 709 } // namespace |
712 | 710 |
713 } // namespace chromeos | 711 } // namespace chromeos |
OLD | NEW |