OLD | NEW |
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/memory/scoped_ptr.h" | 5 #include "base/memory/scoped_ptr.h" |
6 #include "chrome/browser/chromeos/cros/cros_library.h" | |
7 #include "chrome/browser/chromeos/cros/mock_network_library.h" | |
8 #include "chrome/browser/chromeos/cros/network_library.h" | |
9 #include "chrome/browser/chromeos/login/screens/mock_screen_observer.h" | 6 #include "chrome/browser/chromeos/login/screens/mock_screen_observer.h" |
10 #include "chrome/browser/chromeos/login/screens/network_screen.h" | 7 #include "chrome/browser/chromeos/login/screens/network_screen.h" |
11 #include "chrome/browser/chromeos/login/screens/wizard_screen.h" | 8 #include "chrome/browser/chromeos/login/screens/wizard_screen.h" |
12 #include "chrome/browser/chromeos/login/wizard_controller.h" | 9 #include "chrome/browser/chromeos/login/wizard_controller.h" |
13 #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h" | 10 #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h" |
14 #include "chrome/browser/chromeos/net/mock_connectivity_state_helper.h" | 11 #include "chrome/browser/chromeos/net/mock_connectivity_state_helper.h" |
15 #include "chrome/test/base/ui_test_utils.h" | 12 #include "chrome/test/base/ui_test_utils.h" |
16 #include "chromeos/dbus/fake_session_manager_client.h" | 13 #include "chromeos/dbus/fake_session_manager_client.h" |
17 #include "chromeos/dbus/mock_dbus_thread_manager_without_gmock.h" | 14 #include "chromeos/dbus/mock_dbus_thread_manager_without_gmock.h" |
18 #include "content/public/test/test_utils.h" | 15 #include "content/public/test/test_utils.h" |
(...skipping 12 matching lines...) Expand all Loading... |
31 | 28 |
32 class DummyButtonListener : public views::ButtonListener { | 29 class DummyButtonListener : public views::ButtonListener { |
33 public: | 30 public: |
34 virtual void ButtonPressed(views::Button* sender, | 31 virtual void ButtonPressed(views::Button* sender, |
35 const ui::Event& event) OVERRIDE {} | 32 const ui::Event& event) OVERRIDE {} |
36 }; | 33 }; |
37 | 34 |
38 class NetworkScreenTest : public WizardInProcessBrowserTest { | 35 class NetworkScreenTest : public WizardInProcessBrowserTest { |
39 public: | 36 public: |
40 NetworkScreenTest(): WizardInProcessBrowserTest("network"), | 37 NetworkScreenTest(): WizardInProcessBrowserTest("network"), |
41 mock_network_library_(NULL), | |
42 fake_session_manager_client_(NULL) { | 38 fake_session_manager_client_(NULL) { |
43 } | 39 } |
44 | 40 |
45 protected: | 41 protected: |
46 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { | 42 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { |
47 MockDBusThreadManagerWithoutGMock* mock_dbus_thread_manager = | 43 MockDBusThreadManagerWithoutGMock* mock_dbus_thread_manager = |
48 new MockDBusThreadManagerWithoutGMock; | 44 new MockDBusThreadManagerWithoutGMock; |
49 DBusThreadManager::InitializeForTesting(mock_dbus_thread_manager); | 45 DBusThreadManager::InitializeForTesting(mock_dbus_thread_manager); |
50 fake_session_manager_client_ = | 46 fake_session_manager_client_ = |
51 mock_dbus_thread_manager->fake_session_manager_client(); | 47 mock_dbus_thread_manager->fake_session_manager_client(); |
52 | 48 |
53 mock_connectivity_state_helper_.reset(new MockConnectivityStateHelper); | 49 mock_connectivity_state_helper_.reset(new MockConnectivityStateHelper); |
54 ConnectivityStateHelper::SetForTest(mock_connectivity_state_helper_.get()); | 50 ConnectivityStateHelper::SetForTest(mock_connectivity_state_helper_.get()); |
55 SetDefaultMockConnectivityStateHelperExpectations(); | 51 SetDefaultMockConnectivityStateHelperExpectations(); |
56 | 52 |
57 cros_mock_->InitStatusAreaMocks(); | 53 cros_mock_->InitStatusAreaMocks(); |
58 mock_network_library_ = cros_mock_->mock_network_library(); | |
59 cellular_.reset(new NetworkDevice("cellular")); | 54 cellular_.reset(new NetworkDevice("cellular")); |
60 | 55 |
61 // Minimal set of expectations needed on NetworkScreen initialization. | 56 // Minimal set of expectations needed on NetworkScreen initialization. |
62 // Status bar expectations are defined with RetiresOnSaturation() so | 57 // Status bar expectations are defined with RetiresOnSaturation() so |
63 // these mocks will be active once status bar is initialized. | |
64 EXPECT_CALL(*mock_network_library_, AddUserActionObserver(_)) | |
65 .Times(AnyNumber()); | |
66 EXPECT_CALL(*mock_connectivity_state_helper_, | 58 EXPECT_CALL(*mock_connectivity_state_helper_, |
67 IsConnectedType(flimflam::kTypeWifi)) | 59 IsConnectedType(flimflam::kTypeWifi)) |
68 .Times(1) | 60 .Times(1) |
69 .WillRepeatedly(Return(false)); | 61 .WillRepeatedly(Return(false)); |
70 EXPECT_CALL(*mock_network_library_, FindWifiDevice()) | |
71 .Times(AnyNumber()); | |
72 EXPECT_CALL(*mock_network_library_, FindEthernetDevice()) | |
73 .Times(AnyNumber()); | |
74 EXPECT_CALL(*mock_network_library_, LoadOncNetworks(_, _)) | |
75 .Times(AnyNumber()); | |
76 | 62 |
77 cros_mock_->SetStatusAreaMocksExpectations(); | 63 cros_mock_->SetStatusAreaMocksExpectations(); |
78 } | 64 } |
79 | 65 |
80 virtual void SetUpOnMainThread() OVERRIDE { | 66 virtual void SetUpOnMainThread() OVERRIDE { |
81 WizardInProcessBrowserTest::SetUpOnMainThread(); | 67 WizardInProcessBrowserTest::SetUpOnMainThread(); |
82 mock_screen_observer_.reset(new MockScreenObserver()); | 68 mock_screen_observer_.reset(new MockScreenObserver()); |
83 ASSERT_TRUE(WizardController::default_controller() != NULL); | 69 ASSERT_TRUE(WizardController::default_controller() != NULL); |
84 network_screen_ = | 70 network_screen_ = |
85 WizardController::default_controller()->GetNetworkScreen(); | 71 WizardController::default_controller()->GetNetworkScreen(); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 EXPECT_CALL(*mock_connectivity_state_helper_, IsConnectedType(_)) | 110 EXPECT_CALL(*mock_connectivity_state_helper_, IsConnectedType(_)) |
125 .Times(AnyNumber()) | 111 .Times(AnyNumber()) |
126 .WillRepeatedly((Return(false))); | 112 .WillRepeatedly((Return(false))); |
127 EXPECT_CALL(*mock_connectivity_state_helper_, IsConnectingType(_)) | 113 EXPECT_CALL(*mock_connectivity_state_helper_, IsConnectingType(_)) |
128 .Times(AnyNumber()) | 114 .Times(AnyNumber()) |
129 .WillRepeatedly((Return(false))); | 115 .WillRepeatedly((Return(false))); |
130 } | 116 } |
131 | 117 |
132 scoped_ptr<MockScreenObserver> mock_screen_observer_; | 118 scoped_ptr<MockScreenObserver> mock_screen_observer_; |
133 scoped_ptr<MockConnectivityStateHelper> mock_connectivity_state_helper_; | 119 scoped_ptr<MockConnectivityStateHelper> mock_connectivity_state_helper_; |
134 MockNetworkLibrary* mock_network_library_; | |
135 scoped_ptr<NetworkDevice> cellular_; | 120 scoped_ptr<NetworkDevice> cellular_; |
136 NetworkScreen* network_screen_; | 121 NetworkScreen* network_screen_; |
137 FakeSessionManagerClient* fake_session_manager_client_; | 122 FakeSessionManagerClient* fake_session_manager_client_; |
138 | 123 |
139 private: | 124 private: |
140 DISALLOW_COPY_AND_ASSIGN(NetworkScreenTest); | 125 DISALLOW_COPY_AND_ASSIGN(NetworkScreenTest); |
141 }; | 126 }; |
142 | 127 |
143 IN_PROC_BROWSER_TEST_F(NetworkScreenTest, Ethernet) { | 128 IN_PROC_BROWSER_TEST_F(NetworkScreenTest, Ethernet) { |
144 EXPECT_CALL(*mock_connectivity_state_helper_, | 129 EXPECT_CALL(*mock_connectivity_state_helper_, |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 .WillOnce((Return(false))); | 167 .WillOnce((Return(false))); |
183 EXPECT_CALL(*mock_connectivity_state_helper_, | 168 EXPECT_CALL(*mock_connectivity_state_helper_, |
184 IsConnectedType(flimflam::kTypeCellular)) | 169 IsConnectedType(flimflam::kTypeCellular)) |
185 .WillOnce((Return(false))); | 170 .WillOnce((Return(false))); |
186 EXPECT_CALL(*mock_connectivity_state_helper_, | 171 EXPECT_CALL(*mock_connectivity_state_helper_, |
187 IsConnectingType(flimflam::kTypeEthernet)) | 172 IsConnectingType(flimflam::kTypeEthernet)) |
188 .WillOnce((Return(false))); | 173 .WillOnce((Return(false))); |
189 EXPECT_CALL(*mock_connectivity_state_helper_, | 174 EXPECT_CALL(*mock_connectivity_state_helper_, |
190 IsConnectingType(flimflam::kTypeWifi)) | 175 IsConnectingType(flimflam::kTypeWifi)) |
191 .WillOnce((Return(true))); | 176 .WillOnce((Return(true))); |
192 scoped_ptr<WifiNetwork> wifi(new WifiNetwork("wifi")); | |
193 WifiNetworkVector wifi_networks; | |
194 wifi_networks.push_back(wifi.get()); | |
195 EXPECT_CALL(*mock_network_library_, wifi_network()) | |
196 .WillRepeatedly(Return(wifi.get())); | |
197 EXPECT_CALL(*mock_network_library_, wifi_networks()) | |
198 .WillRepeatedly(ReturnRef(wifi_networks)); | |
199 // EXPECT_FALSE(actor_->IsContinueEnabled()); | 177 // EXPECT_FALSE(actor_->IsContinueEnabled()); |
200 network_screen_->NetworkManagerChanged(); | 178 network_screen_->NetworkManagerChanged(); |
201 | 179 |
202 EXPECT_CALL(*mock_connectivity_state_helper_, | 180 EXPECT_CALL(*mock_connectivity_state_helper_, |
203 IsConnectedType(flimflam::kTypeEthernet)) | 181 IsConnectedType(flimflam::kTypeEthernet)) |
204 .WillOnce(Return(true)); | 182 .WillOnce(Return(true)); |
205 EXPECT_CALL(*mock_connectivity_state_helper_, IsConnected()) | 183 EXPECT_CALL(*mock_connectivity_state_helper_, IsConnected()) |
206 .Times(2) | 184 .Times(2) |
207 .WillRepeatedly(Return(true)); | 185 .WillRepeatedly(Return(true)); |
208 // TODO(nkostylev): Add integration with WebUI actor http://crosbug.com/22570 | 186 // TODO(nkostylev): Add integration with WebUI actor http://crosbug.com/22570 |
(...skipping 19 matching lines...) Expand all Loading... |
228 .WillOnce((Return(false))); | 206 .WillOnce((Return(false))); |
229 EXPECT_CALL(*mock_connectivity_state_helper_, | 207 EXPECT_CALL(*mock_connectivity_state_helper_, |
230 IsConnectingType(flimflam::kTypeEthernet)) | 208 IsConnectingType(flimflam::kTypeEthernet)) |
231 .WillOnce((Return(false))); | 209 .WillOnce((Return(false))); |
232 EXPECT_CALL(*mock_connectivity_state_helper_, | 210 EXPECT_CALL(*mock_connectivity_state_helper_, |
233 IsConnectingType(flimflam::kTypeWifi)) | 211 IsConnectingType(flimflam::kTypeWifi)) |
234 .WillOnce((Return(false))); | 212 .WillOnce((Return(false))); |
235 EXPECT_CALL(*mock_connectivity_state_helper_, | 213 EXPECT_CALL(*mock_connectivity_state_helper_, |
236 IsConnectingType(flimflam::kTypeCellular)) | 214 IsConnectingType(flimflam::kTypeCellular)) |
237 .WillOnce((Return(true))); | 215 .WillOnce((Return(true))); |
238 scoped_ptr<CellularNetwork> cellular(new CellularNetwork("cellular")); | |
239 EXPECT_CALL(*mock_network_library_, cellular_network()) | |
240 .WillRepeatedly(Return(cellular.get())); | |
241 // EXPECT_FALSE(actor_->IsContinueEnabled()); | 216 // EXPECT_FALSE(actor_->IsContinueEnabled()); |
242 network_screen_->NetworkManagerChanged(); | 217 network_screen_->NetworkManagerChanged(); |
243 | 218 |
244 EXPECT_CALL(*mock_connectivity_state_helper_, | 219 EXPECT_CALL(*mock_connectivity_state_helper_, |
245 IsConnectedType(flimflam::kTypeEthernet)) | 220 IsConnectedType(flimflam::kTypeEthernet)) |
246 .WillOnce(Return(true)); | 221 .WillOnce(Return(true)); |
247 EXPECT_CALL(*mock_connectivity_state_helper_, IsConnected()) | 222 EXPECT_CALL(*mock_connectivity_state_helper_, IsConnected()) |
248 .Times(2) | 223 .Times(2) |
249 .WillRepeatedly(Return(true)); | 224 .WillRepeatedly(Return(true)); |
250 // TODO(nkostylev): Add integration with WebUI actor http://crosbug.com/22570 | 225 // TODO(nkostylev): Add integration with WebUI actor http://crosbug.com/22570 |
(...skipping 16 matching lines...) Expand all Loading... |
267 .WillOnce((Return(false))); | 242 .WillOnce((Return(false))); |
268 EXPECT_CALL(*mock_connectivity_state_helper_, | 243 EXPECT_CALL(*mock_connectivity_state_helper_, |
269 IsConnectedType(flimflam::kTypeCellular)) | 244 IsConnectedType(flimflam::kTypeCellular)) |
270 .WillOnce((Return(false))); | 245 .WillOnce((Return(false))); |
271 EXPECT_CALL(*mock_connectivity_state_helper_, | 246 EXPECT_CALL(*mock_connectivity_state_helper_, |
272 IsConnectingType(flimflam::kTypeEthernet)) | 247 IsConnectingType(flimflam::kTypeEthernet)) |
273 .WillOnce((Return(false))); | 248 .WillOnce((Return(false))); |
274 EXPECT_CALL(*mock_connectivity_state_helper_, | 249 EXPECT_CALL(*mock_connectivity_state_helper_, |
275 IsConnectingType(flimflam::kTypeWifi)) | 250 IsConnectingType(flimflam::kTypeWifi)) |
276 .WillOnce((Return(true))); | 251 .WillOnce((Return(true))); |
277 scoped_ptr<WifiNetwork> wifi(new WifiNetwork("wifi")); | |
278 EXPECT_CALL(*mock_network_library_, wifi_network()) | |
279 .WillRepeatedly(Return(wifi.get())); | |
280 // EXPECT_FALSE(actor_->IsContinueEnabled()); | 252 // EXPECT_FALSE(actor_->IsContinueEnabled()); |
281 network_screen_->NetworkManagerChanged(); | 253 network_screen_->NetworkManagerChanged(); |
282 | 254 |
283 EXPECT_CALL(*mock_connectivity_state_helper_, IsConnected()) | 255 EXPECT_CALL(*mock_connectivity_state_helper_, IsConnected()) |
284 .Times(2) | 256 .Times(2) |
285 .WillRepeatedly(Return(false)); | 257 .WillRepeatedly(Return(false)); |
286 // TODO(nkostylev): Add integration with WebUI actor http://crosbug.com/22570 | 258 // TODO(nkostylev): Add integration with WebUI actor http://crosbug.com/22570 |
287 // EXPECT_FALSE(actor_->IsContinueEnabled()); | 259 // EXPECT_FALSE(actor_->IsContinueEnabled()); |
288 // EXPECT_FALSE(actor_->IsConnecting()); | 260 // EXPECT_FALSE(actor_->IsConnecting()); |
289 network_screen_->OnConnectionTimeout(); | 261 network_screen_->OnConnectionTimeout(); |
290 | 262 |
291 // Close infobubble with error message - it makes the test stable. | 263 // Close infobubble with error message - it makes the test stable. |
292 // EXPECT_FALSE(actor_->IsContinueEnabled()); | 264 // EXPECT_FALSE(actor_->IsContinueEnabled()); |
293 // EXPECT_FALSE(actor_->IsConnecting()); | 265 // EXPECT_FALSE(actor_->IsConnecting()); |
294 // actor_->ClearErrors(); | 266 // actor_->ClearErrors(); |
295 EXPECT_EQ( | 267 EXPECT_EQ( |
296 1, fake_session_manager_client_->emit_login_prompt_ready_call_count()); | 268 1, fake_session_manager_client_->emit_login_prompt_ready_call_count()); |
297 } | 269 } |
298 | 270 |
299 } // namespace chromeos | 271 } // namespace chromeos |
OLD | NEW |