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 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
581 AuthError(GoogleServiceAuthError::SERVICE_UNAVAILABLE)); | 575 AuthError(GoogleServiceAuthError::SERVICE_UNAVAILABLE)); |
582 wizard_->Step(SyncSetupWizard::NONFATAL_ERROR); | 576 wizard_->Step(SyncSetupWizard::NONFATAL_ERROR); |
583 AttachSyncSetupHandler(); | 577 AttachSyncSetupHandler(); |
584 EXPECT_EQ(SyncSetupWizard::GAIA_LOGIN, flow_->current_state_); | 578 EXPECT_EQ(SyncSetupWizard::GAIA_LOGIN, flow_->current_state_); |
585 EXPECT_EQ(SyncSetupWizard::DONE, flow_->end_state_); | 579 EXPECT_EQ(SyncSetupWizard::DONE, flow_->end_state_); |
586 CloseSetupUI(); | 580 CloseSetupUI(); |
587 EXPECT_FALSE(wizard_->IsVisible()); | 581 EXPECT_FALSE(wizard_->IsVisible()); |
588 } | 582 } |
589 | 583 |
590 #undef SKIP_TEST_ON_MACOSX | 584 #undef SKIP_TEST_ON_MACOSX |
OLD | NEW |