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

Unified Diff: chrome/browser/sync/sync_setup_wizard_unittest.cc

Issue 389017: Implement the gaia captcha state and unlock capability in the sync setup wiza... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/sync_setup_wizard_unittest.cc
===================================================================
--- chrome/browser/sync/sync_setup_wizard_unittest.cc (revision 31729)
+++ chrome/browser/sync/sync_setup_wizard_unittest.cc (working copy)
@@ -21,6 +21,8 @@
static const char* kTestUser = "chrome.p13n.test@gmail.com";
static const char* kTestPassword = "passwd";
+static const char* kTestCaptcha = "pizzamyheart";
+static const char* kTestCaptchaUrl = "http://pizzamyheart/";
typedef GoogleServiceAuthError AuthError;
@@ -36,9 +38,11 @@
virtual ~ProfileSyncServiceForWizardTest() { }
virtual void OnUserSubmittedAuth(const std::string& username,
- const std::string& password) {
+ const std::string& password,
+ const std::string& captcha) {
username_ = username;
password_ = password;
+ captcha_ = captcha;
}
virtual void OnUserAcceptedMergeAndSync() {
user_accepted_merge_and_sync_ = true;
@@ -52,20 +56,22 @@
}
void set_auth_state(const std::string& last_email,
- const AuthError::State& state) {
+ const AuthError& error) {
last_attempted_user_email_ = last_email;
- last_auth_error_ = AuthError(state);
+ last_auth_error_ = error;
}
void ResetTestStats() {
username_.clear();
password_.clear();
+ captcha_.clear();
user_accepted_merge_and_sync_ = false;
user_cancelled_dialog_ = false;
}
std::string username_;
std::string password_;
+ std::string captcha_;
bool user_accepted_merge_and_sync_;
bool user_cancelled_dialog_;
@@ -188,7 +194,8 @@
ListValue credentials;
std::string auth = "{\"user\":\"";
auth += std::string(kTestUser) + "\",\"pass\":\"";
- auth += std::string(kTestPassword) + "\"}";
+ auth += std::string(kTestPassword) + "\",\"captcha\":\"";
+ auth += std::string(kTestCaptcha) + "\"}";
credentials.Append(new StringValue(auth));
EXPECT_FALSE(wizard_->IsVisible());
@@ -207,27 +214,44 @@
EXPECT_EQ(SyncSetupWizard::GAIA_LOGIN, test_window_->flow()->current_state_);
EXPECT_EQ(kTestUser, service_->username_);
EXPECT_EQ(kTestPassword, service_->password_);
+ EXPECT_EQ(kTestCaptcha, service_->captcha_);
EXPECT_FALSE(service_->user_accepted_merge_and_sync_);
EXPECT_FALSE(service_->user_cancelled_dialog_);
service_->ResetTestStats();
// Simulate failed credentials.
- service_->set_auth_state(kTestUser, AuthError::INVALID_GAIA_CREDENTIALS);
+ AuthError invalid_gaia(AuthError::INVALID_GAIA_CREDENTIALS);
+ service_->set_auth_state(kTestUser, invalid_gaia);
wizard_->Step(SyncSetupWizard::GAIA_LOGIN);
EXPECT_TRUE(wizard_->IsVisible());
EXPECT_FALSE(test_window_->TestAndResetWasShowHTMLDialogCalled());
EXPECT_EQ(SyncSetupWizard::GAIA_LOGIN, test_window_->flow()->current_state_);
dialog_args.Clear();
SyncSetupFlow::GetArgsForGaiaLogin(service_, &dialog_args);
- EXPECT_TRUE(2 == dialog_args.GetSize());
+ EXPECT_TRUE(3 == dialog_args.GetSize());
std::string actual_user;
dialog_args.GetString(L"user", &actual_user);
EXPECT_EQ(kTestUser, actual_user);
int error = -1;
dialog_args.GetInteger(L"error", &error);
EXPECT_EQ(static_cast<int>(AuthError::INVALID_GAIA_CREDENTIALS), error);
- service_->set_auth_state(kTestUser, AuthError::NONE);
+ service_->set_auth_state(kTestUser, AuthError::None());
+ // Simulate captcha.
+ AuthError captcha_error(AuthError::FromCaptchaChallenge(
+ std::string(), GURL(kTestCaptchaUrl), GURL()));
+ service_->set_auth_state(kTestUser, captcha_error);
+ wizard_->Step(SyncSetupWizard::GAIA_LOGIN);
+ SyncSetupFlow::GetArgsForGaiaLogin(service_, &dialog_args);
+ EXPECT_TRUE(3 == dialog_args.GetSize());
+ std::string captcha_url;
+ dialog_args.GetString(L"captchaUrl", &captcha_url);
+ EXPECT_EQ(kTestCaptchaUrl, GURL(captcha_url).spec());
+ error = -1;
+ dialog_args.GetInteger(L"error", &error);
+ EXPECT_EQ(static_cast<int>(AuthError::CAPTCHA_REQUIRED), error);
+ service_->set_auth_state(kTestUser, AuthError::None());
+
// Simulate success.
wizard_->Step(SyncSetupWizard::GAIA_SUCCESS);
EXPECT_TRUE(wizard_->IsVisible());
@@ -365,18 +389,19 @@
wizard_->Step(SyncSetupWizard::GAIA_LOGIN);
EXPECT_EQ(SyncSetupWizard::GAIA_SUCCESS, test_window_->flow()->end_state_);
- service_->set_auth_state(kTestUser, AuthError::INVALID_GAIA_CREDENTIALS);
+ AuthError invalid_gaia(AuthError::INVALID_GAIA_CREDENTIALS);
+ service_->set_auth_state(kTestUser, invalid_gaia);
wizard_->Step(SyncSetupWizard::GAIA_LOGIN);
EXPECT_TRUE(wizard_->IsVisible());
SyncSetupFlow::GetArgsForGaiaLogin(service_, &dialog_args);
- EXPECT_TRUE(2 == dialog_args.GetSize());
+ EXPECT_TRUE(3 == dialog_args.GetSize());
std::string actual_user;
dialog_args.GetString(L"user", &actual_user);
EXPECT_EQ(kTestUser, actual_user);
int error = -1;
dialog_args.GetInteger(L"error", &error);
EXPECT_EQ(static_cast<int>(AuthError::INVALID_GAIA_CREDENTIALS), error);
- service_->set_auth_state(kTestUser, AuthError::NONE);
+ service_->set_auth_state(kTestUser, AuthError::None());
wizard_->Step(SyncSetupWizard::GAIA_SUCCESS);
EXPECT_TRUE(test_window_->TestAndResetWasShowHTMLDialogCalled());
« no previous file with comments | « chrome/browser/sync/sync_setup_wizard.cc ('k') | chrome/test/live_sync/profile_sync_service_test_harness.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698