| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 const char kShillManagerClientStubWifi2[] = "/service/wifi2"; | 47 const char kShillManagerClientStubWifi2[] = "/service/wifi2"; |
| 48 const char kShillManagerClientStubCellular[] = "/service/cellular1"; | 48 const char kShillManagerClientStubCellular[] = "/service/cellular1"; |
| 49 | 49 |
| 50 const char kWifiGuid1[] = "wifi1"; | 50 const char kWifiGuid1[] = "wifi1"; |
| 51 const char kWifiName1[] = "WiFi 1"; | 51 const char kWifiName1[] = "WiFi 1"; |
| 52 | 52 |
| 53 const char kTetherGuid1[] = "tether1"; | 53 const char kTetherGuid1[] = "tether1"; |
| 54 const char kTetherGuid2[] = "tether2"; | 54 const char kTetherGuid2[] = "tether2"; |
| 55 const char kTetherName1[] = "Device1"; | 55 const char kTetherName1[] = "Device1"; |
| 56 const char kTetherName2[] = "Device2"; | 56 const char kTetherName2[] = "Device2"; |
| 57 const char kTetherCarrier1[] = "Carrier1"; |
| 58 const char kTetherCarrier2[] = "Carrier2"; |
| 59 const int kTetherBatteryPercentage1 = 85; |
| 60 const int kTetherBatteryPercentage2 = 90; |
| 61 const int kTetherSignalStrength1 = 75; |
| 62 const int kTetherSignalStrength2 = 80; |
| 57 | 63 |
| 58 using chromeos::DeviceState; | 64 using chromeos::DeviceState; |
| 59 using chromeos::NetworkState; | 65 using chromeos::NetworkState; |
| 60 using chromeos::NetworkStateHandler; | 66 using chromeos::NetworkStateHandler; |
| 61 | 67 |
| 62 class TestObserver : public chromeos::NetworkStateHandlerObserver { | 68 class TestObserver : public chromeos::NetworkStateHandlerObserver { |
| 63 public: | 69 public: |
| 64 explicit TestObserver(NetworkStateHandler* handler) | 70 explicit TestObserver(NetworkStateHandler* handler) |
| 65 : handler_(handler), | 71 : handler_(handler), |
| 66 device_list_changed_count_(0), | 72 device_list_changed_count_(0), |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 void UpdateManagerProperties() { base::RunLoop().RunUntilIdle(); } | 274 void UpdateManagerProperties() { base::RunLoop().RunUntilIdle(); } |
| 269 | 275 |
| 270 void SetServiceProperty(const std::string& service_path, | 276 void SetServiceProperty(const std::string& service_path, |
| 271 const std::string& key, | 277 const std::string& key, |
| 272 const base::Value& value) { | 278 const base::Value& value) { |
| 273 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( | 279 DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( |
| 274 dbus::ObjectPath(service_path), key, value, | 280 dbus::ObjectPath(service_path), key, value, |
| 275 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); | 281 base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); |
| 276 } | 282 } |
| 277 | 283 |
| 284 void GetTetherNetworkList(int limit, |
| 285 NetworkStateHandler::NetworkStateList* list) { |
| 286 network_state_handler_->GetTetherNetworkList(limit, list); |
| 287 } |
| 288 |
| 278 base::MessageLoopForUI message_loop_; | 289 base::MessageLoopForUI message_loop_; |
| 279 std::unique_ptr<NetworkStateHandler> network_state_handler_; | 290 std::unique_ptr<NetworkStateHandler> network_state_handler_; |
| 280 std::unique_ptr<TestObserver> test_observer_; | 291 std::unique_ptr<TestObserver> test_observer_; |
| 281 ShillDeviceClient::TestInterface* device_test_; | 292 ShillDeviceClient::TestInterface* device_test_; |
| 282 ShillManagerClient::TestInterface* manager_test_; | 293 ShillManagerClient::TestInterface* manager_test_; |
| 283 ShillProfileClient::TestInterface* profile_test_; | 294 ShillProfileClient::TestInterface* profile_test_; |
| 284 ShillServiceClient::TestInterface* service_test_; | 295 ShillServiceClient::TestInterface* service_test_; |
| 285 | 296 |
| 286 private: | 297 private: |
| 287 DISALLOW_COPY_AND_ASSIGN(NetworkStateHandlerTest); | 298 DISALLOW_COPY_AND_ASSIGN(NetworkStateHandlerTest); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 shill::kTypeWifi, | 343 shill::kTypeWifi, |
| 333 shill::kStateIdle, | 344 shill::kStateIdle, |
| 334 false /* add_to_visible */); | 345 false /* add_to_visible */); |
| 335 profile_test_->AddProfile(profile, "" /* userhash */); | 346 profile_test_->AddProfile(profile, "" /* userhash */); |
| 336 EXPECT_TRUE(profile_test_->AddService(profile, wifi_favorite_path)); | 347 EXPECT_TRUE(profile_test_->AddService(profile, wifi_favorite_path)); |
| 337 UpdateManagerProperties(); | 348 UpdateManagerProperties(); |
| 338 base::RunLoop().RunUntilIdle(); | 349 base::RunLoop().RunUntilIdle(); |
| 339 EXPECT_EQ(kNumShillManagerClientStubImplServices + 1, | 350 EXPECT_EQ(kNumShillManagerClientStubImplServices + 1, |
| 340 test_observer_->network_count()); | 351 test_observer_->network_count()); |
| 341 | 352 |
| 353 // Add two Tether networks. |
| 354 const size_t kNumTetherNetworks = 2; |
| 355 network_state_handler_->AddTetherNetworkState( |
| 356 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 357 kTetherSignalStrength1); |
| 358 network_state_handler_->AddTetherNetworkState( |
| 359 kTetherGuid2, kTetherName2, kTetherCarrier2, kTetherBatteryPercentage2, |
| 360 kTetherSignalStrength2); |
| 361 EXPECT_EQ(kNumShillManagerClientStubImplServices + 3, |
| 362 test_observer_->network_count()); |
| 363 |
| 342 // Get all networks. | 364 // Get all networks. |
| 343 NetworkStateHandler::NetworkStateList networks; | 365 NetworkStateHandler::NetworkStateList networks; |
| 344 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), | 366 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), |
| 345 false /* configured_only */, | 367 false /* configured_only */, |
| 346 false /* visible_only */, | 368 false /* visible_only */, |
| 347 0 /* no limit */, | 369 0 /* no limit */, |
| 348 &networks); | 370 &networks); |
| 349 EXPECT_EQ(kNumShillManagerClientStubImplServices + 1, networks.size()); | 371 EXPECT_EQ(kNumShillManagerClientStubImplServices + kNumTetherNetworks + 1, |
| 350 // Limit number of results. | 372 networks.size()); |
| 373 // Limit number of results, including only tether networks. |
| 351 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), | 374 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), |
| 352 false /* configured_only */, | 375 false /* configured_only */, |
| 353 false /* visible_only */, | 376 false /* visible_only */, |
| 354 2 /* limit */, | 377 2 /* limit */, |
| 355 &networks); | 378 &networks); |
| 356 EXPECT_EQ(2u, networks.size()); | 379 EXPECT_EQ(2u, networks.size()); |
| 380 // Limit number of results, including more than only tether networks. |
| 381 network_state_handler_->GetNetworkListByType( |
| 382 NetworkTypePattern::Default(), false /* configured_only */, |
| 383 false /* visible_only */, 4 /* limit */, &networks); |
| 384 EXPECT_EQ(4u, networks.size()); |
| 385 // Get all tether networks. |
| 386 network_state_handler_->GetNetworkListByType( |
| 387 NetworkTypePattern::Tether(), false /* configured_only */, |
| 388 false /* visible_only */, 0 /* no limit */, &networks); |
| 389 EXPECT_EQ(2u, networks.size()); |
| 357 // Get all wifi networks. | 390 // Get all wifi networks. |
| 358 network_state_handler_->GetNetworkListByType(NetworkTypePattern::WiFi(), | 391 network_state_handler_->GetNetworkListByType(NetworkTypePattern::WiFi(), |
| 359 false /* configured_only */, | 392 false /* configured_only */, |
| 360 false /* visible_only */, | 393 false /* visible_only */, |
| 361 0 /* no limit */, | 394 0 /* no limit */, |
| 362 &networks); | 395 &networks); |
| 363 EXPECT_EQ(3u, networks.size()); | 396 EXPECT_EQ(3u, networks.size()); |
| 364 // Get visible networks. | 397 // Get visible networks. |
| 365 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), | 398 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), |
| 366 false /* configured_only */, | 399 false /* configured_only */, |
| 367 true /* visible_only */, | 400 true /* visible_only */, |
| 368 0 /* no limit */, | 401 0 /* no limit */, |
| 369 &networks); | 402 &networks); |
| 370 EXPECT_EQ(kNumShillManagerClientStubImplServices, networks.size()); | 403 EXPECT_EQ(kNumShillManagerClientStubImplServices + kNumTetherNetworks, |
| 404 networks.size()); |
| 371 network_state_handler_->GetVisibleNetworkList(&networks); | 405 network_state_handler_->GetVisibleNetworkList(&networks); |
| 372 EXPECT_EQ(kNumShillManagerClientStubImplServices, networks.size()); | 406 EXPECT_EQ(kNumShillManagerClientStubImplServices + kNumTetherNetworks, |
| 407 networks.size()); |
| 373 // Get configured (profile) networks. | 408 // Get configured (profile) networks. |
| 374 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), | 409 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), |
| 375 true /* configured_only */, | 410 true /* configured_only */, |
| 376 false /* visible_only */, | 411 false /* visible_only */, |
| 377 0 /* no limit */, | 412 0 /* no limit */, |
| 378 &networks); | 413 &networks); |
| 379 EXPECT_EQ(1u, networks.size()); | 414 EXPECT_EQ(kNumTetherNetworks + 1u, networks.size()); |
| 380 } | 415 } |
| 381 | 416 |
| 382 TEST_F(NetworkStateHandlerTest, GetTetherNetworkList) { | 417 TEST_F(NetworkStateHandlerTest, GetTetherNetworkList) { |
| 383 NetworkStateHandler::NetworkStateList tether_networks; | 418 NetworkStateHandler::NetworkStateList tether_networks; |
| 384 | 419 |
| 385 network_state_handler_->GetTetherNetworkList(0 /* no limit */, | 420 GetTetherNetworkList(0 /* no limit */, &tether_networks); |
| 386 &tether_networks); | |
| 387 EXPECT_EQ(0u, tether_networks.size()); | 421 EXPECT_EQ(0u, tether_networks.size()); |
| 388 | 422 |
| 389 network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); | 423 network_state_handler_->AddTetherNetworkState( |
| 424 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 425 kTetherSignalStrength1); |
| 390 | 426 |
| 391 network_state_handler_->GetTetherNetworkList(0 /* no limit */, | 427 GetTetherNetworkList(0 /* no limit */, &tether_networks); |
| 392 &tether_networks); | |
| 393 EXPECT_EQ(1u, tether_networks.size()); | 428 EXPECT_EQ(1u, tether_networks.size()); |
| 429 EXPECT_TRUE(tether_networks[0]->connectable()); |
| 394 | 430 |
| 395 network_state_handler_->AddTetherNetworkState(kTetherGuid2, kTetherName2); | 431 network_state_handler_->AddTetherNetworkState( |
| 432 kTetherGuid2, kTetherName2, kTetherCarrier2, kTetherBatteryPercentage2, |
| 433 kTetherSignalStrength2); |
| 396 | 434 |
| 397 network_state_handler_->GetTetherNetworkList(0 /* no limit */, | 435 GetTetherNetworkList(0 /* no limit */, &tether_networks); |
| 398 &tether_networks); | |
| 399 EXPECT_EQ(2u, tether_networks.size()); | 436 EXPECT_EQ(2u, tether_networks.size()); |
| 437 EXPECT_TRUE(tether_networks[1]->connectable()); |
| 400 | 438 |
| 401 network_state_handler_->GetTetherNetworkList(1 /* no limit */, | 439 GetTetherNetworkList(1 /* no limit */, &tether_networks); |
| 402 &tether_networks); | |
| 403 EXPECT_EQ(1u, tether_networks.size()); | 440 EXPECT_EQ(1u, tether_networks.size()); |
| 404 } | 441 } |
| 405 | 442 |
| 406 TEST_F(NetworkStateHandlerTest, NetworkListChanged) { | 443 TEST_F(NetworkStateHandlerTest, NetworkListChanged) { |
| 407 size_t stub_network_count = test_observer_->network_count(); | 444 size_t stub_network_count = test_observer_->network_count(); |
| 408 // Set up two additional visible networks. | 445 // Set up two additional visible networks. |
| 409 const std::string wifi3 = "/service/wifi3"; | 446 const std::string wifi3 = "/service/wifi3"; |
| 410 const std::string wifi4 = "/service/wifi4"; | 447 const std::string wifi4 = "/service/wifi4"; |
| 411 service_test_->SetServiceProperties( | 448 service_test_->SetServiceProperties( |
| 412 wifi3, "wifi3_guid", "wifi3", | 449 wifi3, "wifi3_guid", "wifi3", |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 585 | 622 |
| 586 // Remove the service, verify that there is no longer a NetworkState for it. | 623 // Remove the service, verify that there is no longer a NetworkState for it. |
| 587 service_test_->RemoveService(wifi_path); | 624 service_test_->RemoveService(wifi_path); |
| 588 UpdateManagerProperties(); | 625 UpdateManagerProperties(); |
| 589 EXPECT_FALSE(network_state_handler_->GetNetworkState(wifi_path)); | 626 EXPECT_FALSE(network_state_handler_->GetNetworkState(wifi_path)); |
| 590 } | 627 } |
| 591 | 628 |
| 592 TEST_F(NetworkStateHandlerTest, TetherNetworkState) { | 629 TEST_F(NetworkStateHandlerTest, TetherNetworkState) { |
| 593 EXPECT_EQ(0u, test_observer_->network_list_changed_count()); | 630 EXPECT_EQ(0u, test_observer_->network_list_changed_count()); |
| 594 | 631 |
| 595 network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); | 632 network_state_handler_->AddTetherNetworkState( |
| 633 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 634 kTetherSignalStrength1); |
| 596 | 635 |
| 597 EXPECT_EQ(1u, test_observer_->network_list_changed_count()); | 636 EXPECT_EQ(1u, test_observer_->network_list_changed_count()); |
| 598 | 637 |
| 599 const NetworkState* tether_network = | 638 const NetworkState* tether_network = |
| 600 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); | 639 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); |
| 601 ASSERT_TRUE(tether_network); | 640 ASSERT_TRUE(tether_network); |
| 602 EXPECT_EQ(kTetherName1, tether_network->name()); | 641 EXPECT_EQ(kTetherName1, tether_network->name()); |
| 603 EXPECT_EQ(kTetherGuid1, tether_network->path()); | 642 EXPECT_EQ(kTetherGuid1, tether_network->path()); |
| 643 EXPECT_EQ(kTetherCarrier1, tether_network->carrier()); |
| 644 EXPECT_EQ(kTetherBatteryPercentage1, tether_network->battery_percentage()); |
| 645 EXPECT_EQ(kTetherSignalStrength1, tether_network->signal_strength()); |
| 646 |
| 647 // Update the tether properties and verify the changes. |
| 648 EXPECT_TRUE(network_state_handler_->UpdateTetherNetworkProperties( |
| 649 kTetherGuid1, "NewCarrier", 5 /* battery_percentage */, |
| 650 10 /* signal_strength */)); |
| 651 |
| 652 EXPECT_EQ(2u, test_observer_->network_list_changed_count()); |
| 653 |
| 654 tether_network = |
| 655 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); |
| 656 ASSERT_TRUE(tether_network); |
| 657 EXPECT_EQ(kTetherName1, tether_network->name()); |
| 658 EXPECT_EQ(kTetherGuid1, tether_network->path()); |
| 659 EXPECT_EQ("NewCarrier", tether_network->carrier()); |
| 660 EXPECT_EQ(5, tether_network->battery_percentage()); |
| 661 EXPECT_EQ(10, tether_network->signal_strength()); |
| 604 | 662 |
| 605 network_state_handler_->RemoveTetherNetworkState(kTetherGuid1); | 663 network_state_handler_->RemoveTetherNetworkState(kTetherGuid1); |
| 606 | 664 |
| 607 EXPECT_EQ(2u, test_observer_->network_list_changed_count()); | 665 EXPECT_EQ(3u, test_observer_->network_list_changed_count()); |
| 608 | 666 |
| 609 ASSERT_FALSE(network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1)); | 667 ASSERT_FALSE(network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1)); |
| 668 |
| 669 // Updating tether properties should fail since the network was removed. |
| 670 EXPECT_FALSE(network_state_handler_->UpdateTetherNetworkProperties( |
| 671 kTetherGuid1, "NewNewCarrier", 15 /* battery_percentage */, |
| 672 20 /* signal_strength */)); |
| 610 } | 673 } |
| 611 | 674 |
| 612 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation) { | 675 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation) { |
| 613 EXPECT_EQ(0u, test_observer_->network_list_changed_count()); | 676 EXPECT_EQ(0u, test_observer_->network_list_changed_count()); |
| 614 | 677 |
| 615 const std::string profile = "/profile/profile1"; | 678 const std::string profile = "/profile/profile1"; |
| 616 const std::string wifi_path = "/service/wifi_with_guid"; | 679 const std::string wifi_path = "/service/wifi_with_guid"; |
| 617 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, | 680 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, |
| 618 shill::kStateOnline); | 681 shill::kStateOnline); |
| 619 profile_test_->AddProfile(profile, "" /* userhash */); | 682 profile_test_->AddProfile(profile, "" /* userhash */); |
| 620 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); | 683 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); |
| 621 UpdateManagerProperties(); | 684 UpdateManagerProperties(); |
| 622 | 685 |
| 623 EXPECT_EQ(1u, test_observer_->network_list_changed_count()); | 686 EXPECT_EQ(1u, test_observer_->network_list_changed_count()); |
| 624 | 687 |
| 625 network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); | 688 network_state_handler_->AddTetherNetworkState( |
| 689 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 690 kTetherSignalStrength1); |
| 626 | 691 |
| 627 EXPECT_EQ(2u, test_observer_->network_list_changed_count()); | 692 EXPECT_EQ(2u, test_observer_->network_list_changed_count()); |
| 628 | 693 |
| 629 EXPECT_TRUE( | 694 EXPECT_TRUE( |
| 630 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( | 695 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| 631 kTetherGuid1, kWifiGuid1)); | 696 kTetherGuid1, kWifiGuid1)); |
| 632 | 697 |
| 633 EXPECT_EQ(3u, test_observer_->network_list_changed_count()); | 698 EXPECT_EQ(3u, test_observer_->network_list_changed_count()); |
| 634 | 699 |
| 635 const NetworkState* wifi_network = | 700 const NetworkState* wifi_network = |
| (...skipping 14 matching lines...) Expand all Loading... |
| 650 | 715 |
| 651 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociationWifiRemoved) { | 716 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociationWifiRemoved) { |
| 652 const std::string profile = "/profile/profile1"; | 717 const std::string profile = "/profile/profile1"; |
| 653 const std::string wifi_path = "/service/wifi_with_guid"; | 718 const std::string wifi_path = "/service/wifi_with_guid"; |
| 654 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, | 719 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, |
| 655 shill::kStateOnline); | 720 shill::kStateOnline); |
| 656 profile_test_->AddProfile(profile, "" /* userhash */); | 721 profile_test_->AddProfile(profile, "" /* userhash */); |
| 657 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); | 722 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); |
| 658 UpdateManagerProperties(); | 723 UpdateManagerProperties(); |
| 659 | 724 |
| 660 network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); | 725 network_state_handler_->AddTetherNetworkState( |
| 726 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 727 kTetherSignalStrength1); |
| 661 EXPECT_TRUE( | 728 EXPECT_TRUE( |
| 662 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( | 729 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| 663 kTetherGuid1, kWifiGuid1)); | 730 kTetherGuid1, kWifiGuid1)); |
| 664 | 731 |
| 665 const NetworkState* wifi_network = | 732 const NetworkState* wifi_network = |
| 666 network_state_handler_->GetNetworkStateFromGuid(kWifiGuid1); | 733 network_state_handler_->GetNetworkStateFromGuid(kWifiGuid1); |
| 667 EXPECT_EQ(kTetherGuid1, wifi_network->tether_guid()); | 734 EXPECT_EQ(kTetherGuid1, wifi_network->tether_guid()); |
| 668 | 735 |
| 669 const NetworkState* tether_network = | 736 const NetworkState* tether_network = |
| 670 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); | 737 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); |
| 671 EXPECT_EQ(kWifiGuid1, tether_network->tether_guid()); | 738 EXPECT_EQ(kWifiGuid1, tether_network->tether_guid()); |
| 672 | 739 |
| 673 service_test_->RemoveService(wifi_path); | 740 service_test_->RemoveService(wifi_path); |
| 674 UpdateManagerProperties(); | 741 UpdateManagerProperties(); |
| 675 | 742 |
| 676 tether_network = | 743 tether_network = |
| 677 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); | 744 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); |
| 678 ASSERT_TRUE(tether_network->tether_guid().empty()); | 745 ASSERT_TRUE(tether_network->tether_guid().empty()); |
| 679 } | 746 } |
| 680 | 747 |
| 681 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation_NoWifiNetwork) { | 748 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation_NoWifiNetwork) { |
| 682 network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); | 749 network_state_handler_->AddTetherNetworkState( |
| 750 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 751 kTetherSignalStrength1); |
| 683 | 752 |
| 684 EXPECT_FALSE( | 753 EXPECT_FALSE( |
| 685 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( | 754 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| 686 kTetherGuid1, kWifiGuid1)); | 755 kTetherGuid1, kWifiGuid1)); |
| 687 } | 756 } |
| 688 | 757 |
| 689 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation_NoTetherNetwork) { | 758 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation_NoTetherNetwork) { |
| 690 const std::string profile = "/profile/profile1"; | 759 const std::string profile = "/profile/profile1"; |
| 691 const std::string wifi_path = "/service/wifi_with_guid"; | 760 const std::string wifi_path = "/service/wifi_with_guid"; |
| 692 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, | 761 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, |
| 693 shill::kStateOnline); | 762 shill::kStateOnline); |
| 694 profile_test_->AddProfile(profile, "" /* userhash */); | 763 profile_test_->AddProfile(profile, "" /* userhash */); |
| 695 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); | 764 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); |
| 696 UpdateManagerProperties(); | 765 UpdateManagerProperties(); |
| 697 | 766 |
| 698 ASSERT_FALSE( | 767 ASSERT_FALSE( |
| 699 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( | 768 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| 700 kTetherGuid1, kWifiGuid1)); | 769 kTetherGuid1, kWifiGuid1)); |
| 701 } | 770 } |
| 702 | 771 |
| 703 TEST_F(NetworkStateHandlerTest, SetTetherNetworkStateConnectionState) { | 772 TEST_F(NetworkStateHandlerTest, SetTetherNetworkStateConnectionState) { |
| 704 network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); | 773 network_state_handler_->AddTetherNetworkState( |
| 774 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 775 kTetherSignalStrength1); |
| 776 |
| 777 // Add corresponding Wi-Fi network. |
| 778 const std::string profile = "/profile/profile1"; |
| 779 const std::string wifi_path = "/service/wifi_with_guid"; |
| 780 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, |
| 781 shill::kStateOnline); |
| 782 profile_test_->AddProfile(profile, "" /* userhash */); |
| 783 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); |
| 784 UpdateManagerProperties(); |
| 785 |
| 786 // Associate tether and Wi-Fi networks. |
| 787 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| 788 kTetherGuid1, kWifiGuid1); |
| 705 | 789 |
| 706 const NetworkState* tether_network = | 790 const NetworkState* tether_network = |
| 707 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); | 791 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); |
| 708 | 792 |
| 709 EXPECT_FALSE(tether_network->IsConnectingState()); | 793 EXPECT_FALSE(tether_network->IsConnectingState()); |
| 710 EXPECT_FALSE(tether_network->IsConnectedState()); | 794 EXPECT_FALSE(tether_network->IsConnectedState()); |
| 711 | 795 |
| 712 network_state_handler_->SetTetherNetworkStateConnecting(kTetherGuid1); | 796 network_state_handler_->SetTetherNetworkStateConnecting(kTetherGuid1); |
| 713 EXPECT_TRUE(tether_network->IsConnectingState()); | 797 EXPECT_TRUE(tether_network->IsConnectingState()); |
| 714 | 798 |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 973 shill::kIPConfigProperty, | 1057 shill::kIPConfigProperty, |
| 974 base::Value(kIPConfigPath)); | 1058 base::Value(kIPConfigPath)); |
| 975 UpdateManagerProperties(); | 1059 UpdateManagerProperties(); |
| 976 EXPECT_EQ(1, test_observer_->PropertyUpdatesForDevice( | 1060 EXPECT_EQ(1, test_observer_->PropertyUpdatesForDevice( |
| 977 kShillManagerClientStubWifiDevice)); | 1061 kShillManagerClientStubWifiDevice)); |
| 978 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService( | 1062 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService( |
| 979 kShillManagerClientStubDefaultWifi)); | 1063 kShillManagerClientStubDefaultWifi)); |
| 980 } | 1064 } |
| 981 | 1065 |
| 982 } // namespace chromeos | 1066 } // namespace chromeos |
| OLD | NEW |