| 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.
|
| + 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());
|
| + // 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());
|
| 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);
|
|
|