Chromium Code Reviews| Index: chromeos/network/network_state_handler_unittest.cc |
| diff --git a/chromeos/network/network_state_handler_unittest.cc b/chromeos/network/network_state_handler_unittest.cc |
| index f0bee4599629bd32136b746fc44770c443eabdaa..745aafd4a7136cf731528d485b23d7b0e595d325 100644 |
| --- a/chromeos/network/network_state_handler_unittest.cc |
| +++ b/chromeos/network/network_state_handler_unittest.cc |
| @@ -54,6 +54,12 @@ const char kTetherGuid1[] = "tether1"; |
| const char kTetherGuid2[] = "tether2"; |
| const char kTetherName1[] = "Device1"; |
| const char kTetherName2[] = "Device2"; |
| +const char kTetherCarrier1[] = "Carrier1"; |
| +const char kTetherCarrier2[] = "Carrier2"; |
| +const int kTetherBatteryPercentage1 = 85; |
| +const int kTetherBatteryPercentage2 = 90; |
| +const int kTetherSignalStrength1 = 75; |
| +const int kTetherSignalStrength2 = 80; |
| using chromeos::DeviceState; |
| using chromeos::NetworkState; |
| @@ -339,6 +345,16 @@ TEST_F(NetworkStateHandlerTest, GetNetworkList) { |
| EXPECT_EQ(kNumShillManagerClientStubImplServices + 1, |
| test_observer_->network_count()); |
| + // Add two tether networks. |
|
Ryan Hansberry
2017/04/18 23:56:17
nit: please use "Tether" as opposed to "tether" in
Kyle Horimoto
2017/04/19 00:28:17
Done.
|
| + network_state_handler_->AddTetherNetworkState( |
| + kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| + kTetherSignalStrength1); |
| + network_state_handler_->AddTetherNetworkState( |
| + kTetherGuid2, kTetherName2, kTetherCarrier2, kTetherBatteryPercentage2, |
| + kTetherSignalStrength2); |
| + EXPECT_EQ(kNumShillManagerClientStubImplServices + 3, |
| + test_observer_->network_count()); |
| + |
| // Get all networks. |
| NetworkStateHandler::NetworkStateList networks; |
| network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), |
| @@ -346,14 +362,24 @@ TEST_F(NetworkStateHandlerTest, GetNetworkList) { |
| false /* visible_only */, |
| 0 /* no limit */, |
| &networks); |
| - EXPECT_EQ(kNumShillManagerClientStubImplServices + 1, networks.size()); |
| - // Limit number of results. |
| + EXPECT_EQ(kNumShillManagerClientStubImplServices + 3, networks.size()); |
|
Ryan Hansberry
2017/04/18 23:56:17
This hardcoded +3 is hard to follow. Please make t
Kyle Horimoto
2017/04/19 00:28:17
Done.
|
| + // Limit number of results, including only tether networks. |
| network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), |
| false /* configured_only */, |
| false /* visible_only */, |
| 2 /* limit */, |
| &networks); |
| EXPECT_EQ(2u, networks.size()); |
| + // Limit number of results, including more than only tether networks. |
| + network_state_handler_->GetNetworkListByType( |
| + NetworkTypePattern::Default(), false /* configured_only */, |
| + false /* visible_only */, 4 /* limit */, &networks); |
| + EXPECT_EQ(4u, networks.size()); |
| + // Get all tether networks. |
| + network_state_handler_->GetNetworkListByType( |
| + NetworkTypePattern::Tether(), false /* configured_only */, |
| + false /* visible_only */, 0 /* no limit */, &networks); |
| + EXPECT_EQ(2u, networks.size()); |
| // Get all wifi networks. |
| network_state_handler_->GetNetworkListByType(NetworkTypePattern::WiFi(), |
| false /* configured_only */, |
| @@ -367,16 +393,16 @@ TEST_F(NetworkStateHandlerTest, GetNetworkList) { |
| true /* visible_only */, |
| 0 /* no limit */, |
| &networks); |
| - EXPECT_EQ(kNumShillManagerClientStubImplServices, networks.size()); |
| + EXPECT_EQ(kNumShillManagerClientStubImplServices + 2, networks.size()); |
|
Ryan Hansberry
2017/04/18 23:56:17
Same comment here.
Kyle Horimoto
2017/04/19 00:28:17
Done.
|
| network_state_handler_->GetVisibleNetworkList(&networks); |
| - EXPECT_EQ(kNumShillManagerClientStubImplServices, networks.size()); |
| + EXPECT_EQ(kNumShillManagerClientStubImplServices + 2, networks.size()); |
| // Get configured (profile) networks. |
| network_state_handler_->GetNetworkListByType(NetworkTypePattern::Default(), |
| true /* configured_only */, |
| false /* visible_only */, |
| 0 /* no limit */, |
| &networks); |
| - EXPECT_EQ(1u, networks.size()); |
| + EXPECT_EQ(3u, networks.size()); |
| } |
| TEST_F(NetworkStateHandlerTest, GetTetherNetworkList) { |
| @@ -386,17 +412,23 @@ TEST_F(NetworkStateHandlerTest, GetTetherNetworkList) { |
| &tether_networks); |
| EXPECT_EQ(0u, tether_networks.size()); |
| - network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); |
| + network_state_handler_->AddTetherNetworkState( |
| + kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| + kTetherSignalStrength1); |
| network_state_handler_->GetTetherNetworkList(0 /* no limit */, |
| &tether_networks); |
| EXPECT_EQ(1u, tether_networks.size()); |
| + EXPECT_TRUE(tether_networks[0]->connectable()); |
| - network_state_handler_->AddTetherNetworkState(kTetherGuid2, kTetherName2); |
| + network_state_handler_->AddTetherNetworkState( |
| + kTetherGuid2, kTetherName2, kTetherCarrier2, kTetherBatteryPercentage2, |
| + kTetherSignalStrength2); |
| network_state_handler_->GetTetherNetworkList(0 /* no limit */, |
| &tether_networks); |
| EXPECT_EQ(2u, tether_networks.size()); |
| + EXPECT_TRUE(tether_networks[1]->connectable()); |
| network_state_handler_->GetTetherNetworkList(1 /* no limit */, |
| &tether_networks); |
| @@ -592,7 +624,9 @@ TEST_F(NetworkStateHandlerTest, GetState) { |
| TEST_F(NetworkStateHandlerTest, TetherNetworkState) { |
| EXPECT_EQ(0u, test_observer_->network_list_changed_count()); |
| - network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); |
| + network_state_handler_->AddTetherNetworkState( |
| + kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| + kTetherSignalStrength1); |
| EXPECT_EQ(1u, test_observer_->network_list_changed_count()); |
| @@ -601,12 +635,36 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkState) { |
| ASSERT_TRUE(tether_network); |
| EXPECT_EQ(kTetherName1, tether_network->name()); |
| EXPECT_EQ(kTetherGuid1, tether_network->path()); |
| + EXPECT_EQ(kTetherCarrier1, tether_network->carrier()); |
| + EXPECT_EQ(kTetherBatteryPercentage1, tether_network->battery_percentage()); |
| + EXPECT_EQ(kTetherSignalStrength1, tether_network->signal_strength()); |
| - network_state_handler_->RemoveTetherNetworkState(kTetherGuid1); |
| + // Update the tether properties and verify the changes. |
| + EXPECT_TRUE(network_state_handler_->UpdateTetherNetworkProperties( |
| + kTetherGuid1, "NewCarrier", 5 /* battery_percentage */, |
| + 10 /* signal_strength */)); |
| EXPECT_EQ(2u, test_observer_->network_list_changed_count()); |
| + tether_network = |
| + network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); |
| + ASSERT_TRUE(tether_network); |
| + EXPECT_EQ(kTetherName1, tether_network->name()); |
| + EXPECT_EQ(kTetherGuid1, tether_network->path()); |
| + EXPECT_EQ("NewCarrier", tether_network->carrier()); |
| + EXPECT_EQ(5, tether_network->battery_percentage()); |
| + EXPECT_EQ(10, tether_network->signal_strength()); |
| + |
| + network_state_handler_->RemoveTetherNetworkState(kTetherGuid1); |
| + |
| + EXPECT_EQ(3u, test_observer_->network_list_changed_count()); |
| + |
| ASSERT_FALSE(network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1)); |
| + |
| + // Updating tether properties should fail since the network was removed. |
| + EXPECT_FALSE(network_state_handler_->UpdateTetherNetworkProperties( |
| + kTetherGuid1, "NewNewCarrier", 15 /* battery_percentage */, |
| + 20 /* signal_strength */)); |
| } |
| TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation) { |
| @@ -622,7 +680,9 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation) { |
| EXPECT_EQ(1u, test_observer_->network_list_changed_count()); |
| - network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); |
| + network_state_handler_->AddTetherNetworkState( |
| + kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| + kTetherSignalStrength1); |
| EXPECT_EQ(2u, test_observer_->network_list_changed_count()); |
| @@ -657,7 +717,9 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociationWifiRemoved) { |
| EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); |
| UpdateManagerProperties(); |
| - network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); |
| + network_state_handler_->AddTetherNetworkState( |
| + kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| + kTetherSignalStrength1); |
| EXPECT_TRUE( |
| network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| kTetherGuid1, kWifiGuid1)); |
| @@ -679,7 +741,9 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociationWifiRemoved) { |
| } |
| TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation_NoWifiNetwork) { |
| - network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); |
| + network_state_handler_->AddTetherNetworkState( |
| + kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| + kTetherSignalStrength1); |
| EXPECT_FALSE( |
| network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| @@ -701,7 +765,22 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation_NoTetherNetwork) { |
| } |
| TEST_F(NetworkStateHandlerTest, SetTetherNetworkStateConnectionState) { |
| - network_state_handler_->AddTetherNetworkState(kTetherGuid1, kTetherName1); |
| + network_state_handler_->AddTetherNetworkState( |
| + kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1, |
| + kTetherSignalStrength1); |
| + |
| + // Add corresponding Wi-Fi network. |
| + const std::string profile = "/profile/profile1"; |
| + const std::string wifi_path = "/service/wifi_with_guid"; |
| + AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi, |
| + shill::kStateOnline); |
| + profile_test_->AddProfile(profile, "" /* userhash */); |
| + EXPECT_TRUE(profile_test_->AddService(profile, wifi_path)); |
| + UpdateManagerProperties(); |
| + |
| + // Associate tether and Wi-Fi networks. |
| + network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork( |
| + kTetherGuid1, kWifiGuid1); |
| const NetworkState* tether_network = |
| network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1); |