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

Side by Side Diff: chrome/browser/signin/signin_manager_unittest.cc

Issue 14630003: signin: move SigninManagerBase::Signout to SigninManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: apocalypse Created 7 years, 7 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 | Annotate | Revision Log
OLDNEW
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/signin/signin_manager.h" 5 #include "chrome/browser/signin/signin_manager.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 GURL("http://accounts.google.com/ServiceLogin?service=chromiumsync"))); 607 GURL("http://accounts.google.com/ServiceLogin?service=chromiumsync")));
608 // http, not https, should not be treated as web based signin. 608 // http, not https, should not be treated as web based signin.
609 EXPECT_FALSE(SigninManager::IsWebBasedSigninFlowURL( 609 EXPECT_FALSE(SigninManager::IsWebBasedSigninFlowURL(
610 GURL("http://accounts.google.com/ServiceLogin?service=googlemail"))); 610 GURL("http://accounts.google.com/ServiceLogin?service=googlemail")));
611 // chromiumsync is double-embedded in a continue query param. 611 // chromiumsync is double-embedded in a continue query param.
612 EXPECT_TRUE(SigninManager::IsWebBasedSigninFlowURL( 612 EXPECT_TRUE(SigninManager::IsWebBasedSigninFlowURL(
613 GURL("https://accounts.google.com/CheckCookie?" 613 GURL("https://accounts.google.com/CheckCookie?"
614 "continue=https%3A%2F%2Fwww.google.com%2Fintl%2Fen-US%2Fchrome" 614 "continue=https%3A%2F%2Fwww.google.com%2Fintl%2Fen-US%2Fchrome"
615 "%2Fblank.html%3Fsource%3D3%26nonadv%3D1&service=chromiumsync"))); 615 "%2Fblank.html%3Fsource%3D3%26nonadv%3D1&service=chromiumsync")));
616 } 616 }
617
618 TEST_F(SigninManagerTest, Prohibited) {
619 g_browser_process->local_state()->SetString(
620 prefs::kGoogleServicesUsernamePattern, ".*@google.com");
621 manager_->Initialize(profile_.get());
622 EXPECT_TRUE(manager_->IsAllowedUsername("test@google.com"));
623 EXPECT_TRUE(manager_->IsAllowedUsername("happy@google.com"));
624 EXPECT_FALSE(manager_->IsAllowedUsername("test@invalid.com"));
625 EXPECT_FALSE(manager_->IsAllowedUsername("test@notgoogle.com"));
626 EXPECT_FALSE(manager_->IsAllowedUsername(std::string()));
627 }
628
629 TEST_F(SigninManagerTest, TestAlternateWildcard) {
630 // Test to make sure we accept "*@google.com" as a pattern (treat it as if
631 // the admin entered ".*@google.com").
632 g_browser_process->local_state()->SetString(
633 prefs::kGoogleServicesUsernamePattern, "*@google.com");
634 manager_->Initialize(profile_.get());
635 EXPECT_TRUE(manager_->IsAllowedUsername("test@google.com"));
636 EXPECT_TRUE(manager_->IsAllowedUsername("happy@google.com"));
637 EXPECT_FALSE(manager_->IsAllowedUsername("test@invalid.com"));
638 EXPECT_FALSE(manager_->IsAllowedUsername("test@notgoogle.com"));
639 EXPECT_FALSE(manager_->IsAllowedUsername(std::string()));
640 }
641
642 TEST_F(SigninManagerTest, ProhibitedAtStartup) {
643 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername,
644 "monkey@invalid.com");
645 g_browser_process->local_state()->SetString(
646 prefs::kGoogleServicesUsernamePattern, ".*@google.com");
647 manager_->Initialize(profile_.get());
648 // Currently signed in user is prohibited by policy, so should be signed out.
649 EXPECT_EQ("", manager_->GetAuthenticatedUsername());
650 }
651
652 TEST_F(SigninManagerTest, ProhibitedAfterStartup) {
653 std::string user("monkey@invalid.com");
654 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, user);
655 manager_->Initialize(profile_.get());
656 EXPECT_EQ(user, manager_->GetAuthenticatedUsername());
657 // Update the profile - user should be signed out.
658 g_browser_process->local_state()->SetString(
659 prefs::kGoogleServicesUsernamePattern, ".*@google.com");
660 EXPECT_EQ("", manager_->GetAuthenticatedUsername());
661 }
OLDNEW
« no previous file with comments | « chrome/browser/signin/signin_manager_base_unittest.cc ('k') | chrome/browser/signin/signin_tracker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698