Chromium Code Reviews| 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 "chromeos/network/network_state_handler.h" | 5 #include "chromeos/network/network_state_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 14 matching lines...) Expand all Loading... | |
| 25 #include "third_party/cros_system_api/dbus/service_constants.h" | 25 #include "third_party/cros_system_api/dbus/service_constants.h" |
| 26 | 26 |
| 27 namespace { | 27 namespace { |
| 28 | 28 |
| 29 void ErrorCallbackFunction(const std::string& error_name, | 29 void ErrorCallbackFunction(const std::string& error_name, |
| 30 const std::string& error_message) { | 30 const std::string& error_message) { |
| 31 LOG(ERROR) << "Shill Error: " << error_name << " : " << error_message; | 31 LOG(ERROR) << "Shill Error: " << error_name << " : " << error_message; |
| 32 } | 32 } |
| 33 | 33 |
| 34 const std::string kShillManagerClientStubDefaultService = "eth1"; | 34 const std::string kShillManagerClientStubDefaultService = "eth1"; |
| 35 const std::string kShillManagerClientStubDefaultWireless = "wifi1"; | 35 const std::string kShillManagerClientStubDefaultWifi = "wifi1"; |
| 36 const std::string kShillManagerClientStubWireless2 = "wifi2"; | 36 const std::string kShillManagerClientStubWifi2 = "wifi2"; |
| 37 const std::string kShillManagerClientStubCellular = "cellular1"; | 37 const std::string kShillManagerClientStubCellular = "cellular1"; |
| 38 | 38 |
| 39 using chromeos::NetworkState; | 39 using chromeos::NetworkState; |
| 40 using chromeos::NetworkStateHandler; | 40 using chromeos::NetworkStateHandler; |
| 41 | 41 |
| 42 class TestObserver : public chromeos::NetworkStateHandlerObserver { | 42 class TestObserver : public chromeos::NetworkStateHandlerObserver { |
| 43 public: | 43 public: |
| 44 explicit TestObserver(NetworkStateHandler* handler) | 44 explicit TestObserver(NetworkStateHandler* handler) |
| 45 : handler_(handler), | 45 : handler_(handler), |
| 46 device_list_changed_count_(0), | 46 device_list_changed_count_(0), |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 132 DISALLOW_COPY_AND_ASSIGN(TestObserver); | 132 DISALLOW_COPY_AND_ASSIGN(TestObserver); |
| 133 }; | 133 }; |
| 134 | 134 |
| 135 } // namespace | 135 } // namespace |
| 136 | 136 |
| 137 namespace chromeos { | 137 namespace chromeos { |
| 138 | 138 |
| 139 class NetworkStateHandlerTest : public testing::Test { | 139 class NetworkStateHandlerTest : public testing::Test { |
| 140 public: | 140 public: |
| 141 NetworkStateHandlerTest() | 141 NetworkStateHandlerTest() |
| 142 : device_test_(NULL), manager_test_(NULL), service_test_(NULL) {} | 142 : device_test_(NULL), |
| 143 manager_test_(NULL), | |
| 144 profile_test_(NULL), | |
| 145 service_test_(NULL) {} | |
| 143 virtual ~NetworkStateHandlerTest() {} | 146 virtual ~NetworkStateHandlerTest() {} |
| 144 | 147 |
| 145 virtual void SetUp() OVERRIDE { | 148 virtual void SetUp() OVERRIDE { |
| 146 // Initialize DBusThreadManager with a stub implementation. | 149 // Initialize DBusThreadManager with a stub implementation. |
| 147 DBusThreadManager::InitializeWithStub(); | 150 DBusThreadManager::InitializeWithStub(); |
|
pneubeck (no reviews)
2014/05/14 08:12:17
instead of setting up the default network environm
stevenjb
2014/05/14 17:08:10
That seems like an unrelated re-factor.
pneubeck (no reviews)
2014/05/14 18:08:35
I just wanted to mentioned it because it makes the
stevenjb
2014/05/14 19:13:07
Ah. Perhaps. At some point we should probably test
| |
| 148 SetupNetworkStateHandler(); | 151 SetupNetworkStateHandler(); |
| 149 message_loop_.RunUntilIdle(); | 152 message_loop_.RunUntilIdle(); |
| 150 } | 153 } |
| 151 | 154 |
| 152 virtual void TearDown() OVERRIDE { | 155 virtual void TearDown() OVERRIDE { |
| 153 network_state_handler_->RemoveObserver(test_observer_.get(), FROM_HERE); | 156 network_state_handler_->RemoveObserver(test_observer_.get(), FROM_HERE); |
| 154 test_observer_.reset(); | 157 test_observer_.reset(); |
| 155 network_state_handler_.reset(); | 158 network_state_handler_.reset(); |
| 156 DBusThreadManager::Shutdown(); | 159 DBusThreadManager::Shutdown(); |
| 157 } | 160 } |
| 158 | 161 |
| 159 void SetupNetworkStateHandler() { | 162 void SetupNetworkStateHandler() { |
| 160 SetupDefaultShillState(); | 163 SetupDefaultShillState(); |
| 161 network_state_handler_.reset(new NetworkStateHandler); | 164 network_state_handler_.reset(new NetworkStateHandler); |
| 162 test_observer_.reset(new TestObserver(network_state_handler_.get())); | 165 test_observer_.reset(new TestObserver(network_state_handler_.get())); |
| 163 network_state_handler_->AddObserver(test_observer_.get(), FROM_HERE); | 166 network_state_handler_->AddObserver(test_observer_.get(), FROM_HERE); |
| 164 network_state_handler_->InitShillPropertyHandler(); | 167 network_state_handler_->InitShillPropertyHandler(); |
| 165 } | 168 } |
| 166 | 169 |
| 167 protected: | 170 protected: |
| 171 void AddService(const std::string& service_path, | |
| 172 const std::string& name, | |
| 173 const std::string& type, | |
| 174 const std::string& state) { | |
| 175 service_test_->AddService(service_path, name, type, state, | |
| 176 true /* add_to_visible */, | |
| 177 true /* add_to_watchlist */); | |
| 178 } | |
| 179 | |
| 168 void SetupDefaultShillState() { | 180 void SetupDefaultShillState() { |
| 169 message_loop_.RunUntilIdle(); // Process any pending updates | 181 message_loop_.RunUntilIdle(); // Process any pending updates |
| 170 device_test_ = | 182 device_test_ = |
| 171 DBusThreadManager::Get()->GetShillDeviceClient()->GetTestInterface(); | 183 DBusThreadManager::Get()->GetShillDeviceClient()->GetTestInterface(); |
| 172 ASSERT_TRUE(device_test_); | 184 ASSERT_TRUE(device_test_); |
| 173 device_test_->ClearDevices(); | 185 device_test_->ClearDevices(); |
| 174 device_test_->AddDevice( | 186 device_test_->AddDevice( |
| 175 "/device/stub_wifi_device1", shill::kTypeWifi, "stub_wifi_device1"); | 187 "/device/stub_wifi_device1", shill::kTypeWifi, "stub_wifi_device1"); |
| 176 device_test_->AddDevice("/device/stub_cellular_device1", | 188 device_test_->AddDevice("/device/stub_cellular_device1", |
| 177 shill::kTypeCellular, | 189 shill::kTypeCellular, |
| 178 "stub_cellular_device1"); | 190 "stub_cellular_device1"); |
| 179 | 191 |
| 180 manager_test_ = | 192 manager_test_ = |
| 181 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface(); | 193 DBusThreadManager::Get()->GetShillManagerClient()->GetTestInterface(); |
| 182 ASSERT_TRUE(manager_test_); | 194 ASSERT_TRUE(manager_test_); |
| 183 | 195 |
| 196 profile_test_ = | |
| 197 DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface(); | |
| 198 ASSERT_TRUE(profile_test_); | |
| 199 profile_test_->ClearProfiles(); | |
| 200 | |
| 184 service_test_ = | 201 service_test_ = |
| 185 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); | 202 DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface(); |
| 186 ASSERT_TRUE(service_test_); | 203 ASSERT_TRUE(service_test_); |
| 187 service_test_->ClearServices(); | 204 service_test_->ClearServices(); |
| 188 const bool add_to_visible = true; | 205 AddService(kShillManagerClientStubDefaultService, |
| 189 const bool add_to_watchlist = true; | 206 kShillManagerClientStubDefaultService, |
| 190 service_test_->AddService(kShillManagerClientStubDefaultService, | 207 shill::kTypeEthernet, |
| 191 kShillManagerClientStubDefaultService, | 208 shill::kStateOnline); |
| 192 shill::kTypeEthernet, | 209 AddService(kShillManagerClientStubDefaultWifi, |
| 193 shill::kStateOnline, | 210 kShillManagerClientStubDefaultWifi, |
| 194 add_to_visible, | 211 shill::kTypeWifi, |
| 195 add_to_watchlist); | 212 shill::kStateOnline); |
| 196 service_test_->AddService(kShillManagerClientStubDefaultWireless, | 213 AddService(kShillManagerClientStubWifi2, |
| 197 kShillManagerClientStubDefaultWireless, | 214 kShillManagerClientStubWifi2, |
| 198 shill::kTypeWifi, | 215 shill::kTypeWifi, |
| 199 shill::kStateOnline, | 216 shill::kStateIdle); |
| 200 add_to_visible, | 217 AddService(kShillManagerClientStubCellular, |
| 201 add_to_watchlist); | 218 kShillManagerClientStubCellular, |
| 202 service_test_->AddService(kShillManagerClientStubWireless2, | 219 shill::kTypeCellular, |
| 203 kShillManagerClientStubWireless2, | 220 shill::kStateIdle); |
| 204 shill::kTypeWifi, | 221 } |
| 205 shill::kStateIdle, | 222 |
| 206 add_to_visible, | 223 void UpdateManagerProperties() { |
| 207 add_to_watchlist); | 224 message_loop_.RunUntilIdle(); |
| 208 service_test_->AddService(kShillManagerClientStubCellular, | 225 network_state_handler_->UpdateManagerProperties(); |
| 209 kShillManagerClientStubCellular, | 226 message_loop_.RunUntilIdle(); |
| 210 shill::kTypeCellular, | |
| 211 shill::kStateIdle, | |
| 212 add_to_visible, | |
| 213 add_to_watchlist); | |
| 214 } | 227 } |
| 215 | 228 |
| 216 base::MessageLoopForUI message_loop_; | 229 base::MessageLoopForUI message_loop_; |
| 217 scoped_ptr<NetworkStateHandler> network_state_handler_; | 230 scoped_ptr<NetworkStateHandler> network_state_handler_; |
| 218 scoped_ptr<TestObserver> test_observer_; | 231 scoped_ptr<TestObserver> test_observer_; |
| 219 ShillDeviceClient::TestInterface* device_test_; | 232 ShillDeviceClient::TestInterface* device_test_; |
| 220 ShillManagerClient::TestInterface* manager_test_; | 233 ShillManagerClient::TestInterface* manager_test_; |
| 234 ShillProfileClient::TestInterface* profile_test_; | |
| 221 ShillServiceClient::TestInterface* service_test_; | 235 ShillServiceClient::TestInterface* service_test_; |
| 222 | 236 |
| 223 private: | 237 private: |
| 224 DISALLOW_COPY_AND_ASSIGN(NetworkStateHandlerTest); | 238 DISALLOW_COPY_AND_ASSIGN(NetworkStateHandlerTest); |
| 225 }; | 239 }; |
| 226 | 240 |
| 227 TEST_F(NetworkStateHandlerTest, NetworkStateHandlerStub) { | 241 TEST_F(NetworkStateHandlerTest, NetworkStateHandlerStub) { |
| 228 // Ensure that the network list is the expected size. | 242 // Ensure that the network list is the expected size. |
| 229 const size_t kNumShillManagerClientStubImplServices = 4; | 243 const size_t kNumShillManagerClientStubImplServices = 4; |
| 230 EXPECT_EQ(kNumShillManagerClientStubImplServices, | 244 EXPECT_EQ(kNumShillManagerClientStubImplServices, |
| 231 test_observer_->network_count()); | 245 test_observer_->network_count()); |
| 232 // Ensure that the first stub network is the default network. | 246 // Ensure that the first stub network is the default network. |
| 233 EXPECT_EQ(kShillManagerClientStubDefaultService, | 247 EXPECT_EQ(kShillManagerClientStubDefaultService, |
| 234 test_observer_->default_network()); | 248 test_observer_->default_network()); |
| 235 EXPECT_EQ(kShillManagerClientStubDefaultService, | 249 EXPECT_EQ(kShillManagerClientStubDefaultService, |
| 236 network_state_handler_->ConnectedNetworkByType( | 250 network_state_handler_->ConnectedNetworkByType( |
| 237 NetworkTypePattern::Default())->path()); | 251 NetworkTypePattern::Default())->path()); |
| 238 EXPECT_EQ(kShillManagerClientStubDefaultService, | 252 EXPECT_EQ(kShillManagerClientStubDefaultService, |
| 239 network_state_handler_->ConnectedNetworkByType( | 253 network_state_handler_->ConnectedNetworkByType( |
| 240 NetworkTypePattern::Ethernet())->path()); | 254 NetworkTypePattern::Ethernet())->path()); |
| 241 EXPECT_EQ(kShillManagerClientStubDefaultWireless, | 255 EXPECT_EQ(kShillManagerClientStubDefaultWifi, |
| 242 network_state_handler_->ConnectedNetworkByType( | 256 network_state_handler_->ConnectedNetworkByType( |
| 243 NetworkTypePattern::Wireless())->path()); | 257 NetworkTypePattern::WiFi())->path()); |
| 244 EXPECT_EQ(kShillManagerClientStubCellular, | 258 EXPECT_EQ(kShillManagerClientStubCellular, |
| 245 network_state_handler_->FirstNetworkByType( | 259 network_state_handler_->FirstNetworkByType( |
| 246 NetworkTypePattern::Mobile())->path()); | 260 NetworkTypePattern::Mobile())->path()); |
| 247 EXPECT_EQ( | 261 EXPECT_EQ( |
| 248 kShillManagerClientStubCellular, | 262 kShillManagerClientStubCellular, |
| 249 network_state_handler_->FirstNetworkByType(NetworkTypePattern::Cellular()) | 263 network_state_handler_->FirstNetworkByType(NetworkTypePattern::Cellular()) |
| 250 ->path()); | 264 ->path()); |
| 251 EXPECT_EQ(shill::kStateOnline, | 265 EXPECT_EQ(shill::kStateOnline, |
| 252 test_observer_->default_network_connection_state()); | 266 test_observer_->default_network_connection_state()); |
| 253 } | 267 } |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 338 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( | 352 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( |
| 339 dbus::ObjectPath(eth1), | 353 dbus::ObjectPath(eth1), |
| 340 shill::kSecurityProperty, security_value, | 354 shill::kSecurityProperty, security_value, |
| 341 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); | 355 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); |
| 342 message_loop_.RunUntilIdle(); | 356 message_loop_.RunUntilIdle(); |
| 343 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(eth1)); | 357 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(eth1)); |
| 344 } | 358 } |
| 345 | 359 |
| 346 TEST_F(NetworkStateHandlerTest, FavoriteState) { | 360 TEST_F(NetworkStateHandlerTest, FavoriteState) { |
| 347 // Set the profile entry of a service | 361 // Set the profile entry of a service |
| 348 const std::string wifi1 = kShillManagerClientStubDefaultWireless; | 362 const std::string profile = "/profile/profile1"; |
| 349 ShillProfileClient::TestInterface* profile_test = | 363 const std::string wifi1 = kShillManagerClientStubDefaultWifi; |
| 350 DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface(); | 364 profile_test_->AddProfile(profile, "" /* userhash */); |
| 351 EXPECT_TRUE(profile_test->AddService("/profile/default", wifi1)); | 365 EXPECT_TRUE(profile_test_->AddService(profile, wifi1)); |
| 352 message_loop_.RunUntilIdle(); | 366 UpdateManagerProperties(); |
| 353 network_state_handler_->UpdateManagerProperties(); | |
| 354 message_loop_.RunUntilIdle(); | |
| 355 EXPECT_EQ(1u, test_observer_->favorite_count()); | 367 EXPECT_EQ(1u, test_observer_->favorite_count()); |
| 356 } | 368 } |
| 357 | 369 |
| 358 TEST_F(NetworkStateHandlerTest, NetworkConnectionStateChanged) { | 370 TEST_F(NetworkStateHandlerTest, NetworkConnectionStateChanged) { |
| 359 // Change a network state. | 371 // Change a network state. |
| 360 const std::string eth1 = kShillManagerClientStubDefaultService; | 372 const std::string eth1 = kShillManagerClientStubDefaultService; |
| 361 base::StringValue connection_state_idle_value(shill::kStateIdle); | 373 base::StringValue connection_state_idle_value(shill::kStateIdle); |
| 362 service_test_->SetServiceProperty(eth1, shill::kStateProperty, | 374 service_test_->SetServiceProperty(eth1, shill::kStateProperty, |
| 363 connection_state_idle_value); | 375 connection_state_idle_value); |
| 364 message_loop_.RunUntilIdle(); | 376 message_loop_.RunUntilIdle(); |
| 365 EXPECT_EQ(shill::kStateIdle, | 377 EXPECT_EQ(shill::kStateIdle, |
| 366 test_observer_->NetworkConnectionStateForService(eth1)); | 378 test_observer_->NetworkConnectionStateForService(eth1)); |
| 367 EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(eth1)); | 379 EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(eth1)); |
| 368 // Confirm that changing the connection state to the same value does *not* | 380 // Confirm that changing the connection state to the same value does *not* |
| 369 // signal the observer. | 381 // signal the observer. |
| 370 service_test_->SetServiceProperty(eth1, shill::kStateProperty, | 382 service_test_->SetServiceProperty(eth1, shill::kStateProperty, |
| 371 connection_state_idle_value); | 383 connection_state_idle_value); |
| 372 message_loop_.RunUntilIdle(); | 384 message_loop_.RunUntilIdle(); |
| 373 EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(eth1)); | 385 EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(eth1)); |
| 374 } | 386 } |
| 375 | 387 |
| 376 TEST_F(NetworkStateHandlerTest, DefaultServiceDisconnected) { | 388 TEST_F(NetworkStateHandlerTest, DefaultServiceDisconnected) { |
| 377 const std::string eth1 = kShillManagerClientStubDefaultService; | 389 const std::string eth1 = kShillManagerClientStubDefaultService; |
| 378 const std::string wifi1 = kShillManagerClientStubDefaultWireless; | 390 const std::string wifi1 = kShillManagerClientStubDefaultWifi; |
| 379 | 391 |
| 380 // Disconnect ethernet. | 392 // Disconnect ethernet. |
| 381 test_observer_->reset_network_change_count(); | 393 test_observer_->reset_network_change_count(); |
| 382 base::StringValue connection_state_idle_value(shill::kStateIdle); | 394 base::StringValue connection_state_idle_value(shill::kStateIdle); |
| 383 service_test_->SetServiceProperty(eth1, shill::kStateProperty, | 395 service_test_->SetServiceProperty(eth1, shill::kStateProperty, |
| 384 connection_state_idle_value); | 396 connection_state_idle_value); |
| 385 message_loop_.RunUntilIdle(); | 397 message_loop_.RunUntilIdle(); |
| 386 // Expect two changes: first when eth1 becomes disconnected, second when | 398 // Expect two changes: first when eth1 becomes disconnected, second when |
| 387 // wifi1 becomes the default. | 399 // wifi1 becomes the default. |
| 388 EXPECT_EQ(2u, test_observer_->default_network_change_count()); | 400 EXPECT_EQ(2u, test_observer_->default_network_change_count()); |
| 389 EXPECT_EQ(wifi1, test_observer_->default_network()); | 401 EXPECT_EQ(wifi1, test_observer_->default_network()); |
| 390 | 402 |
| 391 // Disconnect wifi. | 403 // Disconnect wifi. |
| 392 test_observer_->reset_network_change_count(); | 404 test_observer_->reset_network_change_count(); |
| 393 service_test_->SetServiceProperty(wifi1, shill::kStateProperty, | 405 service_test_->SetServiceProperty(wifi1, shill::kStateProperty, |
| 394 connection_state_idle_value); | 406 connection_state_idle_value); |
| 395 message_loop_.RunUntilIdle(); | 407 message_loop_.RunUntilIdle(); |
| 396 EXPECT_EQ(1u, test_observer_->default_network_change_count()); | 408 EXPECT_EQ(1u, test_observer_->default_network_change_count()); |
| 397 EXPECT_EQ("", test_observer_->default_network()); | 409 EXPECT_EQ("", test_observer_->default_network()); |
| 398 } | 410 } |
| 399 | 411 |
| 400 TEST_F(NetworkStateHandlerTest, DefaultServiceConnected) { | 412 TEST_F(NetworkStateHandlerTest, DefaultServiceConnected) { |
| 401 const std::string eth1 = kShillManagerClientStubDefaultService; | 413 const std::string eth1 = kShillManagerClientStubDefaultService; |
| 402 const std::string wifi1 = kShillManagerClientStubDefaultWireless; | 414 const std::string wifi1 = kShillManagerClientStubDefaultWifi; |
| 403 | 415 |
| 404 // Disconnect ethernet and wifi. | 416 // Disconnect ethernet and wifi. |
| 405 base::StringValue connection_state_idle_value(shill::kStateIdle); | 417 base::StringValue connection_state_idle_value(shill::kStateIdle); |
| 406 service_test_->SetServiceProperty(eth1, shill::kStateProperty, | 418 service_test_->SetServiceProperty(eth1, shill::kStateProperty, |
| 407 connection_state_idle_value); | 419 connection_state_idle_value); |
| 408 service_test_->SetServiceProperty(wifi1, shill::kStateProperty, | 420 service_test_->SetServiceProperty(wifi1, shill::kStateProperty, |
| 409 connection_state_idle_value); | 421 connection_state_idle_value); |
| 410 message_loop_.RunUntilIdle(); | 422 message_loop_.RunUntilIdle(); |
| 411 EXPECT_EQ(std::string(), test_observer_->default_network()); | 423 EXPECT_EQ(std::string(), test_observer_->default_network()); |
| 412 | 424 |
| 413 // Connect ethernet, should become the default network. | 425 // Connect ethernet, should become the default network. |
| 414 test_observer_->reset_network_change_count(); | 426 test_observer_->reset_network_change_count(); |
| 415 base::StringValue connection_state_ready_value(shill::kStateReady); | 427 base::StringValue connection_state_ready_value(shill::kStateReady); |
| 416 service_test_->SetServiceProperty(eth1, shill::kStateProperty, | 428 service_test_->SetServiceProperty(eth1, shill::kStateProperty, |
| 417 connection_state_ready_value); | 429 connection_state_ready_value); |
| 418 message_loop_.RunUntilIdle(); | 430 message_loop_.RunUntilIdle(); |
| 419 EXPECT_EQ(eth1, test_observer_->default_network()); | 431 EXPECT_EQ(eth1, test_observer_->default_network()); |
| 420 EXPECT_EQ(shill::kStateReady, | 432 EXPECT_EQ(shill::kStateReady, |
| 421 test_observer_->default_network_connection_state()); | 433 test_observer_->default_network_connection_state()); |
| 422 EXPECT_EQ(1u, test_observer_->default_network_change_count()); | 434 EXPECT_EQ(1u, test_observer_->default_network_change_count()); |
| 423 } | 435 } |
| 424 | 436 |
| 425 TEST_F(NetworkStateHandlerTest, DefaultServiceChanged) { | 437 TEST_F(NetworkStateHandlerTest, DefaultServiceChanged) { |
| 426 const std::string eth1 = kShillManagerClientStubDefaultService; | 438 const std::string eth1 = kShillManagerClientStubDefaultService; |
| 427 // The default service should be eth1. | 439 // The default service should be eth1. |
| 428 EXPECT_EQ(eth1, test_observer_->default_network()); | 440 EXPECT_EQ(eth1, test_observer_->default_network()); |
| 429 | 441 |
| 430 // Change the default network by changing Manager.DefaultService. | 442 // Change the default network by changing Manager.DefaultService. |
| 431 test_observer_->reset_network_change_count(); | 443 test_observer_->reset_network_change_count(); |
| 432 const std::string wifi1 = kShillManagerClientStubDefaultWireless; | 444 const std::string wifi1 = kShillManagerClientStubDefaultWifi; |
| 433 base::StringValue wifi1_value(wifi1); | 445 base::StringValue wifi1_value(wifi1); |
| 434 manager_test_->SetManagerProperty( | 446 manager_test_->SetManagerProperty( |
| 435 shill::kDefaultServiceProperty, wifi1_value); | 447 shill::kDefaultServiceProperty, wifi1_value); |
| 436 message_loop_.RunUntilIdle(); | 448 message_loop_.RunUntilIdle(); |
| 437 EXPECT_EQ(wifi1, test_observer_->default_network()); | 449 EXPECT_EQ(wifi1, test_observer_->default_network()); |
| 438 EXPECT_EQ(1u, test_observer_->default_network_change_count()); | 450 EXPECT_EQ(1u, test_observer_->default_network_change_count()); |
| 439 | 451 |
| 440 // Change the state of the default network. | 452 // Change the state of the default network. |
| 441 test_observer_->reset_network_change_count(); | 453 test_observer_->reset_network_change_count(); |
| 442 base::StringValue connection_state_ready_value(shill::kStateReady); | 454 base::StringValue connection_state_ready_value(shill::kStateReady); |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 461 test_observer_->reset_network_change_count(); | 473 test_observer_->reset_network_change_count(); |
| 462 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( | 474 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( |
| 463 dbus::ObjectPath(wifi1), | 475 dbus::ObjectPath(wifi1), |
| 464 shill::kSignalStrengthProperty, base::FundamentalValue(32), | 476 shill::kSignalStrengthProperty, base::FundamentalValue(32), |
| 465 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); | 477 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); |
| 466 message_loop_.RunUntilIdle(); | 478 message_loop_.RunUntilIdle(); |
| 467 EXPECT_EQ(0u, test_observer_->default_network_change_count()); | 479 EXPECT_EQ(0u, test_observer_->default_network_change_count()); |
| 468 } | 480 } |
| 469 | 481 |
| 470 TEST_F(NetworkStateHandlerTest, RequestUpdate) { | 482 TEST_F(NetworkStateHandlerTest, RequestUpdate) { |
| 471 // Request an update for kShillManagerClientStubDefaultWireless. | 483 // Request an update for kShillManagerClientStubDefaultWifi. |
| 472 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService( | 484 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService( |
| 473 kShillManagerClientStubDefaultWireless)); | 485 kShillManagerClientStubDefaultWifi)); |
| 474 network_state_handler_->RequestUpdateForNetwork( | 486 network_state_handler_->RequestUpdateForNetwork( |
| 475 kShillManagerClientStubDefaultWireless); | 487 kShillManagerClientStubDefaultWifi); |
| 476 message_loop_.RunUntilIdle(); | 488 message_loop_.RunUntilIdle(); |
| 477 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService( | 489 EXPECT_EQ(2, test_observer_->PropertyUpdatesForService( |
| 478 kShillManagerClientStubDefaultWireless)); | 490 kShillManagerClientStubDefaultWifi)); |
| 479 } | 491 } |
| 480 | |
| 481 } // namespace chromeos | 492 } // namespace chromeos |
| OLD | NEW |