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

Unified Diff: chrome/browser/chromeos/login/online_attempt_unittest.cc

Issue 286933002: [cros login] Split login related classes into subfolders. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix includes in new tests Created 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/online_attempt_unittest.cc
diff --git a/chrome/browser/chromeos/login/online_attempt_unittest.cc b/chrome/browser/chromeos/login/online_attempt_unittest.cc
deleted file mode 100644
index 9f13fb5367c96f267b6960efa55fadf58cf6b9cd..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/login/online_attempt_unittest.cc
+++ /dev/null
@@ -1,228 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <string>
-
-#include "base/bind.h"
-#include "base/memory/ref_counted.h"
-#include "base/run_loop.h"
-#include "chrome/browser/chromeos/login/auth_attempt_state.h"
-#include "chrome/browser/chromeos/login/mock_auth_attempt_state_resolver.h"
-#include "chrome/browser/chromeos/login/mock_url_fetchers.h"
-#include "chrome/browser/chromeos/login/online_attempt.h"
-#include "chrome/browser/chromeos/login/test_attempt_state.h"
-#include "chrome/browser/chromeos/login/user.h"
-#include "chrome/test/base/testing_profile.h"
-#include "content/public/browser/browser_thread.h"
-#include "content/public/test/test_browser_thread_bundle.h"
-#include "google_apis/gaia/gaia_auth_consumer.h"
-#include "google_apis/gaia/mock_url_fetcher_factory.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "url/gurl.h"
-
-using ::testing::AnyNumber;
-using ::testing::Invoke;
-using ::testing::Return;
-using ::testing::_;
-using content::BrowserThread;
-
-namespace chromeos {
-
-class OnlineAttemptTest : public testing::Test {
- public:
- OnlineAttemptTest()
- : state_(UserContext(), "", "", User::USER_TYPE_REGULAR, false),
- attempt_(new OnlineAttempt(&state_, &resolver_)) {
- }
-
- void RunFailureTest(const GoogleServiceAuthError& error) {
- EXPECT_CALL(resolver_, Resolve())
- .Times(1)
- .RetiresOnSaturation();
-
- BrowserThread::PostTask(
- BrowserThread::UI, FROM_HERE,
- base::Bind(&OnlineAttempt::OnClientLoginFailure,
- attempt_->weak_factory_.GetWeakPtr(),
- error));
- // Force UI thread to finish tasks so I can verify |state_|.
- base::RunLoop().RunUntilIdle();
- EXPECT_TRUE(error == state_.online_outcome().error());
- }
-
- void CancelLogin(OnlineAttempt* auth) {
- BrowserThread::PostTask(
- BrowserThread::UI, FROM_HERE,
- base::Bind(&OnlineAttempt::CancelClientLogin,
- auth->weak_factory_.GetWeakPtr()));
- }
-
- content::TestBrowserThreadBundle thread_bundle_;
- TestAttemptState state_;
- MockAuthAttemptStateResolver resolver_;
- scoped_ptr<OnlineAttempt> attempt_;
-};
-
-TEST_F(OnlineAttemptTest, LoginSuccess) {
- EXPECT_CALL(resolver_, Resolve())
- .Times(1)
- .RetiresOnSaturation();
-
- BrowserThread::PostTask(
- BrowserThread::UI, FROM_HERE,
- base::Bind(&OnlineAttempt::OnClientLoginSuccess,
- attempt_->weak_factory_.GetWeakPtr(),
- GaiaAuthConsumer::ClientLoginResult()));
- // Force UI thread to finish tasks so I can verify |state_|.
- base::RunLoop().RunUntilIdle();
-}
-
-TEST_F(OnlineAttemptTest, LoginCancelRetry) {
- GoogleServiceAuthError error(GoogleServiceAuthError::REQUEST_CANCELED);
- TestingProfile profile;
-
- base::RunLoop run_loop;
- EXPECT_CALL(resolver_, Resolve())
- .WillOnce(Invoke(&run_loop, &base::RunLoop::Quit))
- .RetiresOnSaturation();
-
- // This is how we inject fake URLFetcher objects, with a factory.
- // This factory creates fake URLFetchers that Start() a fake fetch attempt
- // and then come back on the UI thread saying they've been canceled.
- MockURLFetcherFactory<GotCanceledFetcher> factory;
-
- attempt_->Initiate(&profile);
-
- run_loop.Run();
-
- EXPECT_TRUE(error == state_.online_outcome().error());
- EXPECT_EQ(LoginFailure::NETWORK_AUTH_FAILED,
- state_.online_outcome().reason());
-}
-
-TEST_F(OnlineAttemptTest, LoginTimeout) {
- LoginFailure error(LoginFailure::LOGIN_TIMED_OUT);
- TestingProfile profile;
-
- base::RunLoop run_loop;
- EXPECT_CALL(resolver_, Resolve())
- .WillOnce(Invoke(&run_loop, &base::RunLoop::Quit))
- .RetiresOnSaturation();
-
- // This is how we inject fake URLFetcher objects, with a factory.
- // This factory creates fake URLFetchers that Start() a fake fetch attempt
- // and then come back on the UI thread saying they've been canceled.
- MockURLFetcherFactory<ExpectCanceledFetcher> factory;
-
- attempt_->Initiate(&profile);
-
- // Post a task to cancel the login attempt.
- CancelLogin(attempt_.get());
-
- run_loop.Run();
-
- EXPECT_EQ(LoginFailure::LOGIN_TIMED_OUT, state_.online_outcome().reason());
-}
-
-TEST_F(OnlineAttemptTest, HostedLoginRejected) {
- LoginFailure error(
- LoginFailure::FromNetworkAuthFailure(
- GoogleServiceAuthError(
- GoogleServiceAuthError::HOSTED_NOT_ALLOWED)));
- TestingProfile profile;
-
- base::RunLoop run_loop;
- EXPECT_CALL(resolver_, Resolve())
- .WillOnce(Invoke(&run_loop, &base::RunLoop::Quit))
- .RetiresOnSaturation();
-
- // This is how we inject fake URLFetcher objects, with a factory.
- MockURLFetcherFactory<HostedFetcher> factory;
-
- TestAttemptState local_state(UserContext(), "", "",
- User::USER_TYPE_REGULAR, true);
- attempt_.reset(new OnlineAttempt(&local_state, &resolver_));
- attempt_->Initiate(&profile);
-
- run_loop.Run();
-
- EXPECT_EQ(error, local_state.online_outcome());
- EXPECT_EQ(LoginFailure::NETWORK_AUTH_FAILED,
- local_state.online_outcome().reason());
-}
-
-TEST_F(OnlineAttemptTest, FullLogin) {
- TestingProfile profile;
-
- base::RunLoop run_loop;
- EXPECT_CALL(resolver_, Resolve())
- .WillOnce(Invoke(&run_loop, &base::RunLoop::Quit))
- .RetiresOnSaturation();
-
- // This is how we inject fake URLFetcher objects, with a factory.
- MockURLFetcherFactory<SuccessFetcher> factory;
-
- TestAttemptState local_state(UserContext(), "", "",
- User::USER_TYPE_REGULAR, true);
- attempt_.reset(new OnlineAttempt(&local_state, &resolver_));
- attempt_->Initiate(&profile);
-
- run_loop.Run();
-
- EXPECT_EQ(LoginFailure::LoginFailureNone(), local_state.online_outcome());
-}
-
-TEST_F(OnlineAttemptTest, LoginNetFailure) {
- RunFailureTest(
- GoogleServiceAuthError::FromConnectionError(net::ERR_CONNECTION_RESET));
-}
-
-TEST_F(OnlineAttemptTest, LoginDenied) {
- RunFailureTest(
- GoogleServiceAuthError(GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS));
-}
-
-TEST_F(OnlineAttemptTest, LoginAccountDisabled) {
- RunFailureTest(
- GoogleServiceAuthError(GoogleServiceAuthError::ACCOUNT_DISABLED));
-}
-
-TEST_F(OnlineAttemptTest, LoginAccountDeleted) {
- RunFailureTest(
- GoogleServiceAuthError(GoogleServiceAuthError::ACCOUNT_DELETED));
-}
-
-TEST_F(OnlineAttemptTest, LoginServiceUnavailable) {
- RunFailureTest(
- GoogleServiceAuthError(GoogleServiceAuthError::SERVICE_UNAVAILABLE));
-}
-
-TEST_F(OnlineAttemptTest, CaptchaErrorOutputted) {
- GoogleServiceAuthError auth_error =
- GoogleServiceAuthError::FromClientLoginCaptchaChallenge(
- "CCTOKEN",
- GURL("http://accounts.google.com/Captcha?ctoken=CCTOKEN"),
- GURL("http://www.google.com/login/captcha"));
- RunFailureTest(auth_error);
-}
-
-TEST_F(OnlineAttemptTest, TwoFactorSuccess) {
- EXPECT_CALL(resolver_, Resolve())
- .Times(1)
- .RetiresOnSaturation();
- GoogleServiceAuthError error(GoogleServiceAuthError::TWO_FACTOR);
- BrowserThread::PostTask(
- BrowserThread::UI, FROM_HERE,
- base::Bind(&OnlineAttempt::OnClientLoginFailure,
- attempt_->weak_factory_.GetWeakPtr(),
- error));
-
- // Force UI thread to finish tasks so I can verify |state_|.
- base::RunLoop().RunUntilIdle();
- EXPECT_TRUE(GoogleServiceAuthError::AuthErrorNone() ==
- state_.online_outcome().error());
-}
-
-} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/login/online_attempt_host.cc ('k') | chrome/browser/chromeos/login/oobe_base_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698