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

Side by Side Diff: chrome/browser/chromeos/login/reset_browsertest.cc

Issue 270563002: Componentize LoginManagerTest. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <string> 5 #include <string>
6 6
7 #include "base/prefs/pref_service.h" 7 #include "base/prefs/pref_service.h"
8 #include "chrome/browser/browser_process.h" 8 #include "chrome/browser/browser_process.h"
9 #include "chrome/browser/chromeos/login/login_display_host_impl.h" 9 #include "chrome/browser/chromeos/login/login_display_host_impl.h"
10 #include "chrome/browser/chromeos/login/login_manager_test.h" 10 #include "chrome/browser/chromeos/login/login_manager_test_helper.h"
11 #include "chrome/browser/chromeos/login/oobe_display.h" 11 #include "chrome/browser/chromeos/login/oobe_display.h"
12 #include "chrome/browser/chromeos/login/startup_utils.h" 12 #include "chrome/browser/chromeos/login/startup_utils.h"
13 #include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h" 13 #include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h"
14 #include "chrome/browser/chromeos/login/webui_login_view.h" 14 #include "chrome/browser/chromeos/login/webui_login_view.h"
15 #include "chrome/common/chrome_switches.h" 15 #include "chrome/common/chrome_switches.h"
16 #include "chrome/common/pref_names.h" 16 #include "chrome/common/pref_names.h"
17 #include "chrome/test/base/in_process_browser_test.h"
17 #include "chromeos/chromeos_switches.h" 18 #include "chromeos/chromeos_switches.h"
18 #include "chromeos/dbus/dbus_thread_manager.h" 19 #include "chromeos/dbus/dbus_thread_manager.h"
19 #include "chromeos/dbus/fake_dbus_thread_manager.h" 20 #include "chromeos/dbus/fake_dbus_thread_manager.h"
20 #include "chromeos/dbus/fake_power_manager_client.h" 21 #include "chromeos/dbus/fake_power_manager_client.h"
21 #include "chromeos/dbus/fake_session_manager_client.h" 22 #include "chromeos/dbus/fake_session_manager_client.h"
22 #include "chromeos/dbus/fake_update_engine_client.h" 23 #include "chromeos/dbus/fake_update_engine_client.h"
23 #include "content/public/test/browser_test_utils.h" 24 #include "content/public/test/browser_test_utils.h"
24 25
25 namespace chromeos { 26 namespace chromeos {
26 27
27 namespace { 28 namespace {
28 29
29 const char kTestUser1[] = "test-user1@gmail.com"; 30 const char kTestUser1[] = "test-user1@gmail.com";
30 31
31 } // namespace 32 } // namespace
32 33
33 class ResetTest : public LoginManagerTest { 34 class ResetTest : public InProcessBrowserTest {
34 public: 35 public:
35 ResetTest() : LoginManagerTest(false), 36 ResetTest()
36 update_engine_client_(NULL), 37 : login_manager_test_helper_(new LoginManagerTestHelper(false)),
37 session_manager_client_(NULL), 38 update_engine_client_(NULL),
38 power_manager_client_(NULL) { 39 session_manager_client_(NULL),
40 power_manager_client_(NULL) {
41 set_exit_when_last_browser_closes(false);
39 } 42 }
43
40 virtual ~ResetTest() {} 44 virtual ~ResetTest() {}
41 45
46 virtual void SetUpOnMainThread() OVERRIDE {
47 login_manager_test_helper_->SetUp();
48 }
49
50 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
51 login_manager_test_helper_->SetUpCommandLine(command_line);
52 }
53
42 // LoginManagerTest overrides: 54 // LoginManagerTest overrides:
43 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { 55 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
44 FakeDBusThreadManager* dbus_manager = new FakeDBusThreadManager; 56 FakeDBusThreadManager* dbus_manager = new FakeDBusThreadManager;
45 dbus_manager->SetFakeClients(); 57 dbus_manager->SetFakeClients();
46 session_manager_client_ = new FakeSessionManagerClient; 58 session_manager_client_ = new FakeSessionManagerClient;
47 dbus_manager->SetSessionManagerClient( 59 dbus_manager->SetSessionManagerClient(
48 scoped_ptr<SessionManagerClient>(session_manager_client_)); 60 scoped_ptr<SessionManagerClient>(session_manager_client_));
49 power_manager_client_ = new FakePowerManagerClient; 61 power_manager_client_ = new FakePowerManagerClient;
50 dbus_manager->SetPowerManagerClient( 62 dbus_manager->SetPowerManagerClient(
51 scoped_ptr<PowerManagerClient>(power_manager_client_)); 63 scoped_ptr<PowerManagerClient>(power_manager_client_));
52 update_engine_client_ = new FakeUpdateEngineClient; 64 update_engine_client_ = new FakeUpdateEngineClient;
53 dbus_manager->SetUpdateEngineClient( 65 dbus_manager->SetUpdateEngineClient(
54 scoped_ptr<UpdateEngineClient>(update_engine_client_)); 66 scoped_ptr<UpdateEngineClient>(update_engine_client_));
55 DBusThreadManager::SetInstanceForTesting(dbus_manager); 67 DBusThreadManager::SetInstanceForTesting(dbus_manager);
56 68
57 LoginManagerTest::SetUpInProcessBrowserTestFixture(); 69 login_manager_test_helper_->SetUpLoginUtils();
70 }
71
72 virtual void CleanUpOnMainThread() OVERRIDE {
73 login_manager_test_helper_->CleanUp();
58 } 74 }
59 75
60 void RegisterSomeUser() { 76 void RegisterSomeUser() {
61 RegisterUser(kTestUser1); 77 login_manager_test_helper_->RegisterUser(kTestUser1);
62 StartupUtils::MarkOobeCompleted(); 78 StartupUtils::MarkOobeCompleted();
63 } 79 }
64 80
65 bool JSExecuted(const std::string& script) { 81 bool JSExecuted(const std::string& script) {
66 return content::ExecuteScript(web_contents(), script); 82 return content::ExecuteScript(login_manager_test_helper_->web_contents(),
83 script);
67 } 84 }
68 85
69 void InvokeResetScreen() { 86 void InvokeResetScreen() {
70 ASSERT_TRUE(JSExecuted("cr.ui.Oobe.handleAccelerator('reset');")); 87 ASSERT_TRUE(JSExecuted("cr.ui.Oobe.handleAccelerator('reset');"));
71 OobeScreenWaiter(OobeDisplay::SCREEN_OOBE_RESET).Wait(); 88 OobeScreenWaiter(OobeDisplay::SCREEN_OOBE_RESET).Wait();
72 } 89 }
73 90
74 void CloseResetScreen() { 91 void CloseResetScreen() {
75 ASSERT_TRUE(JSExecuted("$('reset-cancel-button').click();")); 92 ASSERT_TRUE(JSExecuted("$('reset-cancel-button').click();"));
76 } 93 }
77 94
78 void ClickResetButton() { 95 void ClickResetButton() {
79 ASSERT_TRUE(JSExecuted("$('reset-button').click();")); 96 ASSERT_TRUE(JSExecuted("$('reset-button').click();"));
80 } 97 }
81 98
99 scoped_ptr<LoginManagerTestHelper> login_manager_test_helper_;
82 FakeUpdateEngineClient* update_engine_client_; 100 FakeUpdateEngineClient* update_engine_client_;
83 FakeSessionManagerClient* session_manager_client_; 101 FakeSessionManagerClient* session_manager_client_;
84 FakePowerManagerClient* power_manager_client_; 102 FakePowerManagerClient* power_manager_client_;
85 }; 103 };
86 104
87 class ResetFirstAfterBootTest : public ResetTest { 105 class ResetFirstAfterBootTest : public ResetTest {
88 public: 106 public:
89 virtual ~ResetFirstAfterBootTest() {} 107 virtual ~ResetFirstAfterBootTest() {}
90 108
91 virtual void SetUpCommandLine(base::CommandLine* command_line) OVERRIDE { 109 virtual void SetUpCommandLine(base::CommandLine* command_line) OVERRIDE {
92 LoginManagerTest::SetUpCommandLine(command_line); 110 login_manager_test_helper_->SetUpCommandLine(command_line);
93 command_line->AppendSwitch(switches::kFirstExecAfterBoot); 111 command_line->AppendSwitch(switches::kFirstExecAfterBoot);
94 } 112 }
95 }; 113 };
96 114
97 IN_PROC_BROWSER_TEST_F(ResetTest, PRE_ShowAndCancel) { 115 IN_PROC_BROWSER_TEST_F(ResetTest, PRE_ShowAndCancel) {
98 RegisterSomeUser(); 116 RegisterSomeUser();
99 } 117 }
100 118
101 IN_PROC_BROWSER_TEST_F(ResetTest, ShowAndCancel) { 119 IN_PROC_BROWSER_TEST_F(ResetTest, ShowAndCancel) {
102 JSExpect("!!document.querySelector('#reset.hidden')"); 120 login_manager_test_helper_->JSExpect(
121 "!!document.querySelector('#reset.hidden')");
103 EXPECT_EQ(0, update_engine_client_->can_rollback_call_count()); 122 EXPECT_EQ(0, update_engine_client_->can_rollback_call_count());
104 InvokeResetScreen(); 123 InvokeResetScreen();
105 JSExpect("!document.querySelector('#reset.hidden')"); 124 login_manager_test_helper_->JSExpect(
125 "!document.querySelector('#reset.hidden')");
106 CloseResetScreen(); 126 CloseResetScreen();
107 JSExpect("!!document.querySelector('#reset.hidden')"); 127 login_manager_test_helper_->JSExpect(
128 "!!document.querySelector('#reset.hidden')");
108 EXPECT_EQ(1, update_engine_client_->can_rollback_call_count()); 129 EXPECT_EQ(1, update_engine_client_->can_rollback_call_count());
109 } 130 }
110 131
111 IN_PROC_BROWSER_TEST_F(ResetTest, PRE_RestartBeforePowerwash) { 132 IN_PROC_BROWSER_TEST_F(ResetTest, PRE_RestartBeforePowerwash) {
112 RegisterSomeUser(); 133 RegisterSomeUser();
113 } 134 }
114 135
115 IN_PROC_BROWSER_TEST_F(ResetTest, RestartBeforePowerwash) { 136 IN_PROC_BROWSER_TEST_F(ResetTest, RestartBeforePowerwash) {
116 PrefService* prefs = g_browser_process->local_state(); 137 PrefService* prefs = g_browser_process->local_state();
117 138
(...skipping 13 matching lines...) Expand all
131 update_engine_client_->set_can_rollback_check_result(true); 152 update_engine_client_->set_can_rollback_check_result(true);
132 } 153 }
133 154
134 IN_PROC_BROWSER_TEST_F(ResetTest, RestartBeforeRollback) { 155 IN_PROC_BROWSER_TEST_F(ResetTest, RestartBeforeRollback) {
135 PrefService* prefs = g_browser_process->local_state(); 156 PrefService* prefs = g_browser_process->local_state();
136 157
137 InvokeResetScreen(); 158 InvokeResetScreen();
138 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls()); 159 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
139 EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count()); 160 EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count());
140 ASSERT_TRUE(content::ExecuteScript( 161 ASSERT_TRUE(content::ExecuteScript(
141 web_contents(), 162 login_manager_test_helper_->web_contents(),
142 "$('reset-rollback-checkbox').checked = true;")); 163 "$('reset-rollback-checkbox').checked = true;"));
143 ClickResetButton(); 164 ClickResetButton();
144 ASSERT_EQ(1, power_manager_client_->num_request_restart_calls()); 165 ASSERT_EQ(1, power_manager_client_->num_request_restart_calls());
145 ASSERT_EQ(0, session_manager_client_->start_device_wipe_call_count()); 166 ASSERT_EQ(0, session_manager_client_->start_device_wipe_call_count());
146 EXPECT_EQ(0, update_engine_client_->rollback_call_count()); 167 EXPECT_EQ(0, update_engine_client_->rollback_call_count());
147 168
148 EXPECT_TRUE(prefs->GetBoolean(prefs::kRollbackRequested)); 169 EXPECT_TRUE(prefs->GetBoolean(prefs::kRollbackRequested));
149 EXPECT_TRUE(prefs->GetBoolean(prefs::kFactoryResetRequested)); 170 EXPECT_TRUE(prefs->GetBoolean(prefs::kFactoryResetRequested));
150 } 171 }
151 172
(...skipping 21 matching lines...) Expand all
173 ClickResetButton(); 194 ClickResetButton();
174 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls()); 195 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
175 EXPECT_EQ(2, session_manager_client_->start_device_wipe_call_count()); 196 EXPECT_EQ(2, session_manager_client_->start_device_wipe_call_count());
176 EXPECT_EQ(0, update_engine_client_->rollback_call_count()); 197 EXPECT_EQ(0, update_engine_client_->rollback_call_count());
177 CloseResetScreen(); 198 CloseResetScreen();
178 OobeScreenWaiter(OobeDisplay::SCREEN_ACCOUNT_PICKER).Wait(); 199 OobeScreenWaiter(OobeDisplay::SCREEN_ACCOUNT_PICKER).Wait();
179 200
180 // rollback available and checked 201 // rollback available and checked
181 InvokeResetScreen(); 202 InvokeResetScreen();
182 ASSERT_TRUE(content::ExecuteScript( 203 ASSERT_TRUE(content::ExecuteScript(
183 web_contents(), 204 login_manager_test_helper_->web_contents(),
184 "$('reset-rollback-checkbox').checked = true;")); 205 "$('reset-rollback-checkbox').checked = true;"));
185 ClickResetButton(); 206 ClickResetButton();
186 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls()); 207 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
187 EXPECT_EQ(2, session_manager_client_->start_device_wipe_call_count()); 208 EXPECT_EQ(2, session_manager_client_->start_device_wipe_call_count());
188 EXPECT_EQ(1, update_engine_client_->rollback_call_count()); 209 EXPECT_EQ(1, update_engine_client_->rollback_call_count());
189 } 210 }
190 211
191 IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PRE_PowerwashRequested) { 212 IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PRE_PowerwashRequested) {
192 PrefService* prefs = g_browser_process->local_state(); 213 PrefService* prefs = g_browser_process->local_state();
193 prefs->SetBoolean(prefs::kRollbackRequested, false); 214 prefs->SetBoolean(prefs::kRollbackRequested, false);
(...skipping 24 matching lines...) Expand all
218 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls()); 239 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
219 EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count()); 240 EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count());
220 EXPECT_EQ(0, update_engine_client_->rollback_call_count()); 241 EXPECT_EQ(0, update_engine_client_->rollback_call_count());
221 ClickResetButton(); 242 ClickResetButton();
222 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls()); 243 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
223 EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count()); 244 EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count());
224 EXPECT_EQ(1, update_engine_client_->rollback_call_count()); 245 EXPECT_EQ(1, update_engine_client_->rollback_call_count());
225 } 246 }
226 247
227 } // namespace chromeos 248 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698