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

Side by Side Diff: chromeos/network/shill_property_handler_unittest.cc

Issue 12387065: Convert TrayVPN to use new NetworkState code (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix browser_tests Created 7 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 | Annotate | Revision Log
« no previous file with comments | « chromeos/network/network_state_handler_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "chromeos/network/shill_property_handler.h" 5 #include "chromeos/network/shill_property_handler.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 10
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 ASSERT_TRUE(IsValidType(type)); 181 ASSERT_TRUE(IsValidType(type));
182 service_test_->AddService(id, id, type, state, add_to_watch_list); 182 service_test_->AddService(id, id, type, state, add_to_watch_list);
183 } 183 }
184 184
185 void RemoveService(const std::string& id) { 185 void RemoveService(const std::string& id) {
186 service_test_->RemoveService(id); 186 service_test_->RemoveService(id);
187 } 187 }
188 188
189 // Call this after any initial Shill client setup 189 // Call this after any initial Shill client setup
190 void SetupShillPropertyHandler() { 190 void SetupShillPropertyHandler() {
191 SetupDefaultShillState();
191 listener_.reset(new TestListener); 192 listener_.reset(new TestListener);
192 shill_property_handler_.reset( 193 shill_property_handler_.reset(
193 new internal::ShillPropertyHandler(listener_.get())); 194 new internal::ShillPropertyHandler(listener_.get()));
194 shill_property_handler_->Init(); 195 shill_property_handler_->Init();
195 } 196 }
196 197
197 bool IsValidType(const std::string& type) { 198 bool IsValidType(const std::string& type) {
198 return (type == flimflam::kTypeEthernet || 199 return (type == flimflam::kTypeEthernet ||
199 type == flimflam::kTypeWifi || 200 type == flimflam::kTypeWifi ||
200 type == flimflam::kTypeWimax || 201 type == flimflam::kTypeWimax ||
201 type == flimflam::kTypeBluetooth || 202 type == flimflam::kTypeBluetooth ||
202 type == flimflam::kTypeCellular || 203 type == flimflam::kTypeCellular ||
203 type == flimflam::kTypeVPN); 204 type == flimflam::kTypeVPN);
204 } 205 }
205 206
206 protected: 207 protected:
208 void SetupDefaultShillState() {
209 message_loop_.RunUntilIdle(); // Process any pending updates
210 device_test_->ClearDevices();
211 AddDevice(flimflam::kTypeWifi, "stub_wifi_device1");
212 AddDevice(flimflam::kTypeCellular, "stub_cellular_device1");
213 service_test_->ClearServices();
214 const bool add_to_watchlist = true;
215 AddService(flimflam::kTypeEthernet, "stub_ethernet",
216 flimflam::kStateOnline, add_to_watchlist);
217 AddService(flimflam::kTypeWifi, "stub_wifi1",
218 flimflam::kStateOnline, add_to_watchlist);
219 AddService(flimflam::kTypeWifi, "stub_wifi2",
220 flimflam::kStateIdle, add_to_watchlist);
221 AddService(flimflam::kTypeCellular, "stub_cellular1",
222 flimflam::kStateIdle, add_to_watchlist);
223 }
224
207 MessageLoopForUI message_loop_; 225 MessageLoopForUI message_loop_;
208 scoped_ptr<TestListener> listener_; 226 scoped_ptr<TestListener> listener_;
209 scoped_ptr<internal::ShillPropertyHandler> shill_property_handler_; 227 scoped_ptr<internal::ShillPropertyHandler> shill_property_handler_;
210 ShillManagerClient::TestInterface* manager_test_; 228 ShillManagerClient::TestInterface* manager_test_;
211 ShillDeviceClient::TestInterface* device_test_; 229 ShillDeviceClient::TestInterface* device_test_;
212 ShillServiceClient::TestInterface* service_test_; 230 ShillServiceClient::TestInterface* service_test_;
213 231
214 private: 232 private:
215 DISALLOW_COPY_AND_ASSIGN(ShillPropertyHandlerTest); 233 DISALLOW_COPY_AND_ASSIGN(ShillPropertyHandlerTest);
216 }; 234 };
217 235
218 TEST_F(ShillPropertyHandlerTest, ShillPropertyHandlerStub) { 236 TEST_F(ShillPropertyHandlerTest, ShillPropertyHandlerStub) {
219 SetupShillPropertyHandler(); 237 SetupShillPropertyHandler();
220 message_loop_.RunUntilIdle(); 238 message_loop_.RunUntilIdle();
221 EXPECT_EQ(1, listener_->manager_updates()); 239 EXPECT_EQ(1, listener_->manager_updates());
222 // ShillManagerClient default stub entries are in shill_manager_client.cc.
223 // TODO(stevenjb): Eliminate default stub entries and add them explicitly.
224 EXPECT_TRUE(shill_property_handler_->TechnologyAvailable( 240 EXPECT_TRUE(shill_property_handler_->TechnologyAvailable(
225 flimflam::kTypeWifi)); 241 flimflam::kTypeWifi));
226 EXPECT_TRUE(shill_property_handler_->TechnologyEnabled( 242 EXPECT_TRUE(shill_property_handler_->TechnologyEnabled(
227 flimflam::kTypeWifi)); 243 flimflam::kTypeWifi));
228 const size_t kNumShillManagerClientStubImplDevices = 2; 244 const size_t kNumShillManagerClientStubImplDevices = 2;
229 EXPECT_EQ(kNumShillManagerClientStubImplDevices, 245 EXPECT_EQ(kNumShillManagerClientStubImplDevices,
230 listener_->entries(flimflam::kDevicesProperty).size()); 246 listener_->entries(flimflam::kDevicesProperty).size());
231 const size_t kNumShillManagerClientStubImplServices = 4; 247 const size_t kNumShillManagerClientStubImplServices = 4;
232 EXPECT_EQ(kNumShillManagerClientStubImplServices, 248 EXPECT_EQ(kNumShillManagerClientStubImplServices,
233 listener_->entries(flimflam::kServicesProperty).size()); 249 listener_->entries(flimflam::kServicesProperty).size());
234 250
235 EXPECT_EQ(0, listener_->errors()); 251 EXPECT_EQ(0, listener_->errors());
236 } 252 }
237 253
238 TEST_F(ShillPropertyHandlerTest, ShillPropertyHandlerTechnologyChanged) { 254 TEST_F(ShillPropertyHandlerTest, ShillPropertyHandlerTechnologyChanged) {
239 // This relies on the stub dbus implementations for ShillManagerClient,
240 SetupShillPropertyHandler(); 255 SetupShillPropertyHandler();
241 message_loop_.RunUntilIdle(); 256 message_loop_.RunUntilIdle();
242 EXPECT_EQ(1, listener_->manager_updates()); 257 EXPECT_EQ(1, listener_->manager_updates());
243 // Add a disabled technology. 258 // Add a disabled technology.
244 manager_test_->AddTechnology(flimflam::kTypeWimax, false); 259 manager_test_->AddTechnology(flimflam::kTypeWimax, false);
245 message_loop_.RunUntilIdle(); 260 message_loop_.RunUntilIdle();
246 EXPECT_EQ(2, listener_->manager_updates()); 261 EXPECT_EQ(2, listener_->manager_updates());
247 EXPECT_TRUE(shill_property_handler_->TechnologyAvailable( 262 EXPECT_TRUE(shill_property_handler_->TechnologyAvailable(
248 flimflam::kTypeWimax)); 263 flimflam::kTypeWimax));
249 EXPECT_FALSE(shill_property_handler_->TechnologyEnabled( 264 EXPECT_FALSE(shill_property_handler_->TechnologyEnabled(
250 flimflam::kTypeWimax)); 265 flimflam::kTypeWimax));
251 266
252 // Enable the technology. 267 // Enable the technology.
253 DBusThreadManager::Get()->GetShillManagerClient()->EnableTechnology( 268 DBusThreadManager::Get()->GetShillManagerClient()->EnableTechnology(
254 flimflam::kTypeWimax, 269 flimflam::kTypeWimax,
255 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); 270 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction));
256 message_loop_.RunUntilIdle(); 271 message_loop_.RunUntilIdle();
257 EXPECT_EQ(3, listener_->manager_updates()); 272 EXPECT_EQ(3, listener_->manager_updates());
258 EXPECT_TRUE(shill_property_handler_->TechnologyEnabled( 273 EXPECT_TRUE(shill_property_handler_->TechnologyEnabled(
259 flimflam::kTypeWimax)); 274 flimflam::kTypeWimax));
260 275
261 EXPECT_EQ(0, listener_->errors()); 276 EXPECT_EQ(0, listener_->errors());
262 } 277 }
263 278
264 TEST_F(ShillPropertyHandlerTest, ShillPropertyHandlerDevicePropertyChanged) { 279 TEST_F(ShillPropertyHandlerTest, ShillPropertyHandlerDevicePropertyChanged) {
265 // This relies on the stub dbus implementations for ShillManagerClient,
266 SetupShillPropertyHandler(); 280 SetupShillPropertyHandler();
267 message_loop_.RunUntilIdle(); 281 message_loop_.RunUntilIdle();
268 EXPECT_EQ(1, listener_->manager_updates()); 282 EXPECT_EQ(1, listener_->manager_updates());
269 EXPECT_EQ(1, listener_->list_updates(flimflam::kDevicesProperty)); 283 EXPECT_EQ(1, listener_->list_updates(flimflam::kDevicesProperty));
270 const size_t kNumShillManagerClientStubImplDevices = 2; 284 const size_t kNumShillManagerClientStubImplDevices = 2;
271 EXPECT_EQ(kNumShillManagerClientStubImplDevices, 285 EXPECT_EQ(kNumShillManagerClientStubImplDevices,
272 listener_->entries(flimflam::kDevicesProperty).size()); 286 listener_->entries(flimflam::kDevicesProperty).size());
273 // Add a device. 287 // Add a device.
274 const std::string kTestDevicePath("test_wifi_device1"); 288 const std::string kTestDevicePath("test_wifi_device1");
275 AddDevice(flimflam::kTypeWifi, kTestDevicePath); 289 AddDevice(flimflam::kTypeWifi, kTestDevicePath);
276 message_loop_.RunUntilIdle(); 290 message_loop_.RunUntilIdle();
277 EXPECT_EQ(1, listener_->manager_updates()); // No new manager updates. 291 EXPECT_EQ(1, listener_->manager_updates()); // No new manager updates.
278 EXPECT_EQ(2, listener_->list_updates(flimflam::kDevicesProperty)); 292 EXPECT_EQ(2, listener_->list_updates(flimflam::kDevicesProperty));
279 EXPECT_EQ(kNumShillManagerClientStubImplDevices + 1, 293 EXPECT_EQ(kNumShillManagerClientStubImplDevices + 1,
280 listener_->entries(flimflam::kDevicesProperty).size()); 294 listener_->entries(flimflam::kDevicesProperty).size());
281 // Device changes are not observed. 295 // Device changes are not observed.
282 // Remove a device 296 // Remove a device
283 RemoveDevice(kTestDevicePath); 297 RemoveDevice(kTestDevicePath);
284 message_loop_.RunUntilIdle(); 298 message_loop_.RunUntilIdle();
285 EXPECT_EQ(3, listener_->list_updates(flimflam::kDevicesProperty)); 299 EXPECT_EQ(3, listener_->list_updates(flimflam::kDevicesProperty));
286 EXPECT_EQ(kNumShillManagerClientStubImplDevices, 300 EXPECT_EQ(kNumShillManagerClientStubImplDevices,
287 listener_->entries(flimflam::kDevicesProperty).size()); 301 listener_->entries(flimflam::kDevicesProperty).size());
288 302
289 EXPECT_EQ(0, listener_->errors()); 303 EXPECT_EQ(0, listener_->errors());
290 } 304 }
291 305
292 TEST_F(ShillPropertyHandlerTest, ShillPropertyHandlerServicePropertyChanged) { 306 TEST_F(ShillPropertyHandlerTest, ShillPropertyHandlerServicePropertyChanged) {
293 // This relies on the stub dbus implementations for ShillManagerClient,
294 SetupShillPropertyHandler(); 307 SetupShillPropertyHandler();
295 message_loop_.RunUntilIdle(); 308 message_loop_.RunUntilIdle();
296 EXPECT_EQ(1, listener_->manager_updates()); 309 EXPECT_EQ(1, listener_->manager_updates());
297 EXPECT_EQ(1, listener_->list_updates(flimflam::kServicesProperty)); 310 EXPECT_EQ(1, listener_->list_updates(flimflam::kServicesProperty));
298 const size_t kNumShillManagerClientStubImplServices = 4; 311 const size_t kNumShillManagerClientStubImplServices = 4;
299 EXPECT_EQ(kNumShillManagerClientStubImplServices, 312 EXPECT_EQ(kNumShillManagerClientStubImplServices,
300 listener_->entries(flimflam::kServicesProperty).size()); 313 listener_->entries(flimflam::kServicesProperty).size());
301 314
302 // Add an unwatched service. 315 // Add an unwatched service.
303 const std::string kTestServicePath("test_wifi_service1"); 316 const std::string kTestServicePath("test_wifi_service1");
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 EXPECT_EQ(3, listener_->list_updates(flimflam::kServicesProperty)); 364 EXPECT_EQ(3, listener_->list_updates(flimflam::kServicesProperty));
352 EXPECT_EQ(kNumShillManagerClientStubImplServices, 365 EXPECT_EQ(kNumShillManagerClientStubImplServices,
353 listener_->entries(flimflam::kServicesProperty).size()); 366 listener_->entries(flimflam::kServicesProperty).size());
354 367
355 EXPECT_EQ(0, listener_->errors()); 368 EXPECT_EQ(0, listener_->errors());
356 } 369 }
357 370
358 // TODO(stevenjb): Test IP Configs. 371 // TODO(stevenjb): Test IP Configs.
359 372
360 } // namespace chromeos 373 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/network/network_state_handler_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698