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

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

Issue 280123003: Rollback option put behind the flag. (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
« no previous file with comments | « no previous file | chrome/browser/ui/webui/chromeos/login/reset_screen_handler.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 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.h"
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 RegisterSomeUser(); 98 RegisterSomeUser();
99 } 99 }
100 100
101 IN_PROC_BROWSER_TEST_F(ResetTest, ShowAndCancel) { 101 IN_PROC_BROWSER_TEST_F(ResetTest, ShowAndCancel) {
102 JSExpect("!!document.querySelector('#reset.hidden')"); 102 JSExpect("!!document.querySelector('#reset.hidden')");
103 EXPECT_EQ(0, update_engine_client_->can_rollback_call_count()); 103 EXPECT_EQ(0, update_engine_client_->can_rollback_call_count());
104 InvokeResetScreen(); 104 InvokeResetScreen();
105 JSExpect("!document.querySelector('#reset.hidden')"); 105 JSExpect("!document.querySelector('#reset.hidden')");
106 CloseResetScreen(); 106 CloseResetScreen();
107 JSExpect("!!document.querySelector('#reset.hidden')"); 107 JSExpect("!!document.querySelector('#reset.hidden')");
108 EXPECT_EQ(1, update_engine_client_->can_rollback_call_count()); 108 if (CommandLine::ForCurrentProcess()->HasSwitch(
109 switches::kEnableRollbackOption))
Nikita (slow) 2014/05/12 11:41:18 nit: {}
110 EXPECT_EQ(1, update_engine_client_->can_rollback_call_count());
109 } 111 }
110 112
111 IN_PROC_BROWSER_TEST_F(ResetTest, PRE_RestartBeforePowerwash) { 113 IN_PROC_BROWSER_TEST_F(ResetTest, PRE_RestartBeforePowerwash) {
112 RegisterSomeUser(); 114 RegisterSomeUser();
113 } 115 }
114 116
115 IN_PROC_BROWSER_TEST_F(ResetTest, RestartBeforePowerwash) { 117 IN_PROC_BROWSER_TEST_F(ResetTest, RestartBeforePowerwash) {
116 PrefService* prefs = g_browser_process->local_state(); 118 PrefService* prefs = g_browser_process->local_state();
117 119
118 InvokeResetScreen(); 120 InvokeResetScreen();
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 update_engine_client_->set_can_rollback_check_result(true); 172 update_engine_client_->set_can_rollback_check_result(true);
171 // rollback available and unchecked 173 // rollback available and unchecked
172 InvokeResetScreen(); 174 InvokeResetScreen();
173 ClickResetButton(); 175 ClickResetButton();
174 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls()); 176 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
175 EXPECT_EQ(2, session_manager_client_->start_device_wipe_call_count()); 177 EXPECT_EQ(2, session_manager_client_->start_device_wipe_call_count());
176 EXPECT_EQ(0, update_engine_client_->rollback_call_count()); 178 EXPECT_EQ(0, update_engine_client_->rollback_call_count());
177 CloseResetScreen(); 179 CloseResetScreen();
178 OobeScreenWaiter(OobeDisplay::SCREEN_ACCOUNT_PICKER).Wait(); 180 OobeScreenWaiter(OobeDisplay::SCREEN_ACCOUNT_PICKER).Wait();
179 181
180 // rollback available and checked 182 if (CommandLine::ForCurrentProcess()->HasSwitch(
181 InvokeResetScreen(); 183 switches::kEnableRollbackOption)) {
182 ASSERT_TRUE(content::ExecuteScript( 184 // rollback available and checked
183 web_contents(), 185 InvokeResetScreen();
184 "$('reset-rollback-checkbox').checked = true;")); 186 ASSERT_TRUE(content::ExecuteScript(
185 ClickResetButton(); 187 web_contents(),
186 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls()); 188 "$('reset-rollback-checkbox').checked = true;"));
187 EXPECT_EQ(2, session_manager_client_->start_device_wipe_call_count()); 189 ClickResetButton();
188 EXPECT_EQ(1, update_engine_client_->rollback_call_count()); 190 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
191 EXPECT_EQ(2, session_manager_client_->start_device_wipe_call_count());
192 EXPECT_EQ(1, update_engine_client_->rollback_call_count());
193 }
189 } 194 }
190 195
191 IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PRE_PowerwashRequested) { 196 IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PRE_PowerwashRequested) {
192 PrefService* prefs = g_browser_process->local_state(); 197 PrefService* prefs = g_browser_process->local_state();
193 prefs->SetBoolean(prefs::kRollbackRequested, false); 198 prefs->SetBoolean(prefs::kRollbackRequested, false);
194 prefs->SetBoolean(prefs::kFactoryResetRequested, true); 199 prefs->SetBoolean(prefs::kFactoryResetRequested, true);
195 RegisterSomeUser(); 200 RegisterSomeUser();
196 } 201 }
197 202
198 IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PowerwashRequested) { 203 IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, PowerwashRequested) {
(...skipping 14 matching lines...) Expand all
213 RegisterSomeUser(); 218 RegisterSomeUser();
214 } 219 }
215 220
216 IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, ErrorOnRollbackRequested) { 221 IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, ErrorOnRollbackRequested) {
217 OobeScreenWaiter(OobeDisplay::SCREEN_OOBE_RESET).Wait(); 222 OobeScreenWaiter(OobeDisplay::SCREEN_OOBE_RESET).Wait();
218 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls()); 223 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
219 EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count()); 224 EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count());
220 EXPECT_EQ(0, update_engine_client_->rollback_call_count()); 225 EXPECT_EQ(0, update_engine_client_->rollback_call_count());
221 JSExpect("!$('reset').classList.contains('revert-promise')"); 226 JSExpect("!$('reset').classList.contains('revert-promise')");
222 ClickResetButton(); 227 ClickResetButton();
223 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls()); 228 if (CommandLine::ForCurrentProcess()->HasSwitch(
224 EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count()); 229 switches::kEnableRollbackOption)) {
225 EXPECT_EQ(1, update_engine_client_->rollback_call_count()); 230 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
226 JSExpect("$('reset').classList.contains('revert-promise')"); 231 EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count());
227 UpdateEngineClient::Status error_update_status; 232 EXPECT_EQ(1, update_engine_client_->rollback_call_count());
228 error_update_status.status = UpdateEngineClient::UPDATE_STATUS_ERROR; 233 JSExpect("$('reset').classList.contains('revert-promise')");
229 update_engine_client_->NotifyObserversThatStatusChanged(error_update_status); 234 UpdateEngineClient::Status error_update_status;
230 OobeScreenWaiter(OobeDisplay::SCREEN_ERROR_MESSAGE).Wait(); 235 error_update_status.status = UpdateEngineClient::UPDATE_STATUS_ERROR;
236 update_engine_client_->NotifyObserversThatStatusChanged(
237 error_update_status);
238 OobeScreenWaiter(OobeDisplay::SCREEN_ERROR_MESSAGE).Wait();
239 }
231 } 240 }
232 241
233 IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, 242 IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest,
234 PRE_SuccessOnRollbackRequested) { 243 PRE_SuccessOnRollbackRequested) {
235 PrefService* prefs = g_browser_process->local_state(); 244 PrefService* prefs = g_browser_process->local_state();
236 prefs->SetBoolean(prefs::kRollbackRequested, true); 245 prefs->SetBoolean(prefs::kRollbackRequested, true);
237 prefs->SetBoolean(prefs::kFactoryResetRequested, true); 246 prefs->SetBoolean(prefs::kFactoryResetRequested, true);
238 RegisterSomeUser(); 247 RegisterSomeUser();
239 } 248 }
240 249
241 IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, SuccessOnRollbackRequested) { 250 IN_PROC_BROWSER_TEST_F(ResetFirstAfterBootTest, SuccessOnRollbackRequested) {
242 OobeScreenWaiter(OobeDisplay::SCREEN_OOBE_RESET).Wait(); 251 if (CommandLine::ForCurrentProcess()->HasSwitch(
243 ClickResetButton(); 252 switches::kEnableRollbackOption)) {
244 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls()); 253 OobeScreenWaiter(OobeDisplay::SCREEN_OOBE_RESET).Wait();
245 EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count()); 254 ClickResetButton();
246 EXPECT_EQ(1, update_engine_client_->rollback_call_count()); 255 EXPECT_EQ(0, power_manager_client_->num_request_restart_calls());
247 UpdateEngineClient::Status ready_for_reboot_status; 256 EXPECT_EQ(0, session_manager_client_->start_device_wipe_call_count());
248 ready_for_reboot_status.status = 257 EXPECT_EQ(1, update_engine_client_->rollback_call_count());
249 UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT; 258 UpdateEngineClient::Status ready_for_reboot_status;
250 update_engine_client_->NotifyObserversThatStatusChanged( 259 ready_for_reboot_status.status =
251 ready_for_reboot_status); 260 UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT;
252 EXPECT_EQ(1, power_manager_client_->num_request_restart_calls()); 261 update_engine_client_->NotifyObserversThatStatusChanged(
262 ready_for_reboot_status);
263 EXPECT_EQ(1, power_manager_client_->num_request_restart_calls());
264 }
253 } 265 }
254 266
255 267
256 } // namespace chromeos 268 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/webui/chromeos/login/reset_screen_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698