| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/sync/sync_setup_wizard.h" | 5 #include "chrome/browser/sync/sync_setup_wizard.h" |
| 6 | 6 |
| 7 #include "base/json/json_writer.h" | 7 #include "base/json/json_writer.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 const syncable::ModelTypeSet& chosen_types) { | 81 const syncable::ModelTypeSet& chosen_types) { |
| 82 user_chose_data_types_ = true; | 82 user_chose_data_types_ = true; |
| 83 chosen_data_types_ = chosen_types; | 83 chosen_data_types_ = chosen_types; |
| 84 } | 84 } |
| 85 | 85 |
| 86 virtual void OnUserCancelledDialog() { | 86 virtual void OnUserCancelledDialog() { |
| 87 user_cancelled_dialog_ = true; | 87 user_cancelled_dialog_ = true; |
| 88 } | 88 } |
| 89 | 89 |
| 90 virtual void SetPassphrase(const std::string& passphrase, | 90 virtual void SetPassphrase(const std::string& passphrase, |
| 91 bool is_explicit, | 91 bool is_explicit) { |
| 92 bool is_creation) { | |
| 93 passphrase_ = passphrase; | 92 passphrase_ = passphrase; |
| 94 } | 93 } |
| 95 | 94 |
| 96 virtual string16 GetAuthenticatedUsername() const { | 95 virtual string16 GetAuthenticatedUsername() const { |
| 97 return UTF8ToUTF16(username_); | 96 return UTF8ToUTF16(username_); |
| 98 } | 97 } |
| 99 | 98 |
| 100 virtual bool IsUsingSecondaryPassphrase() const { | 99 virtual bool IsUsingSecondaryPassphrase() const { |
| 101 // The only value of |is_using_secondary_passphrase_| we current care about | 100 // The only value of |is_using_secondary_passphrase_| we current care about |
| 102 // is when it's true. | 101 // is when it's true. |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 | 227 |
| 229 #if defined(OS_MACOSX) | 228 #if defined(OS_MACOSX) |
| 230 #define SKIP_TEST_ON_MACOSX() \ | 229 #define SKIP_TEST_ON_MACOSX() \ |
| 231 do { LOG(WARNING) << "Test skipped on OS X"; return; } while (0) | 230 do { LOG(WARNING) << "Test skipped on OS X"; return; } while (0) |
| 232 #else | 231 #else |
| 233 #define SKIP_TEST_ON_MACOSX() do {} while (0) | 232 #define SKIP_TEST_ON_MACOSX() do {} while (0) |
| 234 #endif | 233 #endif |
| 235 | 234 |
| 236 TEST_F(SyncSetupWizardTest, InitialStepLogin) { | 235 TEST_F(SyncSetupWizardTest, InitialStepLogin) { |
| 237 SKIP_TEST_ON_MACOSX(); | 236 SKIP_TEST_ON_MACOSX(); |
| 238 DictionaryValue dialog_args; | |
| 239 SyncSetupFlow::GetArgsForGaiaLogin(service_, &dialog_args); | |
| 240 std::string json_start_args; | |
| 241 base::JSONWriter::Write(&dialog_args, false, &json_start_args); | |
| 242 ListValue credentials; | 237 ListValue credentials; |
| 243 std::string auth = "{\"user\":\""; | 238 std::string auth = "{\"user\":\""; |
| 244 auth += std::string(kTestUser) + "\",\"pass\":\""; | 239 auth += std::string(kTestUser) + "\",\"pass\":\""; |
| 245 auth += std::string(kTestPassword) + "\",\"captcha\":\""; | 240 auth += std::string(kTestPassword) + "\",\"captcha\":\""; |
| 246 auth += std::string(kTestCaptcha) + "\",\"access_code\":\""; | 241 auth += std::string(kTestCaptcha) + "\",\"access_code\":\""; |
| 247 auth += std::string() + "\"}"; | 242 auth += std::string() + "\"}"; |
| 248 credentials.Append(new StringValue(auth)); | 243 credentials.Append(new StringValue(auth)); |
| 249 | 244 |
| 250 EXPECT_FALSE(wizard_->IsVisible()); | 245 EXPECT_FALSE(wizard_->IsVisible()); |
| 251 EXPECT_EQ(static_cast<SyncSetupFlow*>(NULL), flow_); | 246 EXPECT_EQ(static_cast<SyncSetupFlow*>(NULL), flow_); |
| 252 wizard_->Step(SyncSetupWizard::GAIA_LOGIN); | 247 wizard_->Step(SyncSetupWizard::GAIA_LOGIN); |
| 253 AttachSyncSetupHandler(); | 248 AttachSyncSetupHandler(); |
| 254 | 249 |
| 255 EXPECT_TRUE(wizard_->IsVisible()); | 250 EXPECT_TRUE(wizard_->IsVisible()); |
| 256 EXPECT_EQ(SyncSetupWizard::GAIA_LOGIN, flow_->current_state_); | 251 EXPECT_EQ(SyncSetupWizard::GAIA_LOGIN, flow_->current_state_); |
| 257 EXPECT_EQ(SyncSetupWizard::DONE, flow_->end_state_); | 252 EXPECT_EQ(SyncSetupWizard::DONE, flow_->end_state_); |
| 258 EXPECT_EQ(json_start_args, flow_->dialog_start_args_); | |
| 259 | 253 |
| 260 // Simulate the user submitting credentials. | 254 // Simulate the user submitting credentials. |
| 261 handler_.HandleSubmitAuth(&credentials); | 255 handler_.HandleSubmitAuth(&credentials); |
| 262 EXPECT_TRUE(wizard_->IsVisible()); | 256 EXPECT_TRUE(wizard_->IsVisible()); |
| 263 EXPECT_EQ(SyncSetupWizard::GAIA_LOGIN, flow_->current_state_); | 257 EXPECT_EQ(SyncSetupWizard::GAIA_LOGIN, flow_->current_state_); |
| 264 EXPECT_EQ(kTestUser, service_->username_); | 258 EXPECT_EQ(kTestUser, service_->username_); |
| 265 EXPECT_EQ(kTestPassword, service_->password_); | 259 EXPECT_EQ(kTestPassword, service_->password_); |
| 266 EXPECT_EQ(kTestCaptcha, service_->captcha_); | 260 EXPECT_EQ(kTestCaptcha, service_->captcha_); |
| 267 EXPECT_FALSE(service_->user_cancelled_dialog_); | 261 EXPECT_FALSE(service_->user_cancelled_dialog_); |
| 268 service_->ResetTestStats(); | 262 service_->ResetTestStats(); |
| 269 | 263 |
| 270 // Simulate failed credentials. | 264 // Simulate failed credentials. |
| 271 AuthError invalid_gaia(AuthError::INVALID_GAIA_CREDENTIALS); | 265 AuthError invalid_gaia(AuthError::INVALID_GAIA_CREDENTIALS); |
| 272 service_->set_auth_state(kTestUser, invalid_gaia); | 266 service_->set_auth_state(kTestUser, invalid_gaia); |
| 273 wizard_->Step(SyncSetupWizard::GAIA_LOGIN); | 267 wizard_->Step(SyncSetupWizard::GAIA_LOGIN); |
| 274 EXPECT_TRUE(wizard_->IsVisible()); | 268 EXPECT_TRUE(wizard_->IsVisible()); |
| 275 EXPECT_EQ(SyncSetupWizard::GAIA_LOGIN, flow_->current_state_); | 269 EXPECT_EQ(SyncSetupWizard::GAIA_LOGIN, flow_->current_state_); |
| 276 dialog_args.Clear(); | 270 DictionaryValue dialog_args; |
| 277 SyncSetupFlow::GetArgsForGaiaLogin(service_, &dialog_args); | 271 SyncSetupFlow::GetArgsForGaiaLogin(service_, &dialog_args); |
| 278 EXPECT_EQ(4U, dialog_args.size()); | 272 EXPECT_EQ(4U, dialog_args.size()); |
| 279 std::string actual_user; | 273 std::string actual_user; |
| 280 dialog_args.GetString("user", &actual_user); | 274 dialog_args.GetString("user", &actual_user); |
| 281 EXPECT_EQ(kTestUser, actual_user); | 275 EXPECT_EQ(kTestUser, actual_user); |
| 282 int error = -1; | 276 int error = -1; |
| 283 dialog_args.GetInteger("error", &error); | 277 dialog_args.GetInteger("error", &error); |
| 284 EXPECT_EQ(static_cast<int>(AuthError::INVALID_GAIA_CREDENTIALS), error); | 278 EXPECT_EQ(static_cast<int>(AuthError::INVALID_GAIA_CREDENTIALS), error); |
| 285 service_->set_auth_state(kTestUser, AuthError::None()); | 279 service_->set_auth_state(kTestUser, AuthError::None()); |
| 286 | 280 |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 580 AuthError(GoogleServiceAuthError::SERVICE_UNAVAILABLE)); | 574 AuthError(GoogleServiceAuthError::SERVICE_UNAVAILABLE)); |
| 581 wizard_->Step(SyncSetupWizard::NONFATAL_ERROR); | 575 wizard_->Step(SyncSetupWizard::NONFATAL_ERROR); |
| 582 AttachSyncSetupHandler(); | 576 AttachSyncSetupHandler(); |
| 583 EXPECT_EQ(SyncSetupWizard::GAIA_LOGIN, flow_->current_state_); | 577 EXPECT_EQ(SyncSetupWizard::GAIA_LOGIN, flow_->current_state_); |
| 584 EXPECT_EQ(SyncSetupWizard::DONE, flow_->end_state_); | 578 EXPECT_EQ(SyncSetupWizard::DONE, flow_->end_state_); |
| 585 CloseSetupUI(); | 579 CloseSetupUI(); |
| 586 EXPECT_FALSE(wizard_->IsVisible()); | 580 EXPECT_FALSE(wizard_->IsVisible()); |
| 587 } | 581 } |
| 588 | 582 |
| 589 #undef SKIP_TEST_ON_MACOSX | 583 #undef SKIP_TEST_ON_MACOSX |
| OLD | NEW |