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 |