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

Unified 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@ comment. 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromeos/network/network_state_handler.cc ('k') | chromeos/network/network_state_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..0d1df22d4e56cdab0bff96965fca7d8c689bbe2b 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;
@@ -275,6 +281,11 @@ class NetworkStateHandlerTest : public testing::Test {
base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction));
}
+ void GetTetherNetworkList(int limit,
+ NetworkStateHandler::NetworkStateList* list) {
+ network_state_handler_->GetTetherNetworkList(limit, list);
+ }
+
base::MessageLoopForUI message_loop_;
std::unique_ptr<NetworkStateHandler> network_state_handler_;
std::unique_ptr<TestObserver> test_observer_;
@@ -339,6 +350,17 @@ TEST_F(NetworkStateHandlerTest, GetNetworkList) {
EXPECT_EQ(kNumShillManagerClientStubImplServices + 1,
test_observer_->network_count());
+ // Add two Tether networks.
+ const size_t kNumTetherNetworks = 2;
+ 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 +368,25 @@ TEST_F(NetworkStateHandlerTest, GetNetworkList) {
false /* visible_only */,
0 /* no limit */,
&networks);
- EXPECT_EQ(kNumShillManagerClientStubImplServices + 1, networks.size());
- // Limit number of results.
+ EXPECT_EQ(kNumShillManagerClientStubImplServices + kNumTetherNetworks + 1,
+ 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,39 +400,41 @@ TEST_F(NetworkStateHandlerTest, GetNetworkList) {
true /* visible_only */,
0 /* no limit */,
&networks);
- EXPECT_EQ(kNumShillManagerClientStubImplServices, networks.size());
+ EXPECT_EQ(kNumShillManagerClientStubImplServices + kNumTetherNetworks,
+ networks.size());
network_state_handler_->GetVisibleNetworkList(&networks);
- EXPECT_EQ(kNumShillManagerClientStubImplServices, networks.size());
+ EXPECT_EQ(kNumShillManagerClientStubImplServices + kNumTetherNetworks,
+ 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(kNumTetherNetworks + 1u, networks.size());
}
TEST_F(NetworkStateHandlerTest, GetTetherNetworkList) {
NetworkStateHandler::NetworkStateList tether_networks;
- network_state_handler_->GetTetherNetworkList(0 /* no limit */,
- &tether_networks);
+ GetTetherNetworkList(0 /* no limit */, &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);
+ GetTetherNetworkList(0 /* no limit */, &tether_networks);
EXPECT_EQ(1u, tether_networks.size());
- network_state_handler_->AddTetherNetworkState(kTetherGuid2, kTetherName2);
+ network_state_handler_->AddTetherNetworkState(
+ kTetherGuid2, kTetherName2, kTetherCarrier2, kTetherBatteryPercentage2,
+ kTetherSignalStrength2);
- network_state_handler_->GetTetherNetworkList(0 /* no limit */,
- &tether_networks);
+ GetTetherNetworkList(0 /* no limit */, &tether_networks);
EXPECT_EQ(2u, tether_networks.size());
- network_state_handler_->GetTetherNetworkList(1 /* no limit */,
- &tether_networks);
+ GetTetherNetworkList(1 /* no limit */, &tether_networks);
EXPECT_EQ(1u, tether_networks.size());
}
@@ -592,7 +627,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 +638,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 +683,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 +720,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 +744,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 +768,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);
« no previous file with comments | « chromeos/network/network_state_handler.cc ('k') | chromeos/network/network_state_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698