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

Side by Side Diff: chrome/browser/chromeos/login/screens/update_screen_browsertest.cc

Issue 2705363002: cros: Move BaseScreenDelegate::ExitCodes into separate file, ScreenExitCode. (Closed)
Patch Set: Rebase Created 3 years, 9 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/chromeos/login/screens/update_screen.h" 5 #include "chrome/browser/chromeos/login/screens/update_screen.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 status.status = UpdateEngineClient::UPDATE_STATUS_IDLE; 140 status.status = UpdateEngineClient::UPDATE_STATUS_IDLE;
141 update_screen_->UpdateStatusChanged(status); 141 update_screen_->UpdateStatusChanged(status);
142 status.status = UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE; 142 status.status = UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE;
143 update_screen_->UpdateStatusChanged(status); 143 update_screen_->UpdateStatusChanged(status);
144 status.status = UpdateEngineClient::UPDATE_STATUS_IDLE; 144 status.status = UpdateEngineClient::UPDATE_STATUS_IDLE;
145 // GetLastStatus() will be called via ExitUpdate() called from 145 // GetLastStatus() will be called via ExitUpdate() called from
146 // UpdateStatusChanged(). 146 // UpdateStatusChanged().
147 fake_update_engine_client_->set_default_status(status); 147 fake_update_engine_client_->set_default_status(status);
148 148
149 EXPECT_CALL(*mock_base_screen_delegate_, 149 EXPECT_CALL(*mock_base_screen_delegate_,
150 OnExit(_, BaseScreenDelegate::UPDATE_NOUPDATE, _)).Times(1); 150 OnExit(_, ScreenExitCode::UPDATE_NOUPDATE, _))
151 .Times(1);
151 update_screen_->UpdateStatusChanged(status); 152 update_screen_->UpdateStatusChanged(status);
152 } 153 }
153 154
154 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestUpdateAvailable) { 155 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestUpdateAvailable) {
155 update_screen_->is_ignore_update_deadlines_ = true; 156 update_screen_->is_ignore_update_deadlines_ = true;
156 157
157 UpdateEngineClient::Status status; 158 UpdateEngineClient::Status status;
158 status.status = UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE; 159 status.status = UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE;
159 status.new_version = "latest and greatest"; 160 status.new_version = "latest and greatest";
160 update_screen_->UpdateStatusChanged(status); 161 update_screen_->UpdateStatusChanged(status);
(...skipping 22 matching lines...) Expand all
183 base::RunLoop().RunUntilIdle(); 184 base::RunLoop().RunUntilIdle();
184 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 185 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
185 EXPECT_EQ(update_screen_->screen_id(), 186 EXPECT_EQ(update_screen_->screen_id(),
186 GetOobeScreenFromName(g_browser_process->local_state()->GetString( 187 GetOobeScreenFromName(g_browser_process->local_state()->GetString(
187 prefs::kOobeScreenPending))); 188 prefs::kOobeScreenPending)));
188 } 189 }
189 190
190 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorIssuingUpdateCheck) { 191 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorIssuingUpdateCheck) {
191 // First, cancel the update that is already in progress. 192 // First, cancel the update that is already in progress.
192 EXPECT_CALL(*mock_base_screen_delegate_, 193 EXPECT_CALL(*mock_base_screen_delegate_,
193 OnExit(_, BaseScreenDelegate::UPDATE_NOUPDATE, _)).Times(1); 194 OnExit(_, ScreenExitCode::UPDATE_NOUPDATE, _))
195 .Times(1);
194 update_screen_->CancelUpdate(); 196 update_screen_->CancelUpdate();
195 197
196 fake_update_engine_client_->set_update_check_result( 198 fake_update_engine_client_->set_update_check_result(
197 chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED); 199 chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED);
198 EXPECT_CALL(*mock_base_screen_delegate_, 200 EXPECT_CALL(*mock_base_screen_delegate_,
199 OnExit(_, BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE, 201 OnExit(_, ScreenExitCode::UPDATE_ERROR_CHECKING_FOR_UPDATE, _))
200 _)).Times(1); 202 .Times(1);
201 update_screen_->StartNetworkCheck(); 203 update_screen_->StartNetworkCheck();
202 } 204 }
203 205
204 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorCheckingForUpdate) { 206 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorCheckingForUpdate) {
205 UpdateEngineClient::Status status; 207 UpdateEngineClient::Status status;
206 status.status = UpdateEngineClient::UPDATE_STATUS_ERROR; 208 status.status = UpdateEngineClient::UPDATE_STATUS_ERROR;
207 // GetLastStatus() will be called via ExitUpdate() called from 209 // GetLastStatus() will be called via ExitUpdate() called from
208 // UpdateStatusChanged(). 210 // UpdateStatusChanged().
209 fake_update_engine_client_->set_default_status(status); 211 fake_update_engine_client_->set_default_status(status);
210 212
211 EXPECT_CALL(*mock_base_screen_delegate_, 213 EXPECT_CALL(*mock_base_screen_delegate_,
212 OnExit(_, BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE, 214 OnExit(_, ScreenExitCode::UPDATE_ERROR_CHECKING_FOR_UPDATE, _))
213 _)).Times(1); 215 .Times(1);
214 update_screen_->UpdateStatusChanged(status); 216 update_screen_->UpdateStatusChanged(status);
215 } 217 }
216 218
217 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorUpdating) { 219 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorUpdating) {
218 UpdateEngineClient::Status status; 220 UpdateEngineClient::Status status;
219 status.status = UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE; 221 status.status = UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE;
220 status.new_version = "latest and greatest"; 222 status.new_version = "latest and greatest";
221 // GetLastStatus() will be called via ExitUpdate() called from 223 // GetLastStatus() will be called via ExitUpdate() called from
222 // UpdateStatusChanged(). 224 // UpdateStatusChanged().
223 fake_update_engine_client_->set_default_status(status); 225 fake_update_engine_client_->set_default_status(status);
224 226
225 update_screen_->UpdateStatusChanged(status); 227 update_screen_->UpdateStatusChanged(status);
226 228
227 status.status = UpdateEngineClient::UPDATE_STATUS_ERROR; 229 status.status = UpdateEngineClient::UPDATE_STATUS_ERROR;
228 // GetLastStatus() will be called via ExitUpdate() called from 230 // GetLastStatus() will be called via ExitUpdate() called from
229 // UpdateStatusChanged(). 231 // UpdateStatusChanged().
230 fake_update_engine_client_->set_default_status(status); 232 fake_update_engine_client_->set_default_status(status);
231 233
232 EXPECT_CALL(*mock_base_screen_delegate_, 234 EXPECT_CALL(*mock_base_screen_delegate_,
233 OnExit(_, BaseScreenDelegate::UPDATE_ERROR_UPDATING, _)).Times(1); 235 OnExit(_, ScreenExitCode::UPDATE_ERROR_UPDATING, _))
236 .Times(1);
234 update_screen_->UpdateStatusChanged(status); 237 update_screen_->UpdateStatusChanged(status);
235 } 238 }
236 239
237 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestTemproraryOfflineNetwork) { 240 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestTemproraryOfflineNetwork) {
238 EXPECT_CALL(*mock_base_screen_delegate_, 241 EXPECT_CALL(*mock_base_screen_delegate_,
239 OnExit(_, BaseScreenDelegate::UPDATE_NOUPDATE, _)).Times(1); 242 OnExit(_, ScreenExitCode::UPDATE_NOUPDATE, _))
243 .Times(1);
240 update_screen_->CancelUpdate(); 244 update_screen_->CancelUpdate();
241 245
242 // Change ethernet state to portal. 246 // Change ethernet state to portal.
243 NetworkPortalDetector::CaptivePortalState portal_state; 247 NetworkPortalDetector::CaptivePortalState portal_state;
244 portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL; 248 portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL;
245 portal_state.response_code = 200; 249 portal_state.response_code = 200;
246 SetDetectionResults(kStubEthernetGuid, portal_state); 250 SetDetectionResults(kStubEthernetGuid, portal_state);
247 251
248 // Update screen will delay error message about portal state because 252 // Update screen will delay error message about portal state because
249 // ethernet is behind captive portal. 253 // ethernet is behind captive portal.
(...skipping 22 matching lines...) Expand all
272 SetDetectionResults(kStubEthernetGuid, online_state); 276 SetDetectionResults(kStubEthernetGuid, online_state);
273 277
274 // Second notification from portal detector will be about online state, 278 // Second notification from portal detector will be about online state,
275 // so update screen will hide error message and proceed to update. 279 // so update screen will hide error message and proceed to update.
276 EXPECT_CALL(*mock_base_screen_delegate_, HideErrorScreen(update_screen_)) 280 EXPECT_CALL(*mock_base_screen_delegate_, HideErrorScreen(update_screen_))
277 .Times(1); 281 .Times(1);
278 fake_update_engine_client_->set_update_check_result( 282 fake_update_engine_client_->set_update_check_result(
279 chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED); 283 chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED);
280 284
281 EXPECT_CALL(*mock_base_screen_delegate_, 285 EXPECT_CALL(*mock_base_screen_delegate_,
282 OnExit(_, BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE, 286 OnExit(_, ScreenExitCode::UPDATE_ERROR_CHECKING_FOR_UPDATE, _))
283 _)).Times(1); 287 .Times(1);
284 288
285 NotifyPortalDetectionCompleted(); 289 NotifyPortalDetectionCompleted();
286 } 290 }
287 291
288 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestTwoOfflineNetworks) { 292 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestTwoOfflineNetworks) {
289 EXPECT_CALL(*mock_base_screen_delegate_, 293 EXPECT_CALL(*mock_base_screen_delegate_,
290 OnExit(_, BaseScreenDelegate::UPDATE_NOUPDATE, _)).Times(1); 294 OnExit(_, ScreenExitCode::UPDATE_NOUPDATE, _))
295 .Times(1);
291 update_screen_->CancelUpdate(); 296 update_screen_->CancelUpdate();
292 297
293 // Change ethernet state to portal. 298 // Change ethernet state to portal.
294 NetworkPortalDetector::CaptivePortalState portal_state; 299 NetworkPortalDetector::CaptivePortalState portal_state;
295 portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL; 300 portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL;
296 portal_state.response_code = 200; 301 portal_state.response_code = 200;
297 SetDetectionResults(kStubEthernetGuid, portal_state); 302 SetDetectionResults(kStubEthernetGuid, portal_state);
298 303
299 // Update screen will delay error message about portal state because 304 // Update screen will delay error message about portal state because
300 // ethernet is behind captive portal. 305 // ethernet is behind captive portal.
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 .Times(1); 337 .Times(1);
333 338
334 NotifyPortalDetectionCompleted(); 339 NotifyPortalDetectionCompleted();
335 } 340 }
336 341
337 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestVoidNetwork) { 342 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestVoidNetwork) {
338 SetDefaultNetwork(std::string()); 343 SetDefaultNetwork(std::string());
339 344
340 // Cancels pending update request. 345 // Cancels pending update request.
341 EXPECT_CALL(*mock_base_screen_delegate_, 346 EXPECT_CALL(*mock_base_screen_delegate_,
342 OnExit(_, BaseScreenDelegate::UPDATE_NOUPDATE, _)).Times(1); 347 OnExit(_, ScreenExitCode::UPDATE_NOUPDATE, _))
348 .Times(1);
343 update_screen_->CancelUpdate(); 349 update_screen_->CancelUpdate();
344 350
345 // First portal detection attempt returns NULL network and undefined 351 // First portal detection attempt returns NULL network and undefined
346 // results, so detection is restarted. 352 // results, so detection is restarted.
347 EXPECT_CALL(*mock_error_screen_, MockSetUIState(_)).Times(Exactly(0)); 353 EXPECT_CALL(*mock_error_screen_, MockSetUIState(_)).Times(Exactly(0));
348 EXPECT_CALL(*mock_error_screen_, MockSetErrorState(_, _)).Times(Exactly(0)); 354 EXPECT_CALL(*mock_error_screen_, MockSetErrorState(_, _)).Times(Exactly(0));
349 EXPECT_CALL(*mock_base_screen_delegate_, ShowErrorScreen()).Times(Exactly(0)); 355 EXPECT_CALL(*mock_base_screen_delegate_, ShowErrorScreen()).Times(Exactly(0));
350 update_screen_->StartNetworkCheck(); 356 update_screen_->StartNetworkCheck();
351 357
352 // Second portal detection also returns NULL network and undefined 358 // Second portal detection also returns NULL network and undefined
353 // results. In this case, offline message should be displayed. 359 // results. In this case, offline message should be displayed.
354 EXPECT_CALL(*mock_error_screen_, 360 EXPECT_CALL(*mock_error_screen_,
355 MockSetUIState(NetworkError::UI_STATE_UPDATE)).Times(1); 361 MockSetUIState(NetworkError::UI_STATE_UPDATE)).Times(1);
356 EXPECT_CALL(*mock_error_screen_, 362 EXPECT_CALL(*mock_error_screen_,
357 MockSetErrorState(NetworkError::ERROR_STATE_OFFLINE, 363 MockSetErrorState(NetworkError::ERROR_STATE_OFFLINE,
358 std::string())).Times(1); 364 std::string())).Times(1);
359 EXPECT_CALL(*mock_base_screen_delegate_, ShowErrorScreen()).Times(1); 365 EXPECT_CALL(*mock_base_screen_delegate_, ShowErrorScreen()).Times(1);
360 base::RunLoop().RunUntilIdle(); 366 base::RunLoop().RunUntilIdle();
361 NotifyPortalDetectionCompleted(); 367 NotifyPortalDetectionCompleted();
362 } 368 }
363 369
364 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestAPReselection) { 370 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestAPReselection) {
365 EXPECT_CALL(*mock_base_screen_delegate_, 371 EXPECT_CALL(*mock_base_screen_delegate_,
366 OnExit(_, BaseScreenDelegate::UPDATE_NOUPDATE, _)).Times(1); 372 OnExit(_, ScreenExitCode::UPDATE_NOUPDATE, _))
373 .Times(1);
367 update_screen_->CancelUpdate(); 374 update_screen_->CancelUpdate();
368 375
369 // Change ethernet state to portal. 376 // Change ethernet state to portal.
370 NetworkPortalDetector::CaptivePortalState portal_state; 377 NetworkPortalDetector::CaptivePortalState portal_state;
371 portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL; 378 portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL;
372 portal_state.response_code = 200; 379 portal_state.response_code = 200;
373 SetDetectionResults(kStubEthernetGuid, portal_state); 380 SetDetectionResults(kStubEthernetGuid, portal_state);
374 381
375 // Update screen will delay error message about portal state because 382 // Update screen will delay error message about portal state because
376 // ethernet is behind captive portal. 383 // ethernet is behind captive portal.
(...skipping 17 matching lines...) Expand all
394 } 401 }
395 402
396 // User re-selects the same network manually. In this case, hide 403 // User re-selects the same network manually. In this case, hide
397 // offline message and skip network check. Since ethernet is still 404 // offline message and skip network check. Since ethernet is still
398 // behind portal, update engine fails to update. 405 // behind portal, update engine fails to update.
399 EXPECT_CALL(*mock_base_screen_delegate_, HideErrorScreen(update_screen_)) 406 EXPECT_CALL(*mock_base_screen_delegate_, HideErrorScreen(update_screen_))
400 .Times(1); 407 .Times(1);
401 fake_update_engine_client_->set_update_check_result( 408 fake_update_engine_client_->set_update_check_result(
402 chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED); 409 chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED);
403 EXPECT_CALL(*mock_base_screen_delegate_, 410 EXPECT_CALL(*mock_base_screen_delegate_,
404 OnExit(_, BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE, 411 OnExit(_, ScreenExitCode::UPDATE_ERROR_CHECKING_FOR_UPDATE, _))
405 _)).Times(1); 412 .Times(1);
406 413
407 update_screen_->OnConnectRequested(); 414 update_screen_->OnConnectRequested();
408 base::RunLoop().RunUntilIdle(); 415 base::RunLoop().RunUntilIdle();
409 } 416 }
410 417
411 } // namespace chromeos 418 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/screens/update_screen.cc ('k') | chrome/browser/chromeos/login/screens/user_image_screen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698