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

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

Issue 2819383002: [CrOS Tether] Update NetworkState to include tether properties and integrate into NetworkStateHandl… (Closed)
Patch Set: stevenjb@ and hansberry@ comments. Created 3 years, 8 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
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/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
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698