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

Unified Diff: chromeos/network/network_state_handler_unittest.cc

Issue 2931003002: [CrOS Tether] Invoke "network properties updated" observer function when Tether network properties … (Closed)
Patch Set: Added a log. Created 3 years, 6 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
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 ee62d71b63011c6f02ea56e74be4efb4d4b56869..ad8af8e6c5493225e332acd1a724691d2d8717b9 100644
--- a/chromeos/network/network_state_handler_unittest.cc
+++ b/chromeos/network/network_state_handler_unittest.cc
@@ -721,12 +721,14 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkState) {
NetworkStateHandler::TECHNOLOGY_ENABLED);
EXPECT_EQ(0u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(0, test_observer_->PropertyUpdatesForService(kTetherGuid1));
network_state_handler_->AddTetherNetworkState(
kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1,
kTetherSignalStrength1, false /* has_connected_to_network */);
EXPECT_EQ(1u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(0, test_observer_->PropertyUpdatesForService(kTetherGuid1));
const NetworkState* tether_network =
network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1);
@@ -743,7 +745,8 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkState) {
kTetherGuid1, "NewCarrier", 5 /* battery_percentage */,
10 /* signal_strength */));
- EXPECT_EQ(2u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(1u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(kTetherGuid1));
tether_network =
network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1);
@@ -759,18 +762,21 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkState) {
EXPECT_TRUE(
network_state_handler_->SetTetherNetworkHasConnectedToHost(kTetherGuid1));
- EXPECT_EQ(3u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(1u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(kTetherGuid1));
// Try calling that function again. It should return false and should not
// trigger a NetworkListChanged() callback for observers.
EXPECT_FALSE(
network_state_handler_->SetTetherNetworkHasConnectedToHost(kTetherGuid1));
- EXPECT_EQ(3u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(1u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(kTetherGuid1));
network_state_handler_->RemoveTetherNetworkState(kTetherGuid1);
- EXPECT_EQ(4u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(2u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(kTetherGuid1));
ASSERT_FALSE(network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1));
@@ -784,8 +790,6 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation) {
network_state_handler_->SetTetherTechnologyState(
NetworkStateHandler::TECHNOLOGY_ENABLED);
- EXPECT_EQ(0u, test_observer_->network_list_changed_count());
-
const std::string profile = "/profile/profile1";
const std::string wifi_path = "/service/wifi_with_guid";
AddService(wifi_path, kWifiGuid1, kWifiName1, shill::kTypeWifi,
@@ -793,20 +797,27 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation) {
profile_test_->AddProfile(profile, "" /* userhash */);
EXPECT_TRUE(profile_test_->AddService(profile, wifi_path));
UpdateManagerProperties();
+ test_observer_->reset_updates();
EXPECT_EQ(1u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(0, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+ EXPECT_EQ(0, test_observer_->PropertyUpdatesForService(wifi_path));
network_state_handler_->AddTetherNetworkState(
kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1,
kTetherSignalStrength1, kTetherHasConnectedToHost1);
EXPECT_EQ(2u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(0, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+ EXPECT_EQ(0, test_observer_->PropertyUpdatesForService(wifi_path));
EXPECT_TRUE(
network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork(
kTetherGuid1, kWifiGuid1));
- EXPECT_EQ(3u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(2u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+ EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(wifi_path));
const NetworkState* wifi_network =
network_state_handler_->GetNetworkStateFromGuid(kWifiGuid1);
@@ -816,12 +827,28 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociation) {
network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1);
EXPECT_EQ(kWifiGuid1, tether_network->tether_guid());
+ // Try associating again. The function call should return true since the
+ // association was successful, but no new observer updates should occur since
+ // no changes happened.
+ EXPECT_TRUE(
+ network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork(
+ kTetherGuid1, kWifiGuid1));
+
+ EXPECT_EQ(kTetherGuid1, wifi_network->tether_guid());
+ EXPECT_EQ(kWifiGuid1, tether_network->tether_guid());
+
+ EXPECT_EQ(2u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+ EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(wifi_path));
+
network_state_handler_->RemoveTetherNetworkState(kTetherGuid1);
- EXPECT_EQ(4u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(3u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+ EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(wifi_path));
wifi_network = network_state_handler_->GetNetworkStateFromGuid(kWifiGuid1);
- ASSERT_TRUE(wifi_network->tether_guid().empty());
+ EXPECT_TRUE(wifi_network->tether_guid().empty());
}
TEST_F(NetworkStateHandlerTest, TetherNetworkStateDisassociation) {
@@ -835,20 +862,27 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkStateDisassociation) {
profile_test_->AddProfile(profile, "" /* userhash */);
EXPECT_TRUE(profile_test_->AddService(profile, wifi_path));
UpdateManagerProperties();
+ test_observer_->reset_updates();
EXPECT_EQ(1u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(0, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+ EXPECT_EQ(0, test_observer_->PropertyUpdatesForService(wifi_path));
network_state_handler_->AddTetherNetworkState(
kTetherGuid1, kTetherName1, kTetherCarrier1, kTetherBatteryPercentage1,
kTetherSignalStrength1, kTetherHasConnectedToHost1);
EXPECT_EQ(2u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(0, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+ EXPECT_EQ(0, test_observer_->PropertyUpdatesForService(wifi_path));
EXPECT_TRUE(
network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork(
kTetherGuid1, kWifiGuid1));
- EXPECT_EQ(3u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(2u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+ EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(wifi_path));
const NetworkState* wifi_network =
network_state_handler_->GetNetworkStateFromGuid(kWifiGuid1);
@@ -858,13 +892,16 @@ TEST_F(NetworkStateHandlerTest, TetherNetworkStateDisassociation) {
network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1);
EXPECT_EQ(kWifiGuid1, tether_network->tether_guid());
- network_state_handler_->DisassociateTetherNetworkStateFromWifiNetwork(
- kTetherGuid1);
+ EXPECT_TRUE(
+ network_state_handler_->DisassociateTetherNetworkStateFromWifiNetwork(
+ kTetherGuid1));
- ASSERT_TRUE(wifi_network->tether_guid().empty());
- ASSERT_TRUE(tether_network->tether_guid().empty());
+ EXPECT_TRUE(wifi_network->tether_guid().empty());
+ EXPECT_TRUE(tether_network->tether_guid().empty());
- EXPECT_EQ(4u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(2u, test_observer_->network_list_changed_count());
+ EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+ EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(wifi_path));
}
TEST_F(NetworkStateHandlerTest, TetherNetworkStateAssociationWifiRemoved) {
@@ -953,6 +990,9 @@ TEST_F(NetworkStateHandlerTest, SetTetherNetworkStateConnectionState) {
network_state_handler_->AssociateTetherNetworkStateWithWifiNetwork(
kTetherGuid1, kWifiGuid1);
+ EXPECT_EQ(0, test_observer_->ConnectionStateChangesForService(kTetherGuid1));
+ EXPECT_EQ(1, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+
const NetworkState* tether_network =
network_state_handler_->GetNetworkStateFromGuid(kTetherGuid1);
@@ -962,15 +1002,27 @@ TEST_F(NetworkStateHandlerTest, SetTetherNetworkStateConnectionState) {
network_state_handler_->SetTetherNetworkStateConnecting(kTetherGuid1);
EXPECT_TRUE(tether_network->IsConnectingState());
+ EXPECT_EQ(1, test_observer_->ConnectionStateChangesForService(kTetherGuid1));
+ EXPECT_EQ(2, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+
network_state_handler_->SetTetherNetworkStateConnected(kTetherGuid1);
EXPECT_TRUE(tether_network->IsConnectedState());
+ EXPECT_EQ(2, test_observer_->ConnectionStateChangesForService(kTetherGuid1));
+ EXPECT_EQ(3, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+
network_state_handler_->SetTetherNetworkStateConnecting(kTetherGuid1);
EXPECT_TRUE(tether_network->IsReconnecting());
+ EXPECT_EQ(3, test_observer_->ConnectionStateChangesForService(kTetherGuid1));
+ EXPECT_EQ(4, test_observer_->PropertyUpdatesForService(kTetherGuid1));
+
network_state_handler_->SetTetherNetworkStateDisconnected(kTetherGuid1);
EXPECT_FALSE(tether_network->IsConnectingState());
EXPECT_FALSE(tether_network->IsConnectedState());
+
+ EXPECT_EQ(4, test_observer_->ConnectionStateChangesForService(kTetherGuid1));
+ EXPECT_EQ(5, test_observer_->PropertyUpdatesForService(kTetherGuid1));
}
TEST_F(NetworkStateHandlerTest, NetworkConnectionStateChanged) {
« chromeos/network/network_state_handler.cc ('K') | « chromeos/network/network_state_handler.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698