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

Side by Side Diff: chrome/browser/sync/sync_setup_wizard_unittest.cc

Issue 3792007: Fix some problems with the ENTER_PASSPHRASE state in sync setup.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 2 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/sync/sync_setup_wizard.cc ('k') | chrome/browser/sync/sync_ui_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/scoped_ptr.h" 8 #include "base/scoped_ptr.h"
9 #include "base/stl_util-inl.h" 9 #include "base/stl_util-inl.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 virtual void OnUserChoseDatatypes(bool sync_everything, 52 virtual void OnUserChoseDatatypes(bool sync_everything,
53 const syncable::ModelTypeSet& chosen_types) { 53 const syncable::ModelTypeSet& chosen_types) {
54 user_chose_data_types_ = true; 54 user_chose_data_types_ = true;
55 chosen_data_types_ = chosen_types; 55 chosen_data_types_ = chosen_types;
56 } 56 }
57 57
58 virtual void OnUserCancelledDialog() { 58 virtual void OnUserCancelledDialog() {
59 user_cancelled_dialog_ = true; 59 user_cancelled_dialog_ = true;
60 } 60 }
61 61
62 virtual void SetSecondaryPassphrase(const std::string& passphrase) {
63 passphrase_ = passphrase;
64 }
65
62 virtual string16 GetAuthenticatedUsername() const { 66 virtual string16 GetAuthenticatedUsername() const {
63 return UTF8ToUTF16(username_); 67 return UTF8ToUTF16(username_);
64 } 68 }
65 69
66 void set_auth_state(const std::string& last_email, 70 void set_auth_state(const std::string& last_email,
67 const AuthError& error) { 71 const AuthError& error) {
68 last_attempted_user_email_ = last_email; 72 last_attempted_user_email_ = last_email;
69 last_auth_error_ = error; 73 last_auth_error_ = error;
70 } 74 }
71 75
76 void set_passphrase_required(bool required) {
77 observed_passphrase_required_ = required;
78 }
79
72 void ResetTestStats() { 80 void ResetTestStats() {
73 username_.clear(); 81 username_.clear();
74 password_.clear(); 82 password_.clear();
75 captcha_.clear(); 83 captcha_.clear();
76 user_cancelled_dialog_ = false; 84 user_cancelled_dialog_ = false;
77 user_chose_data_types_ = false; 85 user_chose_data_types_ = false;
78 keep_everything_synced_ = false; 86 keep_everything_synced_ = false;
79 chosen_data_types_.clear(); 87 chosen_data_types_.clear();
80 } 88 }
81 89
82 std::string username_; 90 std::string username_;
83 std::string password_; 91 std::string password_;
84 std::string captcha_; 92 std::string captcha_;
85 bool user_cancelled_dialog_; 93 bool user_cancelled_dialog_;
86 bool user_chose_data_types_; 94 bool user_chose_data_types_;
87 bool keep_everything_synced_; 95 bool keep_everything_synced_;
88 syncable::ModelTypeSet chosen_data_types_; 96 syncable::ModelTypeSet chosen_data_types_;
89 97
98 std::string passphrase_;
99
90 private: 100 private:
91 DISALLOW_COPY_AND_ASSIGN(ProfileSyncServiceForWizardTest); 101 DISALLOW_COPY_AND_ASSIGN(ProfileSyncServiceForWizardTest);
92 }; 102 };
93 103
94 class TestingProfileWithSyncService : public TestingProfile { 104 class TestingProfileWithSyncService : public TestingProfile {
95 public: 105 public:
96 TestingProfileWithSyncService() { 106 TestingProfileWithSyncService() {
97 sync_service_.reset(new ProfileSyncServiceForWizardTest(&factory_, this)); 107 sync_service_.reset(new ProfileSyncServiceForWizardTest(&factory_, this));
98 } 108 }
99 109
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 EXPECT_EQ(service_->chosen_data_types_.count(syncable::THEMES), 0U); 334 EXPECT_EQ(service_->chosen_data_types_.count(syncable::THEMES), 0U);
325 EXPECT_EQ(service_->chosen_data_types_.count(syncable::PASSWORDS), 0U); 335 EXPECT_EQ(service_->chosen_data_types_.count(syncable::PASSWORDS), 0U);
326 EXPECT_EQ(service_->chosen_data_types_.count(syncable::AUTOFILL), 0U); 336 EXPECT_EQ(service_->chosen_data_types_.count(syncable::AUTOFILL), 0U);
327 EXPECT_EQ(service_->chosen_data_types_.count(syncable::EXTENSIONS), 0U); 337 EXPECT_EQ(service_->chosen_data_types_.count(syncable::EXTENSIONS), 0U);
328 EXPECT_EQ(service_->chosen_data_types_.count(syncable::TYPED_URLS), 1U); 338 EXPECT_EQ(service_->chosen_data_types_.count(syncable::TYPED_URLS), 1U);
329 EXPECT_EQ(service_->chosen_data_types_.count(syncable::APPS), 1U); 339 EXPECT_EQ(service_->chosen_data_types_.count(syncable::APPS), 1U);
330 340
331 test_window_->CloseDialog(); 341 test_window_->CloseDialog();
332 } 342 }
333 343
344 TEST_F(SyncSetupWizardTest, EnterPassphraseRequired) {
345 SKIP_TEST_ON_MACOSX();
346 wizard_->Step(SyncSetupWizard::GAIA_LOGIN);
347 wizard_->Step(SyncSetupWizard::GAIA_SUCCESS);
348 wizard_->Step(SyncSetupWizard::CONFIGURE);
349 wizard_->Step(SyncSetupWizard::SETTING_UP);
350 service_->set_passphrase_required(true);
351 wizard_->Step(SyncSetupWizard::ENTER_PASSPHRASE);
352 EXPECT_EQ(SyncSetupWizard::ENTER_PASSPHRASE,
353 test_window_->flow()->current_state_);
354 ListValue value;
355 value.Append(new StringValue("{\"passphrase\":\"myPassphrase\"}"));
356 test_window_->flow()->flow_handler_->HandlePassphraseEntry(&value);
357 EXPECT_EQ("myPassphrase", service_->passphrase_);
358 }
359
334 TEST_F(SyncSetupWizardTest, DialogCancelled) { 360 TEST_F(SyncSetupWizardTest, DialogCancelled) {
335 SKIP_TEST_ON_MACOSX(); 361 SKIP_TEST_ON_MACOSX();
336 wizard_->Step(SyncSetupWizard::GAIA_LOGIN); 362 wizard_->Step(SyncSetupWizard::GAIA_LOGIN);
337 // Simulate the user closing the dialog. 363 // Simulate the user closing the dialog.
338 test_window_->CloseDialog(); 364 test_window_->CloseDialog();
339 EXPECT_FALSE(wizard_->IsVisible()); 365 EXPECT_FALSE(wizard_->IsVisible());
340 EXPECT_TRUE(service_->user_cancelled_dialog_); 366 EXPECT_TRUE(service_->user_cancelled_dialog_);
341 EXPECT_EQ(std::string(), service_->username_); 367 EXPECT_EQ(std::string(), service_->username_);
342 EXPECT_EQ(std::string(), service_->password_); 368 EXPECT_EQ(std::string(), service_->password_);
343 369
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 int error = -1; 515 int error = -1;
490 dialog_args.GetInteger("error", &error); 516 dialog_args.GetInteger("error", &error);
491 EXPECT_EQ(static_cast<int>(AuthError::INVALID_GAIA_CREDENTIALS), error); 517 EXPECT_EQ(static_cast<int>(AuthError::INVALID_GAIA_CREDENTIALS), error);
492 service_->set_auth_state(kTestUser, AuthError::None()); 518 service_->set_auth_state(kTestUser, AuthError::None());
493 519
494 wizard_->Step(SyncSetupWizard::GAIA_SUCCESS); 520 wizard_->Step(SyncSetupWizard::GAIA_SUCCESS);
495 EXPECT_TRUE(test_window_->TestAndResetWasShowHTMLDialogCalled()); 521 EXPECT_TRUE(test_window_->TestAndResetWasShowHTMLDialogCalled());
496 } 522 }
497 523
498 #undef SKIP_TEST_ON_MACOSX 524 #undef SKIP_TEST_ON_MACOSX
OLDNEW
« no previous file with comments | « chrome/browser/sync/sync_setup_wizard.cc ('k') | chrome/browser/sync/sync_ui_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698