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 "components/signin/core/browser/signin_manager.h" | 5 #include "components/signin/core/browser/signin_manager.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 | 299 |
300 manager_->SetAuthenticatedUsername("user@gmail.com"); | 300 manager_->SetAuthenticatedUsername("user@gmail.com"); |
301 manager_->ProhibitSignout(true); | 301 manager_->ProhibitSignout(true); |
302 manager_->SignOut(signin_metrics::SIGNOUT_TEST); | 302 manager_->SignOut(signin_metrics::SIGNOUT_TEST); |
303 EXPECT_TRUE(manager_->IsAuthenticated()); | 303 EXPECT_TRUE(manager_->IsAuthenticated()); |
304 manager_->ProhibitSignout(false); | 304 manager_->ProhibitSignout(false); |
305 manager_->SignOut(signin_metrics::SIGNOUT_TEST); | 305 manager_->SignOut(signin_metrics::SIGNOUT_TEST); |
306 EXPECT_FALSE(manager_->IsAuthenticated()); | 306 EXPECT_FALSE(manager_->IsAuthenticated()); |
307 } | 307 } |
308 | 308 |
309 TEST_F(SigninManagerTest, TestIsWebBasedSigninFlowURL) { | |
310 EXPECT_FALSE(SigninManager::IsWebBasedSigninFlowURL( | |
311 GURL("http://www.google.com"))); | |
312 EXPECT_TRUE(SigninManager::IsWebBasedSigninFlowURL( | |
313 GURL("https://accounts.google.com/ServiceLogin?service=chromiumsync"))); | |
314 EXPECT_FALSE(SigninManager::IsWebBasedSigninFlowURL( | |
315 GURL("http://accounts.google.com/ServiceLogin?service=chromiumsync"))); | |
316 // http, not https, should not be treated as web based signin. | |
317 EXPECT_FALSE(SigninManager::IsWebBasedSigninFlowURL( | |
318 GURL("http://accounts.google.com/ServiceLogin?service=googlemail"))); | |
319 // chromiumsync is double-embedded in a continue query param. | |
320 EXPECT_TRUE(SigninManager::IsWebBasedSigninFlowURL( | |
321 GURL("https://accounts.google.com/CheckCookie?" | |
322 "continue=https%3A%2F%2Fwww.google.com%2Fintl%2Fen-US%2Fchrome" | |
323 "%2Fblank.html%3Fsource%3D3%26nonadv%3D1&service=chromiumsync"))); | |
324 } | |
325 | |
326 TEST_F(SigninManagerTest, Prohibited) { | 309 TEST_F(SigninManagerTest, Prohibited) { |
327 g_browser_process->local_state()->SetString( | 310 g_browser_process->local_state()->SetString( |
328 prefs::kGoogleServicesUsernamePattern, ".*@google.com"); | 311 prefs::kGoogleServicesUsernamePattern, ".*@google.com"); |
329 CreateNakedSigninManager(); | 312 CreateNakedSigninManager(); |
330 manager_->Initialize(g_browser_process->local_state()); | 313 manager_->Initialize(g_browser_process->local_state()); |
331 EXPECT_TRUE(manager_->IsAllowedUsername("test@google.com")); | 314 EXPECT_TRUE(manager_->IsAllowedUsername("test@google.com")); |
332 EXPECT_TRUE(manager_->IsAllowedUsername("happy@google.com")); | 315 EXPECT_TRUE(manager_->IsAllowedUsername("happy@google.com")); |
333 EXPECT_FALSE(manager_->IsAllowedUsername("test@invalid.com")); | 316 EXPECT_FALSE(manager_->IsAllowedUsername("test@invalid.com")); |
334 EXPECT_FALSE(manager_->IsAllowedUsername("test@notgoogle.com")); | 317 EXPECT_FALSE(manager_->IsAllowedUsername("test@notgoogle.com")); |
335 EXPECT_FALSE(manager_->IsAllowedUsername(std::string())); | 318 EXPECT_FALSE(manager_->IsAllowedUsername(std::string())); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
387 profile()->GetPrefs()->GetString(prefs::kGoogleServicesUsername)); | 370 profile()->GetPrefs()->GetString(prefs::kGoogleServicesUsername)); |
388 EXPECT_EQ("external@example.com", manager_->GetAuthenticatedUsername()); | 371 EXPECT_EQ("external@example.com", manager_->GetAuthenticatedUsername()); |
389 } | 372 } |
390 | 373 |
391 TEST_F(SigninManagerTest, SigninNotAllowed) { | 374 TEST_F(SigninManagerTest, SigninNotAllowed) { |
392 std::string user("user@google.com"); | 375 std::string user("user@google.com"); |
393 profile()->GetPrefs()->SetString(prefs::kGoogleServicesUsername, user); | 376 profile()->GetPrefs()->SetString(prefs::kGoogleServicesUsername, user); |
394 profile()->GetPrefs()->SetBoolean(prefs::kSigninAllowed, false); | 377 profile()->GetPrefs()->SetBoolean(prefs::kSigninAllowed, false); |
395 SetUpSigninManagerAsService(); | 378 SetUpSigninManagerAsService(); |
396 } | 379 } |
OLD | NEW |