| 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 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 shill::kTypeWifi, | 338 shill::kTypeWifi, |
| 333 shill::kStateIdle, | 339 shill::kStateIdle, |
| 334 false /* add_to_visible */); | 340 false /* add_to_visible */); |
| 335 profile_test_->AddProfile(profile, "" /* userhash */); | 341 profile_test_->AddProfile(profile, "" /* userhash */); |
| 336 EXPECT_TRUE(profile_test_->AddService(profile, wifi_favorite_path)); | 342 EXPECT_TRUE(profile_test_->AddService(profile, wifi_favorite_path)); |
| 337 UpdateManagerProperties(); | 343 UpdateManagerProperties(); |
| 338 base::RunLoop().RunUntilIdle(); | 344 base::RunLoop().RunUntilIdle(); |
| 339 EXPECT_EQ(kNumShillManagerClientStubImplServices + 1, | 345 EXPECT_EQ(kNumShillManagerClientStubImplServices + 1, |
| 340 test_observer_->network_count()); | 346 test_observer_->network_count()); |
| 341 | 347 |
| 348 // Add two tether networks. |
| 349 network_state_handler_->AddTetherNetworkState( |
| 350 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 351 kTetherSignalStrength1); |
| 352 network_state_handler_->AddTetherNetworkState( |
| 353 kTetherGuid2, kTetherName2, kTetherCarrier2, kTetherBatteryPercentage2, |
| 354 kTetherSignalStrength2); |
| 355 EXPECT_EQ(kNumShillManagerClientStubImplServices + 3, |
| 356 test_observer_->network_count()); |
| 357 |
| 342 // Get all networks. | 358 // Get all networks. |
| 343 NetworkStateHandler::NetworkStateList networks; | 359 NetworkStateHandler::NetworkStateList networks; |
| 344 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), | 360 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), |
| 345 false /* configured_only */, | 361 false /* configured_only */, |
| 346 false /* visible_only */, | 362 false /* visible_only */, |
| 347 0 /* no limit */, | 363 0 /* no limit */, |
| 348 &networks); | 364 &networks); |
| 349 EXPECT_EQ(kNumShillManagerClientStubImplServices + 1, networks.size()); | 365 EXPECT_EQ(kNumShillManagerClientStubImplServices + 3, networks.size()); |
| 350 // Limit number of results. | 366 // Limit number of results, including only tether networks. |
| 351 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), | 367 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), |
| 352 false /* configured_only */, | 368 false /* configured_only */, |
| 353 false /* visible_only */, | 369 false /* visible_only */, |
| 354 2 /* limit */, | 370 2 /* limit */, |
| 355 &networks); | 371 &networks); |
| 356 EXPECT_EQ(2u, networks.size()); | 372 EXPECT_EQ(2u, networks.size()); |
| 373 // Limit number of results, including more than only tether networks. |
| 374 network_state_handler_->GetNetworkListByType( |
| 375 NetworkTypePattern::Default(), false /* configured_only */, |
| 376 false /* visible_only */, 4 /* limit */, &networks); |
| 377 EXPECT_EQ(4u, networks.size()); |
| 378 // Get all tether networks. |
| 379 network_state_handler_->GetNetworkListByType( |
| 380 NetworkTypePattern::Tether(), false /* configured_only */, |
| 381 false /* visible_only */, 0 /* no limit */, &networks); |
| 382 EXPECT_EQ(2u, networks.size()); |
| 357 // Get all wifi networks. | 383 // Get all wifi networks. |
| 358 network_state_handler_->GetNetworkListByType(NetworkTypePattern::WiFi(), | 384 network_state_handler_->GetNetworkListByType(NetworkTypePattern::WiFi(), |
| 359 false /* configured_only */, | 385 false /* configured_only */, |
| 360 false /* visible_only */, | 386 false /* visible_only */, |
| 361 0 /* no limit */, | 387 0 /* no limit */, |
| 362 &networks); | 388 &networks); |
| 363 EXPECT_EQ(3u, networks.size()); | 389 EXPECT_EQ(3u, networks.size()); |
| 364 // Get visible networks. | 390 // Get visible networks. |
| 365 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), | 391 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), |
| 366 false /* configured_only */, | 392 false /* configured_only */, |
| 367 true /* visible_only */, | 393 true /* visible_only */, |
| 368 0 /* no limit */, | 394 0 /* no limit */, |
| 369 &networks); | 395 &networks); |
| 370 EXPECT_EQ(kNumShillManagerClientStubImplServices, networks.size()); | 396 EXPECT_EQ(kNumShillManagerClientStubImplServices + 2, networks.size()); |
| 371 network_state_handler_->GetVisibleNetworkList(&networks); | 397 network_state_handler_->GetVisibleNetworkList(&networks); |
| 372 EXPECT_EQ(kNumShillManagerClientStubImplServices, networks.size()); | 398 EXPECT_EQ(kNumShillManagerClientStubImplServices + 2, networks.size()); |
| 373 // Get configured (profile) networks. | 399 // Get configured (profile) networks. |
| 374 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), | 400 network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), |
| 375 true /* configured_only */, | 401 true /* configured_only */, |
| 376 false /* visible_only */, | 402 false /* visible_only */, |
| 377 0 /* no limit */, | 403 0 /* no limit */, |
| 378 &networks); | 404 &networks); |
| 379 EXPECT_EQ(1u, networks.size()); | 405 EXPECT_EQ(3u, networks.size()); |
| 380 } | 406 } |
| 381 | 407 |
| 382 TEST_F(NetworkStateHandlerTest, GetTetherNetworkList) { | 408 TEST_F(NetworkStateHandlerTest, GetTetherNetworkList) { |
| 383 NetworkStateHandler::NetworkStateList tether_networks; | 409 NetworkStateHandler::NetworkStateList tether_networks; |
| 384 | 410 |
| 385 network_state_handler_->GetTetherNetworkList(0 /* no limit */, | 411 network_state_handler_->GetTetherNetworkList(0 /* no limit */, |
| 386 &tether_networks); | 412 &tether_networks); |
| 387 EXPECT_EQ(0u, tether_networks.size()); | 413 EXPECT_EQ(0u, tether_networks.size()); |
| 388 | 414 |
| 389 network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); | 415 network_state_handler_->AddTetherNetworkState( |
| 416 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 417 kTetherSignalStrength1); |
| 390 | 418 |
| 391 network_state_handler_->GetTetherNetworkList(0 /* no limit */, | 419 network_state_handler_->GetTetherNetworkList(0 /* no limit */, |
| 392 &tether_networks); | 420 &tether_networks); |
| 393 EXPECT_EQ(1u, tether_networks.size()); | 421 EXPECT_EQ(1u, tether_networks.size()); |
| 422 EXPECT_TRUE(tether_networks[0]->connectable()); |
| 394 | 423 |
| 395 network_state_handler_->AddTetherNetworkState(kTetherGuid2, kTetherName2); | 424 network_state_handler_->AddTetherNetworkState( |
| 425 kTetherGuid2, kTetherName2, kTetherCarrier2, kTetherBatteryPercentage2, |
| 426 kTetherSignalStrength2); |
| 396 | 427 |
| 397 network_state_handler_->GetTetherNetworkList(0 /* no limit */, | 428 network_state_handler_->GetTetherNetworkList(0 /* no limit */, |
| 398 &tether_networks); | 429 &tether_networks); |
| 399 EXPECT_EQ(2u, tether_networks.size()); | 430 EXPECT_EQ(2u, tether_networks.size()); |
| 431 EXPECT_TRUE(tether_networks[1]->connectable()); |
| 400 | 432 |
| 401 network_state_handler_->GetTetherNetworkList(1 /* no limit */, | 433 network_state_handler_->GetTetherNetworkList(1 /* no limit */, |
| 402 &tether_networks); | 434 &tether_networks); |
| 403 EXPECT_EQ(1u, tether_networks.size()); | 435 EXPECT_EQ(1u, tether_networks.size()); |
| 404 } | 436 } |
| 405 | 437 |
| 406 TEST_F(NetworkStateHandlerTest, NetworkListChanged) { | 438 TEST_F(NetworkStateHandlerTest, NetworkListChanged) { |
| 407 size_t stub_network_count = test_observer_->network_count(); | 439 size_t stub_network_count = test_observer_->network_count(); |
| 408 // Set up two additional visible networks. | 440 // Set up two additional visible networks. |
| 409 const std::string wifi3 = "/service/wifi3"; | 441 const std::string wifi3 = "/service/wifi3"; |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 585 | 617 |
| 586 // Remove the service, verify that there is no longer a NetworkState for it. | 618 // Remove the service, verify that there is no longer a NetworkState for it. |
| 587 service_test_->RemoveService(wifi_path); | 619 service_test_->RemoveService(wifi_path); |
| 588 UpdateManagerProperties(); | 620 UpdateManagerProperties(); |
| 589 EXPECT_FALSE(network_state_handler_->GetNetworkState(wifi_path)); | 621 EXPECT_FALSE(network_state_handler_->GetNetworkState(wifi_path)); |
| 590 } | 622 } |
| 591 | 623 |
| 592 TEST_F(NetworkStateHandlerTest, TetherNetworkState) { | 624 TEST_F(NetworkStateHandlerTest, TetherNetworkState) { |
| 593 EXPECT_EQ(0u, test_observer_->network_list_changed_count()); | 625 EXPECT_EQ(0u, test_observer_->network_list_changed_count()); |
| 594 | 626 |
| 595 network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); | 627 network_state_handler_->AddTetherNetworkState( |
| 628 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 629 kTetherSignalStrength1); |
| 596 | 630 |
| 597 EXPECT_EQ(1u, test_observer_->network_list_changed_count()); | 631 EXPECT_EQ(1u, test_observer_->network_list_changed_count()); |
| 598 | 632 |
| 599 const NetworkState* tether_network = | 633 const NetworkState* tether_network = |
| 600 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); | 634 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); |
| 601 ASSERT_TRUE(tether_network); | 635 ASSERT_TRUE(tether_network); |
| 602 EXPECT_EQ(kTetherName1, tether_network->name()); | 636 EXPECT_EQ(kTetherName1, tether_network->name()); |
| 603 EXPECT_EQ(kTetherGuid1, tether_network->path()); | 637 EXPECT_EQ(kTetherGuid1, tether_network->path()); |
| 638 EXPECT_EQ(kTetherCarrier1, tether_network->carrier()); |
| 639 EXPECT_EQ(kTetherBatteryPercentage1, tether_network->battery_percentage()); |
| 640 EXPECT_EQ(kTetherSignalStrength1, tether_network->signal_strength()); |
| 641 |
| 642 // Update the tether properties and verify the changes. |
| 643 EXPECT_TRUE(network_state_handler_->UpdateTetherNetworkProperties( |
| 644 kTetherGuid1, "NewCarrier", 5 /* battery_percentage */, |
| 645 10 /* signal_strength */)); |
| 646 |
| 647 EXPECT_EQ(2u, test_observer_->network_list_changed_count()); |
| 648 |
| 649 tether_network = |
| 650 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); |
| 651 ASSERT_TRUE(tether_network); |
| 652 EXPECT_EQ(kTetherName1, tether_network->name()); |
| 653 EXPECT_EQ(kTetherGuid1, tether_network->path()); |
| 654 EXPECT_EQ("NewCarrier", tether_network->carrier()); |
| 655 EXPECT_EQ(5, tether_network->battery_percentage()); |
| 656 EXPECT_EQ(10, tether_network->signal_strength()); |
| 604 | 657 |
| 605 network_state_handler_->RemoveTetherNetworkState(kTetherGuid1); | 658 network_state_handler_->RemoveTetherNetworkState(kTetherGuid1); |
| 606 | 659 |
| 607 EXPECT_EQ(2u, test_observer_->network_list_changed_count()); | 660 EXPECT_EQ(3u, test_observer_->network_list_changed_count()); |
| 608 | 661 |
| 609 ASSERT_FALSE(network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1)); | 662 ASSERT_FALSE(network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1)); |
| 663 |
| 664 // Updating tether properties should fail since the network was removed. |
| 665 EXPECT_FALSE(network_state_handler_->UpdateTetherNetworkProperties( |
| 666 kTetherGuid1, "NewNewCarrier", 15 /* battery_percentage */, |
| 667 20 /* signal_strength */)); |
| 610 } | 668 } |
| 611 | 669 |
| 612 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation) { | 670 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation) { |
| 613 EXPECT_EQ(0u, test_observer_->network_list_changed_count()); | 671 EXPECT_EQ(0u, test_observer_->network_list_changed_count()); |
| 614 | 672 |
| 615 const std::string profile = "/profile/profile1"; | 673 const std::string profile = "/profile/profile1"; |
| 616 const std::string wifi_path = "/service/wifi_with_guid"; | 674 const std::string wifi_path = "/service/wifi_with_guid"; |
| 617 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, | 675 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, |
| 618 shill::kStateOnline); | 676 shill::kStateOnline); |
| 619 profile_test_->AddProfile(profile, "" /* userhash */); | 677 profile_test_->AddProfile(profile, "" /* userhash */); |
| 620 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); | 678 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); |
| 621 UpdateManagerProperties(); | 679 UpdateManagerProperties(); |
| 622 | 680 |
| 623 EXPECT_EQ(1u, test_observer_->network_list_changed_count()); | 681 EXPECT_EQ(1u, test_observer_->network_list_changed_count()); |
| 624 | 682 |
| 625 network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); | 683 network_state_handler_->AddTetherNetworkState( |
| 684 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 685 kTetherSignalStrength1); |
| 626 | 686 |
| 627 EXPECT_EQ(2u, test_observer_->network_list_changed_count()); | 687 EXPECT_EQ(2u, test_observer_->network_list_changed_count()); |
| 628 | 688 |
| 629 EXPECT_TRUE( | 689 EXPECT_TRUE( |
| 630 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( | 690 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| 631 kTetherGuid1, kWifiGuid1)); | 691 kTetherGuid1, kWifiGuid1)); |
| 632 | 692 |
| 633 EXPECT_EQ(3u, test_observer_->network_list_changed_count()); | 693 EXPECT_EQ(3u, test_observer_->network_list_changed_count()); |
| 634 | 694 |
| 635 const NetworkState* wifi_network = | 695 const NetworkState* wifi_network = |
| (...skipping 14 matching lines...) Expand all Loading... |
| 650 | 710 |
| 651 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociationWifiRemoved) { | 711 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociationWifiRemoved) { |
| 652 const std::string profile = "/profile/profile1"; | 712 const std::string profile = "/profile/profile1"; |
| 653 const std::string wifi_path = "/service/wifi_with_guid"; | 713 const std::string wifi_path = "/service/wifi_with_guid"; |
| 654 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, | 714 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, |
| 655 shill::kStateOnline); | 715 shill::kStateOnline); |
| 656 profile_test_->AddProfile(profile, "" /* userhash */); | 716 profile_test_->AddProfile(profile, "" /* userhash */); |
| 657 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); | 717 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); |
| 658 UpdateManagerProperties(); | 718 UpdateManagerProperties(); |
| 659 | 719 |
| 660 network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); | 720 network_state_handler_->AddTetherNetworkState( |
| 721 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 722 kTetherSignalStrength1); |
| 661 EXPECT_TRUE( | 723 EXPECT_TRUE( |
| 662 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( | 724 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| 663 kTetherGuid1, kWifiGuid1)); | 725 kTetherGuid1, kWifiGuid1)); |
| 664 | 726 |
| 665 const NetworkState* wifi_network = | 727 const NetworkState* wifi_network = |
| 666 network_state_handler_->GetNetworkStateFromGuid(kWifiGuid1); | 728 network_state_handler_->GetNetworkStateFromGuid(kWifiGuid1); |
| 667 EXPECT_EQ(kTetherGuid1, wifi_network->tether_guid()); | 729 EXPECT_EQ(kTetherGuid1, wifi_network->tether_guid()); |
| 668 | 730 |
| 669 const NetworkState* tether_network = | 731 const NetworkState* tether_network = |
| 670 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); | 732 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); |
| 671 EXPECT_EQ(kWifiGuid1, tether_network->tether_guid()); | 733 EXPECT_EQ(kWifiGuid1, tether_network->tether_guid()); |
| 672 | 734 |
| 673 service_test_->RemoveService(wifi_path); | 735 service_test_->RemoveService(wifi_path); |
| 674 UpdateManagerProperties(); | 736 UpdateManagerProperties(); |
| 675 | 737 |
| 676 tether_network = | 738 tether_network = |
| 677 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); | 739 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); |
| 678 ASSERT_TRUE(tether_network->tether_guid().empty()); | 740 ASSERT_TRUE(tether_network->tether_guid().empty()); |
| 679 } | 741 } |
| 680 | 742 |
| 681 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation_NoWifiNetwork) { | 743 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation_NoWifiNetwork) { |
| 682 network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); | 744 network_state_handler_->AddTetherNetworkState( |
| 745 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 746 kTetherSignalStrength1); |
| 683 | 747 |
| 684 EXPECT_FALSE( | 748 EXPECT_FALSE( |
| 685 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( | 749 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| 686 kTetherGuid1, kWifiGuid1)); | 750 kTetherGuid1, kWifiGuid1)); |
| 687 } | 751 } |
| 688 | 752 |
| 689 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation_NoTetherNetwork) { | 753 TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation_NoTetherNetwork) { |
| 690 const std::string profile = "/profile/profile1"; | 754 const std::string profile = "/profile/profile1"; |
| 691 const std::string wifi_path = "/service/wifi_with_guid"; | 755 const std::string wifi_path = "/service/wifi_with_guid"; |
| 692 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, | 756 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, |
| 693 shill::kStateOnline); | 757 shill::kStateOnline); |
| 694 profile_test_->AddProfile(profile, "" /* userhash */); | 758 profile_test_->AddProfile(profile, "" /* userhash */); |
| 695 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); | 759 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); |
| 696 UpdateManagerProperties(); | 760 UpdateManagerProperties(); |
| 697 | 761 |
| 698 ASSERT_FALSE( | 762 ASSERT_FALSE( |
| 699 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( | 763 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| 700 kTetherGuid1, kWifiGuid1)); | 764 kTetherGuid1, kWifiGuid1)); |
| 701 } | 765 } |
| 702 | 766 |
| 703 TEST_F(NetworkStateHandlerTest, SetTetherNetworkStateConnectionState) { | 767 TEST_F(NetworkStateHandlerTest, SetTetherNetworkStateConnectionState) { |
| 704 network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); | 768 network_state_handler_->AddTetherNetworkState( |
| 769 kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| 770 kTetherSignalStrength1); |
| 771 |
| 772 // Add corresponding Wi-Fi network. |
| 773 const std::string profile = "/profile/profile1"; |
| 774 const std::string wifi_path = "/service/wifi_with_guid"; |
| 775 AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, |
| 776 shill::kStateOnline); |
| 777 profile_test_->AddProfile(profile, "" /* userhash */); |
| 778 EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); |
| 779 UpdateManagerProperties(); |
| 780 |
| 781 // Associate tether and Wi-Fi networks. |
| 782 network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| 783 kTetherGuid1, kWifiGuid1); |
| 705 | 784 |
| 706 const NetworkState* tether_network = | 785 const NetworkState* tether_network = |
| 707 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); | 786 network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); |
| 708 | 787 |
| 709 EXPECT_FALSE(tether_network->IsConnectingState()); | 788 EXPECT_FALSE(tether_network->IsConnectingState()); |
| 710 EXPECT_FALSE(tether_network->IsConnectedState()); | 789 EXPECT_FALSE(tether_network->IsConnectedState()); |
| 711 | 790 |
| 712 network_state_handler_->SetTetherNetworkStateConnecting(kTetherGuid1); | 791 network_state_handler_->SetTetherNetworkStateConnecting(kTetherGuid1); |
| 713 EXPECT_TRUE(tether_network->IsConnectingState()); | 792 EXPECT_TRUE(tether_network->IsConnectingState()); |
| 714 | 793 |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 973 shill::kIPConfigProperty, | 1052 shill::kIPConfigProperty, |
| 974 base::Value(kIPConfigPath)); | 1053 base::Value(kIPConfigPath)); |
| 975 UpdateManagerProperties(); | 1054 UpdateManagerProperties(); |
| 976 EXPECT_EQ(1, test_observer_->PropertyUpdatesForDevice( | 1055 EXPECT_EQ(1, test_observer_->PropertyUpdatesForDevice( |
| 977 kShillManagerClientStubWifiDevice)); | 1056 kShillManagerClientStubWifiDevice)); |
| 978 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService( | 1057 EXPECT_EQ(1, test_observer_->PropertyUpdatesForService( |
| 979 kShillManagerClientStubDefaultWifi)); | 1058 kShillManagerClientStubDefaultWifi)); |
| 980 } | 1059 } |
| 981 | 1060 |
| 982 } // namespace chromeos | 1061 } // namespace chromeos |
| OLD | NEW |