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

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

Issue 679133002: ScreenObserver is renamed to BaseScreenDelegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes. Created 6 years, 1 month 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
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/screens/mock_base_screen_delegate.h"
9 #include "chrome/browser/chromeos/login/screens/mock_error_screen.h" 10 #include "chrome/browser/chromeos/login/screens/mock_error_screen.h"
10 #include "chrome/browser/chromeos/login/screens/mock_screen_observer.h"
11 #include "chrome/browser/chromeos/login/screens/update_screen.h" 11 #include "chrome/browser/chromeos/login/screens/update_screen.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/wizard_in_process_browser_test.h" 13 #include "chrome/browser/chromeos/login/test/wizard_in_process_browser_test.h"
14 #include "chrome/browser/chromeos/login/wizard_controller.h" 14 #include "chrome/browser/chromeos/login/wizard_controller.h"
15 #include "chrome/browser/chromeos/net/network_portal_detector_test_impl.h" 15 #include "chrome/browser/chromeos/net/network_portal_detector_test_impl.h"
16 #include "chrome/common/pref_names.h" 16 #include "chrome/common/pref_names.h"
17 #include "chromeos/chromeos_switches.h" 17 #include "chromeos/chromeos_switches.h"
18 #include "chromeos/dbus/dbus_thread_manager.h" 18 #include "chromeos/dbus/dbus_thread_manager.h"
19 #include "chromeos/dbus/fake_update_engine_client.h" 19 #include "chromeos/dbus/fake_update_engine_client.h"
20 #include "chromeos/network/portal_detector/network_portal_detector.h" 20 #include "chromeos/network/portal_detector/network_portal_detector.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 online_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE; 61 online_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE;
62 online_state.response_code = 204; 62 online_state.response_code = 204;
63 SetDefaultNetwork(kStubEthernetGuid); 63 SetDefaultNetwork(kStubEthernetGuid);
64 SetDetectionResults(kStubEthernetGuid, online_state); 64 SetDetectionResults(kStubEthernetGuid, online_state);
65 SetDetectionResults(kStubWifiGuid, online_state); 65 SetDetectionResults(kStubWifiGuid, online_state);
66 } 66 }
67 67
68 virtual void SetUpOnMainThread() override { 68 virtual void SetUpOnMainThread() override {
69 WizardInProcessBrowserTest::SetUpOnMainThread(); 69 WizardInProcessBrowserTest::SetUpOnMainThread();
70 70
71 mock_screen_observer_.reset(new MockScreenObserver()); 71 mock_base_screen_delegate_.reset(new MockBaseScreenDelegate());
72 mock_error_screen_actor_.reset(new MockErrorScreenActor()); 72 mock_error_screen_actor_.reset(new MockErrorScreenActor());
73 mock_error_screen_.reset( 73 mock_error_screen_.reset(new MockErrorScreen(
74 new MockErrorScreen(mock_screen_observer_.get(), 74 mock_base_screen_delegate_.get(), mock_error_screen_actor_.get()));
75 mock_error_screen_actor_.get())); 75 EXPECT_CALL(*mock_base_screen_delegate_, ShowCurrentScreen())
76 EXPECT_CALL(*mock_screen_observer_, ShowCurrentScreen())
77 .Times(AnyNumber()); 76 .Times(AnyNumber());
78 EXPECT_CALL(*mock_screen_observer_, GetErrorScreen()) 77 EXPECT_CALL(*mock_base_screen_delegate_, GetErrorScreen())
79 .Times(AnyNumber()) 78 .Times(AnyNumber())
80 .WillRepeatedly(Return(mock_error_screen_.get())); 79 .WillRepeatedly(Return(mock_error_screen_.get()));
81 80
82 ASSERT_TRUE(WizardController::default_controller() != NULL); 81 ASSERT_TRUE(WizardController::default_controller() != NULL);
83 update_screen_ = UpdateScreen::Get(WizardController::default_controller()); 82 update_screen_ = UpdateScreen::Get(WizardController::default_controller());
84 ASSERT_TRUE(update_screen_ != NULL); 83 ASSERT_TRUE(update_screen_ != NULL);
85 ASSERT_EQ(WizardController::default_controller()->current_screen(), 84 ASSERT_EQ(WizardController::default_controller()->current_screen(),
86 update_screen_); 85 update_screen_);
87 update_screen_->screen_observer_ = mock_screen_observer_.get(); 86 update_screen_->base_screen_delegate_ = mock_base_screen_delegate_.get();
88 } 87 }
89 88
90 virtual void TearDownOnMainThread() override { 89 virtual void TearDownOnMainThread() override {
91 mock_error_screen_.reset(); 90 mock_error_screen_.reset();
92 mock_error_screen_actor_.reset(); 91 mock_error_screen_actor_.reset();
93 WizardInProcessBrowserTest::TearDownOnMainThread(); 92 WizardInProcessBrowserTest::TearDownOnMainThread();
94 } 93 }
95 94
96 virtual void TearDownInProcessBrowserTestFixture() override { 95 virtual void TearDownInProcessBrowserTestFixture() override {
97 NetworkPortalDetector::Shutdown(); 96 NetworkPortalDetector::Shutdown();
(...skipping 11 matching lines...) Expand all
109 DCHECK(network_portal_detector_); 108 DCHECK(network_portal_detector_);
110 network_portal_detector_->SetDetectionResultsForTesting(guid, state); 109 network_portal_detector_->SetDetectionResultsForTesting(guid, state);
111 } 110 }
112 111
113 void NotifyPortalDetectionCompleted() { 112 void NotifyPortalDetectionCompleted() {
114 DCHECK(network_portal_detector_); 113 DCHECK(network_portal_detector_);
115 network_portal_detector_->NotifyObserversForTesting(); 114 network_portal_detector_->NotifyObserversForTesting();
116 } 115 }
117 116
118 FakeUpdateEngineClient* fake_update_engine_client_; 117 FakeUpdateEngineClient* fake_update_engine_client_;
119 scoped_ptr<MockScreenObserver> mock_screen_observer_; 118 scoped_ptr<MockBaseScreenDelegate> mock_base_screen_delegate_;
120 scoped_ptr<MockErrorScreenActor> mock_error_screen_actor_; 119 scoped_ptr<MockErrorScreenActor> mock_error_screen_actor_;
121 scoped_ptr<MockErrorScreen> mock_error_screen_; 120 scoped_ptr<MockErrorScreen> mock_error_screen_;
122 UpdateScreen* update_screen_; 121 UpdateScreen* update_screen_;
123 NetworkPortalDetectorTestImpl* network_portal_detector_; 122 NetworkPortalDetectorTestImpl* network_portal_detector_;
124 123
125 private: 124 private:
126 DISALLOW_COPY_AND_ASSIGN(UpdateScreenTest); 125 DISALLOW_COPY_AND_ASSIGN(UpdateScreenTest);
127 }; 126 };
128 127
129 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestBasic) { 128 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestBasic) {
130 ASSERT_TRUE(update_screen_->actor_ != NULL); 129 ASSERT_TRUE(update_screen_->actor_ != NULL);
131 } 130 }
132 131
133 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestNoUpdate) { 132 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestNoUpdate) {
134 update_screen_->SetIgnoreIdleStatus(true); 133 update_screen_->SetIgnoreIdleStatus(true);
135 UpdateEngineClient::Status status; 134 UpdateEngineClient::Status status;
136 status.status = UpdateEngineClient::UPDATE_STATUS_IDLE; 135 status.status = UpdateEngineClient::UPDATE_STATUS_IDLE;
137 update_screen_->UpdateStatusChanged(status); 136 update_screen_->UpdateStatusChanged(status);
138 status.status = UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE; 137 status.status = UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE;
139 update_screen_->UpdateStatusChanged(status); 138 update_screen_->UpdateStatusChanged(status);
140 status.status = UpdateEngineClient::UPDATE_STATUS_IDLE; 139 status.status = UpdateEngineClient::UPDATE_STATUS_IDLE;
141 // GetLastStatus() will be called via ExitUpdate() called from 140 // GetLastStatus() will be called via ExitUpdate() called from
142 // UpdateStatusChanged(). 141 // UpdateStatusChanged().
143 fake_update_engine_client_->set_default_status(status); 142 fake_update_engine_client_->set_default_status(status);
144 143
145 EXPECT_CALL(*mock_screen_observer_, OnExit(ScreenObserver::UPDATE_NOUPDATE)) 144 EXPECT_CALL(*mock_base_screen_delegate_,
146 .Times(1); 145 OnExit(BaseScreenDelegate::UPDATE_NOUPDATE)).Times(1);
147 update_screen_->UpdateStatusChanged(status); 146 update_screen_->UpdateStatusChanged(status);
148 } 147 }
149 148
150 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestUpdateAvailable) { 149 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestUpdateAvailable) {
151 update_screen_->is_ignore_update_deadlines_ = true; 150 update_screen_->is_ignore_update_deadlines_ = true;
152 151
153 UpdateEngineClient::Status status; 152 UpdateEngineClient::Status status;
154 status.status = UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE; 153 status.status = UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE;
155 status.new_version = "latest and greatest"; 154 status.new_version = "latest and greatest";
156 update_screen_->UpdateStatusChanged(status); 155 update_screen_->UpdateStatusChanged(status);
(...skipping 20 matching lines...) Expand all
177 EXPECT_EQ(1, fake_update_engine_client_->reboot_after_update_call_count()); 176 EXPECT_EQ(1, fake_update_engine_client_->reboot_after_update_call_count());
178 // Check that OOBE will resume back at this screen. 177 // Check that OOBE will resume back at this screen.
179 base::MessageLoop::current()->RunUntilIdle(); 178 base::MessageLoop::current()->RunUntilIdle();
180 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 179 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
181 EXPECT_EQ(update_screen_->GetName(), 180 EXPECT_EQ(update_screen_->GetName(),
182 g_browser_process->local_state()->GetString(prefs::kOobeScreenPending)); 181 g_browser_process->local_state()->GetString(prefs::kOobeScreenPending));
183 } 182 }
184 183
185 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorIssuingUpdateCheck) { 184 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorIssuingUpdateCheck) {
186 // First, cancel the update that is already in progress. 185 // First, cancel the update that is already in progress.
187 EXPECT_CALL(*mock_screen_observer_, 186 EXPECT_CALL(*mock_base_screen_delegate_,
188 OnExit(ScreenObserver::UPDATE_NOUPDATE)) 187 OnExit(BaseScreenDelegate::UPDATE_NOUPDATE)).Times(1);
189 .Times(1);
190 update_screen_->CancelUpdate(); 188 update_screen_->CancelUpdate();
191 189
192 fake_update_engine_client_->set_update_check_result( 190 fake_update_engine_client_->set_update_check_result(
193 chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED); 191 chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED);
194 EXPECT_CALL(*mock_screen_observer_, 192 EXPECT_CALL(*mock_base_screen_delegate_,
195 OnExit(ScreenObserver::UPDATE_ERROR_CHECKING_FOR_UPDATE)) 193 OnExit(BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE))
196 .Times(1); 194 .Times(1);
197 update_screen_->StartNetworkCheck(); 195 update_screen_->StartNetworkCheck();
198 } 196 }
199 197
200 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorCheckingForUpdate) { 198 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorCheckingForUpdate) {
201 UpdateEngineClient::Status status; 199 UpdateEngineClient::Status status;
202 status.status = UpdateEngineClient::UPDATE_STATUS_ERROR; 200 status.status = UpdateEngineClient::UPDATE_STATUS_ERROR;
203 // GetLastStatus() will be called via ExitUpdate() called from 201 // GetLastStatus() will be called via ExitUpdate() called from
204 // UpdateStatusChanged(). 202 // UpdateStatusChanged().
205 fake_update_engine_client_->set_default_status(status); 203 fake_update_engine_client_->set_default_status(status);
206 204
207 EXPECT_CALL(*mock_screen_observer_, 205 EXPECT_CALL(*mock_base_screen_delegate_,
208 OnExit(ScreenObserver::UPDATE_ERROR_CHECKING_FOR_UPDATE)) 206 OnExit(BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE))
209 .Times(1); 207 .Times(1);
210 update_screen_->UpdateStatusChanged(status); 208 update_screen_->UpdateStatusChanged(status);
211 } 209 }
212 210
213 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorUpdating) { 211 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestErrorUpdating) {
214 UpdateEngineClient::Status status; 212 UpdateEngineClient::Status status;
215 status.status = UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE; 213 status.status = UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE;
216 status.new_version = "latest and greatest"; 214 status.new_version = "latest and greatest";
217 // GetLastStatus() will be called via ExitUpdate() called from 215 // GetLastStatus() will be called via ExitUpdate() called from
218 // UpdateStatusChanged(). 216 // UpdateStatusChanged().
219 fake_update_engine_client_->set_default_status(status); 217 fake_update_engine_client_->set_default_status(status);
220 218
221 update_screen_->UpdateStatusChanged(status); 219 update_screen_->UpdateStatusChanged(status);
222 220
223 status.status = UpdateEngineClient::UPDATE_STATUS_ERROR; 221 status.status = UpdateEngineClient::UPDATE_STATUS_ERROR;
224 // GetLastStatus() will be called via ExitUpdate() called from 222 // GetLastStatus() will be called via ExitUpdate() called from
225 // UpdateStatusChanged(). 223 // UpdateStatusChanged().
226 fake_update_engine_client_->set_default_status(status); 224 fake_update_engine_client_->set_default_status(status);
227 225
228 EXPECT_CALL(*mock_screen_observer_, 226 EXPECT_CALL(*mock_base_screen_delegate_,
229 OnExit(ScreenObserver::UPDATE_ERROR_UPDATING)) 227 OnExit(BaseScreenDelegate::UPDATE_ERROR_UPDATING)).Times(1);
230 .Times(1);
231 update_screen_->UpdateStatusChanged(status); 228 update_screen_->UpdateStatusChanged(status);
232 } 229 }
233 230
234 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestTemproraryOfflineNetwork) { 231 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestTemproraryOfflineNetwork) {
235 EXPECT_CALL(*mock_screen_observer_, 232 EXPECT_CALL(*mock_base_screen_delegate_,
236 OnExit(ScreenObserver::UPDATE_NOUPDATE)) 233 OnExit(BaseScreenDelegate::UPDATE_NOUPDATE)).Times(1);
237 .Times(1);
238 update_screen_->CancelUpdate(); 234 update_screen_->CancelUpdate();
239 235
240 // Change ethernet state to portal. 236 // Change ethernet state to portal.
241 NetworkPortalDetector::CaptivePortalState portal_state; 237 NetworkPortalDetector::CaptivePortalState portal_state;
242 portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL; 238 portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL;
243 portal_state.response_code = 200; 239 portal_state.response_code = 200;
244 SetDetectionResults(kStubEthernetGuid, portal_state); 240 SetDetectionResults(kStubEthernetGuid, portal_state);
245 241
246 // Update screen will show error message about portal state because 242 // Update screen will show error message about portal state because
247 // ethernet is behind captive portal. 243 // ethernet is behind captive portal.
248 EXPECT_CALL(*mock_error_screen_actor_, 244 EXPECT_CALL(*mock_error_screen_actor_,
249 SetUIState(ErrorScreen::UI_STATE_UPDATE)) 245 SetUIState(ErrorScreen::UI_STATE_UPDATE))
250 .Times(1); 246 .Times(1);
251 EXPECT_CALL(*mock_error_screen_actor_, 247 EXPECT_CALL(*mock_error_screen_actor_,
252 SetErrorState(ErrorScreen::ERROR_STATE_PORTAL, std::string())) 248 SetErrorState(ErrorScreen::ERROR_STATE_PORTAL, std::string()))
253 .Times(1); 249 .Times(1);
254 EXPECT_CALL(*mock_error_screen_actor_, FixCaptivePortal()) 250 EXPECT_CALL(*mock_error_screen_actor_, FixCaptivePortal())
255 .Times(1); 251 .Times(1);
256 EXPECT_CALL(*mock_screen_observer_, ShowErrorScreen()) 252 EXPECT_CALL(*mock_base_screen_delegate_, ShowErrorScreen()).Times(1);
257 .Times(1);
258 253
259 update_screen_->StartNetworkCheck(); 254 update_screen_->StartNetworkCheck();
260 255
261 NetworkPortalDetector::CaptivePortalState online_state; 256 NetworkPortalDetector::CaptivePortalState online_state;
262 online_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE; 257 online_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE;
263 online_state.response_code = 204; 258 online_state.response_code = 204;
264 SetDetectionResults(kStubEthernetGuid, online_state); 259 SetDetectionResults(kStubEthernetGuid, online_state);
265 260
266 // Second notification from portal detector will be about online state, 261 // Second notification from portal detector will be about online state,
267 // so update screen will hide error message and proceed to update. 262 // so update screen will hide error message and proceed to update.
268 EXPECT_CALL(*mock_screen_observer_, HideErrorScreen(update_screen_)) 263 EXPECT_CALL(*mock_base_screen_delegate_, HideErrorScreen(update_screen_))
269 .Times(1); 264 .Times(1);
270 fake_update_engine_client_->set_update_check_result( 265 fake_update_engine_client_->set_update_check_result(
271 chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED); 266 chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED);
272 267
273 EXPECT_CALL(*mock_screen_observer_, 268 EXPECT_CALL(*mock_base_screen_delegate_,
274 OnExit(ScreenObserver::UPDATE_ERROR_CHECKING_FOR_UPDATE)) 269 OnExit(BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE))
275 .Times(1); 270 .Times(1);
276 271
277 NotifyPortalDetectionCompleted(); 272 NotifyPortalDetectionCompleted();
278 } 273 }
279 274
280 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestTwoOfflineNetworks) { 275 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestTwoOfflineNetworks) {
281 EXPECT_CALL(*mock_screen_observer_, 276 EXPECT_CALL(*mock_base_screen_delegate_,
282 OnExit(ScreenObserver::UPDATE_NOUPDATE)) 277 OnExit(BaseScreenDelegate::UPDATE_NOUPDATE)).Times(1);
283 .Times(1);
284 update_screen_->CancelUpdate(); 278 update_screen_->CancelUpdate();
285 279
286 // Change ethernet state to portal. 280 // Change ethernet state to portal.
287 NetworkPortalDetector::CaptivePortalState portal_state; 281 NetworkPortalDetector::CaptivePortalState portal_state;
288 portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL; 282 portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL;
289 portal_state.response_code = 200; 283 portal_state.response_code = 200;
290 SetDetectionResults(kStubEthernetGuid, portal_state); 284 SetDetectionResults(kStubEthernetGuid, portal_state);
291 285
292 // Update screen will show error message about portal state because 286 // Update screen will show error message about portal state because
293 // ethernet is behind captive portal. 287 // ethernet is behind captive portal.
294 EXPECT_CALL(*mock_error_screen_actor_, 288 EXPECT_CALL(*mock_error_screen_actor_,
295 SetUIState(ErrorScreen::UI_STATE_UPDATE)) 289 SetUIState(ErrorScreen::UI_STATE_UPDATE))
296 .Times(1); 290 .Times(1);
297 EXPECT_CALL(*mock_error_screen_actor_, 291 EXPECT_CALL(*mock_error_screen_actor_,
298 SetErrorState(ErrorScreen::ERROR_STATE_PORTAL, std::string())) 292 SetErrorState(ErrorScreen::ERROR_STATE_PORTAL, std::string()))
299 .Times(1); 293 .Times(1);
300 EXPECT_CALL(*mock_error_screen_actor_, FixCaptivePortal()) 294 EXPECT_CALL(*mock_error_screen_actor_, FixCaptivePortal())
301 .Times(1); 295 .Times(1);
302 EXPECT_CALL(*mock_screen_observer_, ShowErrorScreen()) 296 EXPECT_CALL(*mock_base_screen_delegate_, ShowErrorScreen()).Times(1);
303 .Times(1);
304 297
305 update_screen_->StartNetworkCheck(); 298 update_screen_->StartNetworkCheck();
306 299
307 // Change active network to the wifi behind proxy. 300 // Change active network to the wifi behind proxy.
308 NetworkPortalDetector::CaptivePortalState proxy_state; 301 NetworkPortalDetector::CaptivePortalState proxy_state;
309 proxy_state.status = 302 proxy_state.status =
310 NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED; 303 NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED;
311 proxy_state.response_code = -1; 304 proxy_state.response_code = -1;
312 SetDefaultNetwork(kStubWifiGuid); 305 SetDefaultNetwork(kStubWifiGuid);
313 SetDetectionResults(kStubWifiGuid, proxy_state); 306 SetDetectionResults(kStubWifiGuid, proxy_state);
314 307
315 // Update screen will show message about proxy error because wifie 308 // Update screen will show message about proxy error because wifie
316 // network requires proxy authentication. 309 // network requires proxy authentication.
317 EXPECT_CALL(*mock_error_screen_actor_, 310 EXPECT_CALL(*mock_error_screen_actor_,
318 SetErrorState(ErrorScreen::ERROR_STATE_PROXY, std::string())) 311 SetErrorState(ErrorScreen::ERROR_STATE_PROXY, std::string()))
319 .Times(1); 312 .Times(1);
320 313
321 NotifyPortalDetectionCompleted(); 314 NotifyPortalDetectionCompleted();
322 } 315 }
323 316
324 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestVoidNetwork) { 317 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestVoidNetwork) {
325 SetDefaultNetwork(std::string()); 318 SetDefaultNetwork(std::string());
326 319
327 // Cancels pending update request. 320 // Cancels pending update request.
328 EXPECT_CALL(*mock_screen_observer_, 321 EXPECT_CALL(*mock_base_screen_delegate_,
329 OnExit(ScreenObserver::UPDATE_NOUPDATE)) 322 OnExit(BaseScreenDelegate::UPDATE_NOUPDATE)).Times(1);
330 .Times(1);
331 update_screen_->CancelUpdate(); 323 update_screen_->CancelUpdate();
332 324
333 // First portal detection attempt returns NULL network and undefined 325 // First portal detection attempt returns NULL network and undefined
334 // results, so detection is restarted. 326 // results, so detection is restarted.
335 EXPECT_CALL(*mock_error_screen_actor_, 327 EXPECT_CALL(*mock_error_screen_actor_,
336 SetUIState(_)) 328 SetUIState(_))
337 .Times(Exactly(0)); 329 .Times(Exactly(0));
338 EXPECT_CALL(*mock_error_screen_actor_, 330 EXPECT_CALL(*mock_error_screen_actor_,
339 SetErrorState(_, _)) 331 SetErrorState(_, _))
340 .Times(Exactly(0)); 332 .Times(Exactly(0));
341 EXPECT_CALL(*mock_screen_observer_, ShowErrorScreen()) 333 EXPECT_CALL(*mock_base_screen_delegate_, ShowErrorScreen()).Times(Exactly(0));
342 .Times(Exactly(0));
343 update_screen_->StartNetworkCheck(); 334 update_screen_->StartNetworkCheck();
344 335
345 // Second portal detection also returns NULL network and undefined 336 // Second portal detection also returns NULL network and undefined
346 // results. In this case, offline message should be displayed. 337 // results. In this case, offline message should be displayed.
347 EXPECT_CALL(*mock_error_screen_actor_, 338 EXPECT_CALL(*mock_error_screen_actor_,
348 SetUIState(ErrorScreen::UI_STATE_UPDATE)) 339 SetUIState(ErrorScreen::UI_STATE_UPDATE))
349 .Times(1); 340 .Times(1);
350 EXPECT_CALL(*mock_error_screen_actor_, 341 EXPECT_CALL(*mock_error_screen_actor_,
351 SetErrorState(ErrorScreen::ERROR_STATE_OFFLINE, std::string())) 342 SetErrorState(ErrorScreen::ERROR_STATE_OFFLINE, std::string()))
352 .Times(1); 343 .Times(1);
353 EXPECT_CALL(*mock_screen_observer_, ShowErrorScreen()) 344 EXPECT_CALL(*mock_base_screen_delegate_, ShowErrorScreen()).Times(1);
354 .Times(1);
355 base::MessageLoop::current()->RunUntilIdle(); 345 base::MessageLoop::current()->RunUntilIdle();
356 NotifyPortalDetectionCompleted(); 346 NotifyPortalDetectionCompleted();
357 } 347 }
358 348
359 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestAPReselection) { 349 IN_PROC_BROWSER_TEST_F(UpdateScreenTest, TestAPReselection) {
360 EXPECT_CALL(*mock_screen_observer_, 350 EXPECT_CALL(*mock_base_screen_delegate_,
361 OnExit(ScreenObserver::UPDATE_NOUPDATE)) 351 OnExit(BaseScreenDelegate::UPDATE_NOUPDATE)).Times(1);
362 .Times(1);
363 update_screen_->CancelUpdate(); 352 update_screen_->CancelUpdate();
364 353
365 // Change ethernet state to portal. 354 // Change ethernet state to portal.
366 NetworkPortalDetector::CaptivePortalState portal_state; 355 NetworkPortalDetector::CaptivePortalState portal_state;
367 portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL; 356 portal_state.status = NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL;
368 portal_state.response_code = 200; 357 portal_state.response_code = 200;
369 SetDetectionResults(kStubEthernetGuid, portal_state); 358 SetDetectionResults(kStubEthernetGuid, portal_state);
370 359
371 // Update screen will show error message about portal state because 360 // Update screen will show error message about portal state because
372 // ethernet is behind captive portal. 361 // ethernet is behind captive portal.
373 EXPECT_CALL(*mock_error_screen_actor_, 362 EXPECT_CALL(*mock_error_screen_actor_,
374 SetUIState(ErrorScreen::UI_STATE_UPDATE)) 363 SetUIState(ErrorScreen::UI_STATE_UPDATE))
375 .Times(1); 364 .Times(1);
376 EXPECT_CALL(*mock_error_screen_actor_, 365 EXPECT_CALL(*mock_error_screen_actor_,
377 SetErrorState(ErrorScreen::ERROR_STATE_PORTAL, std::string())) 366 SetErrorState(ErrorScreen::ERROR_STATE_PORTAL, std::string()))
378 .Times(1); 367 .Times(1);
379 EXPECT_CALL(*mock_error_screen_actor_, FixCaptivePortal()) 368 EXPECT_CALL(*mock_error_screen_actor_, FixCaptivePortal())
380 .Times(1); 369 .Times(1);
381 EXPECT_CALL(*mock_screen_observer_, ShowErrorScreen()) 370 EXPECT_CALL(*mock_base_screen_delegate_, ShowErrorScreen()).Times(1);
382 .Times(1);
383 371
384 update_screen_->StartNetworkCheck(); 372 update_screen_->StartNetworkCheck();
385 373
386 // User re-selects the same network manually. In this case, hide 374 // User re-selects the same network manually. In this case, hide
387 // offline message and skip network check. Since ethernet is still 375 // offline message and skip network check. Since ethernet is still
388 // behind portal, update engine fails to update. 376 // behind portal, update engine fails to update.
389 EXPECT_CALL(*mock_screen_observer_, HideErrorScreen(update_screen_)) 377 EXPECT_CALL(*mock_base_screen_delegate_, HideErrorScreen(update_screen_))
390 .Times(1); 378 .Times(1);
391 fake_update_engine_client_->set_update_check_result( 379 fake_update_engine_client_->set_update_check_result(
392 chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED); 380 chromeos::UpdateEngineClient::UPDATE_RESULT_FAILED);
393 EXPECT_CALL(*mock_screen_observer_, 381 EXPECT_CALL(*mock_base_screen_delegate_,
394 OnExit(ScreenObserver::UPDATE_ERROR_CHECKING_FOR_UPDATE)) 382 OnExit(BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE))
395 .Times(1); 383 .Times(1);
396 384
397 update_screen_->OnConnectToNetworkRequested(); 385 update_screen_->OnConnectToNetworkRequested();
398 base::MessageLoop::current()->RunUntilIdle(); 386 base::MessageLoop::current()->RunUntilIdle();
399 } 387 }
400 388
401 } // namespace chromeos 389 } // 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.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698