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

Unified Diff: chromeos/network/network_connection_handler_unittest.cc

Issue 648623004: Fix reconnect in case of empty global network policy. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git/+/master
Patch Set: Created 6 years, 2 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_connection_handler_unittest.cc
diff --git a/chromeos/network/network_connection_handler_unittest.cc b/chromeos/network/network_connection_handler_unittest.cc
index e25a267d64aac2441feb1ac8aa5960a05321a9b9..0b8d6960b21bdd0a7e91027410d49aa51430bb64 100644
--- a/chromeos/network/network_connection_handler_unittest.cc
+++ b/chromeos/network/network_connection_handler_unittest.cc
@@ -434,10 +434,11 @@ TEST_F(NetworkConnectionHandlerTest,
namespace {
const char* kConfigUnmanagedSharedConnected =
- "{ \"GUID\": \"wifi0\", \"Type\": \"wifi\", \"State\": \"online\" }";
+ "{ \"GUID\": \"wifi0\", \"Type\": \"wifi\", \"State\": \"online\", "
+ " \"Security\": \"wpa\" }";
const char* kConfigManagedSharedConnectable =
"{ \"GUID\": \"wifi1\", \"Type\": \"wifi\", \"State\": \"idle\", "
- " \"Connectable\": true }";
+ " \"Connectable\": true, \"Security\": \"wpa\" }";
const char* kPolicy =
"[ { \"GUID\": \"wifi1\","
@@ -452,12 +453,13 @@ const char* kPolicy =
} // namespace
-TEST_F(NetworkConnectionHandlerTest, ReconnectOnLoginEarlyPolicyLoading) {
+TEST_F(NetworkConnectionHandlerTest, ReconnectOnCertLoading) {
EXPECT_TRUE(Configure(kConfigUnmanagedSharedConnected));
EXPECT_TRUE(Configure(kConfigManagedSharedConnectable));
test_manager_client_->SetBestServiceToConnect("wifi1");
- // User login shouldn't trigger any change because policy is not loaded yet.
+ // User login shouldn't trigger any change until the certificates and policy
+ // are loaded.
LoginToRegularUser();
EXPECT_EQ(shill::kStateOnline,
GetServiceStringProperty("wifi0", shill::kStateProperty));
@@ -485,10 +487,9 @@ TEST_F(NetworkConnectionHandlerTest, ReconnectOnLoginEarlyPolicyLoading) {
GetServiceStringProperty("wifi1", shill::kStateProperty));
}
-TEST_F(NetworkConnectionHandlerTest, ReconnectOnLoginLatePolicyLoading) {
+TEST_F(NetworkConnectionHandlerTest, DisconnectOnPolicyLoading) {
EXPECT_TRUE(Configure(kConfigUnmanagedSharedConnected));
EXPECT_TRUE(Configure(kConfigManagedSharedConnectable));
- test_manager_client_->SetBestServiceToConnect("wifi1");
// User login and certificate loading shouldn't trigger any change until the
// policy is loaded.
@@ -499,13 +500,38 @@ TEST_F(NetworkConnectionHandlerTest, ReconnectOnLoginLatePolicyLoading) {
EXPECT_EQ(shill::kStateIdle,
GetServiceStringProperty("wifi1", shill::kStateProperty));
- // Applying the policy which restricts autoconnect should disconnect from the
- // shared, unmanaged network.
base::DictionaryValue global_config;
global_config.SetBooleanWithoutPathExpansion(
::onc::global_network_config::kAllowOnlyPolicyNetworksToAutoconnect,
true);
+ // Applying the policy which restricts autoconnect should disconnect from the
+ // shared, unmanaged network.
+ // Because no best service is set, the fake implementation of
+ // ConnectToBestServices will be a no-op.
+ SetupPolicy(kPolicy, global_config, false /* load as device policy */);
+ EXPECT_EQ(shill::kStateIdle,
+ GetServiceStringProperty("wifi0", shill::kStateProperty));
+ EXPECT_EQ(shill::kStateIdle,
+ GetServiceStringProperty("wifi1", shill::kStateProperty));
+}
+
+TEST_F(NetworkConnectionHandlerTest, ReconnectOnEmptyPolicyLoading) {
+ EXPECT_TRUE(Configure(kConfigUnmanagedSharedConnected));
+ EXPECT_TRUE(Configure(kConfigManagedSharedConnectable));
+ test_manager_client_->SetBestServiceToConnect("wifi1");
+
+ // User login and certificate loading shouldn't trigger any change until the
+ // policy is loaded.
+ LoginToRegularUser();
+ StartCertLoader();
+ EXPECT_EQ(shill::kStateOnline,
+ GetServiceStringProperty("wifi0", shill::kStateProperty));
+ EXPECT_EQ(shill::kStateIdle,
+ GetServiceStringProperty("wifi1", shill::kStateProperty));
+
+ // Apply an empty policy should trigger connecting to the 'best' network.
+ base::DictionaryValue global_config;
SetupPolicy(kPolicy, global_config, false /* load as device policy */);
EXPECT_EQ(shill::kStateIdle,
GetServiceStringProperty("wifi0", shill::kStateProperty));
@@ -515,4 +541,4 @@ TEST_F(NetworkConnectionHandlerTest, ReconnectOnLoginLatePolicyLoading) {
} // namespace chromeos
-#endif
+#endif
« chromeos/dbus/fake_shill_service_client.cc ('K') | « chromeos/network/network_connection_handler.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698