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

Unified Diff: chrome/browser/chromeos/arc/arc_settings_service_browsertest.cc

Issue 2436753002: Removed ONC check in ArcSettingsService. (Closed)
Patch Set: Created 4 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
« no previous file with comments | « chrome/browser/chromeos/arc/arc_settings_service.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/arc/arc_settings_service_browsertest.cc
diff --git a/chrome/browser/chromeos/arc/arc_settings_service_browsertest.cc b/chrome/browser/chromeos/arc/arc_settings_service_browsertest.cc
index d24a3bf08e254037eb8cd9d62e1be3f7251c4296..1b48302a517b608ca1fea0133f7dc5f4e63bde67 100644
--- a/chrome/browser/chromeos/arc/arc_settings_service_browsertest.cc
+++ b/chrome/browser/chromeos/arc/arc_settings_service_browsertest.cc
@@ -58,10 +58,121 @@ constexpr char kONCPolicy[] =
" ],"
" \"Type\": \"UnencryptedConfiguration\""
"}";
-constexpr char kONCPacUrl[] = "http://domain.com/x";
-constexpr char kDefaultServicePath[] = "stub_ethernet";
-constexpr char kWifiServicePath[] = "stub_wifi";
+
+constexpr char kDeviceONCPolicy[] =
+ "{"
+ " \"GlobalNetworkConfiguration\": {"
+ " \"AllowOnlyPolicyNetworksToAutoconnect\": false,"
+ " \"AllowOnlyPolicyNetworksToConnect\": false"
+ " },"
+ " \"NetworkConfigurations\": [ {"
+ " \"GUID\": \"{wifi1_guid}\","
+ " \"Name\": \"wifi1\","
+ " \"ProxySettings\": {"
+ " \"Manual\": {"
+ " \"FTPProxy\": {"
+ " \"Host\": \"proxy\","
+ " \"Port\": 5000"
+ " },"
+ " \"HTTPProxy\": {"
+ " \"Host\": \"proxy\","
+ " \"Port\": 5000"
+ " },"
+ " \"SOCKS\": {"
+ " \"Host\": \"proxy\","
+ " \"Port\": 5000"
+ " },"
+ " \"SecureHTTPProxy\": {"
+ " \"Host\": \"proxy\","
+ " \"Port\": 5000"
+ " }"
+ " },"
+ " \"Type\": \"Manual\""
+ " },"
+ " \"Type\": \"WiFi\","
+ " \"WiFi\": {"
+ " \"AutoConnect\": false,"
+ " \"HiddenSSID\": false,"
+ " \"SSID\": \"wifi1\","
+ " \"Security\": \"None\""
+ " }"
+ " } ]"
+ "}";
+
+constexpr char kUserONCPolicy[] =
+ "{"
+ " \"NetworkConfigurations\": [ {"
+ " \"GUID\": \"{direct_guid}\","
+ " \"Name\": \"EAP-TTLS\","
+ " \"ProxySettings\": {"
+ " \"Type\": \"Direct\""
+ " },"
+ " \"Type\": \"WiFi\","
+ " \"WiFi\": {"
+ " \"AutoConnect\": false,"
+ " \"EAP\": {"
+ " \"Identity\": \"CrOS\","
+ " \"Inner\": \"Automatic\","
+ " \"Outer\": \"EAP-TTLS\","
+ " \"Password\": \"********\","
+ " \"Recommended\": ["
+ " \"AnonymousIdentity\","
+ " \"Identity\","
+ " \"Password\""
+ " ],"
+ " \"SaveCredentials\": true,"
+ " \"UseSystemCAs\": false"
+ " },"
+ " \"HiddenSSID\": false,"
+ " \"SSID\": \"direct_ssid\","
+ " \"Security\": \"WPA-EAP\""
+ " }"
+ " }, {"
+ " \"GUID\": \"{wifi0_guid}\","
+ " \"Name\": \"wifi0\","
+ " \"ProxySettings\": {"
+ " \"Manual\": {"
+ " \"FTPProxy\": {"
+ " \"Host\": \"proxy-n300\","
+ " \"Port\": 3000"
+ " },"
+ " \"HTTPProxy\": {"
+ " \"Host\": \"proxy-n300\","
+ " \"Port\": 3000"
+ " },"
+ " \"SOCKS\": {"
+ " \"Host\": \"proxy-n300\","
+ " \"Port\": 3000"
+ " },"
+ " \"SecureHTTPProxy\": {"
+ " \"Host\": \"proxy-n300\","
+ " \"Port\": 3000"
+ " }"
+ " },"
+ " \"Type\": \"Manual\""
+ " },"
+ " \"Type\": \"WiFi\","
+ " \"WiFi\": {"
+ " \"AutoConnect\": false,"
+ " \"HiddenSSID\": false,"
+ " \"SSID\": \"wifi0\","
+ " \"Security\": \"None\""
+ " }"
+ " } ]"
+ "}";
+
constexpr char kUserProfilePath[] = "user_profile";
+constexpr char kDefaultServicePath[] = "stub_ethernet";
+
+constexpr char kWifi0ServicePath[] = "stub_wifi0";
+constexpr char kWifi0Ssid[] = "wifi0";
+constexpr char kWifi0Guid[] = "{wifi0_guid}";
+
+constexpr char kWifi1ServicePath[] = "stub_wifi1";
+constexpr char kWifi1Ssid[] = "wifi1";
+constexpr char kWifi1Guid[] = "{wifi1_guid}";
+
+constexpr char kONCPacUrl[] = "http://domain.com/x";
// Returns an amount of |broadcasts| matched with |proxy_settings|.
int CountProxyBroadcasts(
@@ -129,6 +240,23 @@ class ArcSettingsServiceTest : public InProcessBrowserTest {
base::StringValue value(shill::kStateIdle);
service_test->SetServiceProperty(service_path, shill::kStateProperty,
value);
+ RunUntilIdle();
+ }
+
+ void ConnectWifiNetworkService(const std::string& service_path,
+ const std::string& guid,
+ const std::string& ssid) {
+ chromeos::ShillServiceClient::TestInterface* service_test =
+ chromeos::DBusThreadManager::Get()
+ ->GetShillServiceClient()
+ ->GetTestInterface();
+
+ service_test->AddService(service_path, guid, ssid, shill::kTypeWifi,
+ shill::kStateOnline, true /* add_to_visible */);
+
+ service_test->SetServiceProperty(service_path, shill::kProfileProperty,
+ base::StringValue(kUserProfilePath));
+ RunUntilIdle();
}
void SetProxyConfigForNetworkService(
@@ -166,12 +294,6 @@ class ArcSettingsServiceTest : public InProcessBrowserTest {
service_test->SetServiceProperty(kDefaultServicePath,
shill::kProfileProperty,
base::StringValue(kUserProfilePath));
-
- service_test->AddService(kWifiServicePath, "stub_wifi_guid", "wifi0",
- shill::kTypeWifi, shill::kStateOnline,
- true /* add_to_visible */);
- service_test->SetServiceProperty(kWifiServicePath, shill::kProfileProperty,
- base::StringValue(kUserProfilePath));
}
policy::MockConfigurationPolicyProvider provider_;
@@ -300,6 +422,7 @@ IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, DefaultNetworkProxyConfigTest) {
}
IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, DefaultNetworkDisconnectedTest) {
+ ConnectWifiNetworkService(kWifi0ServicePath, kWifi0Guid, kWifi0Ssid);
fake_intent_helper_instance_->clear_broadcasts();
// Set proxy confog for default network.
std::unique_ptr<base::DictionaryValue> default_proxy_config(
@@ -316,7 +439,7 @@ IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, DefaultNetworkDisconnectedTest) {
base::MakeUnique<base::DictionaryValue>());
wifi_proxy_config->SetString("mode", ProxyPrefs::kFixedServersProxyModeName);
wifi_proxy_config->SetString("server", "wifi/proxy:8080");
- SetProxyConfigForNetworkService(kWifiServicePath, wifi_proxy_config.get());
+ SetProxyConfigForNetworkService(kWifi0ServicePath, wifi_proxy_config.get());
RunUntilIdle();
// Observe default network proxy config broadcast.
@@ -333,7 +456,6 @@ IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, DefaultNetworkDisconnectedTest) {
// Disconnect default network.
fake_intent_helper_instance_->clear_broadcasts();
DisconnectNetworkService(kDefaultServicePath);
- RunUntilIdle();
// Observe WI-FI network proxy config broadcast.
std::unique_ptr<base::DictionaryValue> expected_wifi_proxy_config(
@@ -352,12 +474,57 @@ IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, NoNetworkConnectedTest) {
// Disconnect all networks.
fake_intent_helper_instance_->clear_broadcasts();
DisconnectNetworkService(kDefaultServicePath);
- DisconnectNetworkService(kWifiServicePath);
- RunUntilIdle();
EXPECT_EQ(
CountProxyBroadcasts(fake_intent_helper_instance_->broadcasts(), nullptr),
0);
}
+IN_PROC_BROWSER_TEST_F(ArcSettingsServiceTest, TwoONCProxyPolicyTest) {
+ // Connect to wifi1 with appliead device ONC policy.
+ ConnectWifiNetworkService(kWifi1ServicePath, kWifi1Guid, kWifi1Ssid);
+
+ // Disconnect default network.
+ DisconnectNetworkService(kDefaultServicePath);
+
+ fake_intent_helper_instance_->clear_broadcasts();
+
+ policy::PolicyMap policy;
+ policy.Set(policy::key::kOpenNetworkConfiguration,
+ policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
+ policy::POLICY_SOURCE_CLOUD,
+ base::MakeUnique<base::StringValue>(kUserONCPolicy), nullptr);
+ policy.Set(policy::key::kDeviceOpenNetworkConfiguration,
+ policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_MACHINE,
+ policy::POLICY_SOURCE_CLOUD,
+ base::MakeUnique<base::StringValue>(kDeviceONCPolicy), nullptr);
+ UpdatePolicy(policy);
+
+ std::unique_ptr<base::DictionaryValue> expected_proxy_config(
+ base::MakeUnique<base::DictionaryValue>());
+ expected_proxy_config->SetString("mode",
+ ProxyPrefs::kFixedServersProxyModeName);
+ expected_proxy_config->SetString("host", "proxy");
+ expected_proxy_config->SetInteger("port", 5000);
+
+ EXPECT_EQ(CountProxyBroadcasts(fake_intent_helper_instance_->broadcasts(),
+ expected_proxy_config.get()),
+ 1);
+
+ DisconnectNetworkService(kWifi1ServicePath);
+ fake_intent_helper_instance_->clear_broadcasts();
+
+ // Connect to wifi0 with appliead user ONC policy.
+ ConnectWifiNetworkService(kWifi0ServicePath, kWifi0Guid, kWifi0Ssid);
+
+ expected_proxy_config->SetString("mode",
+ ProxyPrefs::kFixedServersProxyModeName);
+ expected_proxy_config->SetString("host", "proxy-n300");
+ expected_proxy_config->SetInteger("port", 3000);
+
+ EXPECT_EQ(CountProxyBroadcasts(fake_intent_helper_instance_->broadcasts(),
+ expected_proxy_config.get()),
+ 1);
+}
+
} // namespace arc
« no previous file with comments | « chrome/browser/chromeos/arc/arc_settings_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698