| Index: chrome/browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc
|
| diff --git a/chrome/browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc b/chrome/browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc
|
| index 6d22232e525d13549a9a90808878987ff067850d..e83cb8ab87f6dd1231b2b5144db0d5f073fb10e0 100644
|
| --- a/chrome/browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc
|
| +++ b/chrome/browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/callback.h"
|
| #include "base/command_line.h"
|
| #include "base/macros.h"
|
| +#include "base/strings/stringprintf.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/chromeos/login/helper.h"
|
| #include "chrome/browser/chromeos/net/network_portal_detector_test_impl.h"
|
| @@ -167,10 +168,11 @@ class NetworkingPrivateChromeOSApiTest : public ExtensionApiTest {
|
| service_test_(nullptr),
|
| device_test_(nullptr) {}
|
|
|
| - bool RunNetworkingSubtest(const std::string& subtest) {
|
| - return RunExtensionSubtest("networking_private/chromeos",
|
| - "main.html?" + subtest,
|
| - kFlagEnableFileAccess | kFlagLoadAsComponent);
|
| + bool RunNetworkingSubtest(const std::string& test) {
|
| + const std::string arg =
|
| + base::StringPrintf("{\"test\": \"%s\"}", test.c_str());
|
| + return RunPlatformAppTestWithArg("networking_private/chromeos",
|
| + arg.c_str());
|
| }
|
|
|
| void SetUpInProcessBrowserTestFixture() override {
|
| @@ -259,6 +261,51 @@ class NetworkingPrivateChromeOSApiTest : public ExtensionApiTest {
|
| content::RunAllPendingInMessageLoop();
|
| }
|
|
|
| + void SetupPolicyControlledNetworks() {
|
| + // TODO(stevenjb): Find a better way to set this up on Chrome OS.
|
| + const std::string uidata_blob =
|
| + "{ \"user_settings\": {"
|
| + " \"WiFi\": {"
|
| + " \"Passphrase\": \"FAKE_CREDENTIAL_VPaJDV9x\" }"
|
| + " }"
|
| + "}";
|
| + service_test_->SetServiceProperty(kWifi2ServicePath, shill::kUIDataProperty,
|
| + base::StringValue(uidata_blob));
|
| + service_test_->SetServiceProperty(kWifi2ServicePath,
|
| + shill::kAutoConnectProperty,
|
| + base::FundamentalValue(false));
|
| +
|
| + // Update the profile entry.
|
| + profile_test_->AddService(kUser1ProfilePath, kWifi2ServicePath);
|
| +
|
| + content::RunAllPendingInMessageLoop();
|
| +
|
| + const std::string user_policy_blob =
|
| + "{ \"NetworkConfigurations\": ["
|
| + " { \"GUID\": \"stub_wifi2\","
|
| + " \"Type\": \"WiFi\","
|
| + " \"Name\": \"My WiFi Network\","
|
| + " \"WiFi\": {"
|
| + " \"HexSSID\": \"77696669325F50534B\"," // "wifi2_PSK"
|
| + " \"Passphrase\": \"passphrase\","
|
| + " \"Recommended\": [ \"AutoConnect\", \"Passphrase\" ],"
|
| + " \"Security\": \"WPA-PSK\" }"
|
| + " }"
|
| + " ],"
|
| + " \"Certificates\": [],"
|
| + " \"Type\": \"UnencryptedConfiguration\""
|
| + "}";
|
| +
|
| + policy::PolicyMap policy;
|
| + policy.Set(
|
| + policy::key::kOpenNetworkConfiguration, policy::POLICY_LEVEL_MANDATORY,
|
| + policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
|
| + base::WrapUnique(new base::StringValue(user_policy_blob)), nullptr);
|
| + provider_.UpdateChromePolicy(policy);
|
| +
|
| + content::RunAllPendingInMessageLoop();
|
| + }
|
| +
|
| void AddService(const std::string& service_path,
|
| const std::string& name,
|
| const std::string& type,
|
| @@ -537,6 +584,11 @@ IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest, GetStateNonExistent) {
|
| EXPECT_TRUE(RunNetworkingSubtest("getStateNonExistent")) << message_;
|
| }
|
|
|
| +IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest, GetManagedProperties) {
|
| + SetupPolicyControlledNetworks();
|
| + EXPECT_TRUE(RunNetworkingSubtest("getManagedProperties")) << message_;
|
| +}
|
| +
|
| IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest,
|
| SetCellularProperties) {
|
| SetupCellular();
|
| @@ -559,53 +611,6 @@ IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest, ForgetNetwork) {
|
| EXPECT_TRUE(RunNetworkingSubtest("forgetNetwork")) << message_;
|
| }
|
|
|
| -// TODO(stevenjb): Find a better way to set this up on Chrome OS.
|
| -IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest, GetManagedProperties) {
|
| - const std::string uidata_blob =
|
| - "{ \"user_settings\": {"
|
| - " \"WiFi\": {"
|
| - " \"Passphrase\": \"FAKE_CREDENTIAL_VPaJDV9x\" }"
|
| - " }"
|
| - "}";
|
| - service_test_->SetServiceProperty(kWifi2ServicePath, shill::kUIDataProperty,
|
| - base::StringValue(uidata_blob));
|
| - service_test_->SetServiceProperty(kWifi2ServicePath,
|
| - shill::kAutoConnectProperty,
|
| - base::FundamentalValue(false));
|
| -
|
| - // Update the profile entry.
|
| - profile_test_->AddService(kUser1ProfilePath, kWifi2ServicePath);
|
| -
|
| - content::RunAllPendingInMessageLoop();
|
| -
|
| - const std::string user_policy_blob =
|
| - "{ \"NetworkConfigurations\": ["
|
| - " { \"GUID\": \"stub_wifi2\","
|
| - " \"Type\": \"WiFi\","
|
| - " \"Name\": \"My WiFi Network\","
|
| - " \"WiFi\": {"
|
| - " \"HexSSID\": \"77696669325F50534B\"," // "wifi2_PSK"
|
| - " \"Passphrase\": \"passphrase\","
|
| - " \"Recommended\": [ \"AutoConnect\", \"Passphrase\" ],"
|
| - " \"Security\": \"WPA-PSK\" }"
|
| - " }"
|
| - " ],"
|
| - " \"Certificates\": [],"
|
| - " \"Type\": \"UnencryptedConfiguration\""
|
| - "}";
|
| -
|
| - policy::PolicyMap policy;
|
| - policy.Set(
|
| - policy::key::kOpenNetworkConfiguration, policy::POLICY_LEVEL_MANDATORY,
|
| - policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
|
| - base::WrapUnique(new base::StringValue(user_policy_blob)), nullptr);
|
| - provider_.UpdateChromePolicy(policy);
|
| -
|
| - content::RunAllPendingInMessageLoop();
|
| -
|
| - EXPECT_TRUE(RunNetworkingSubtest("getManagedProperties")) << message_;
|
| -}
|
| -
|
| IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest, GetErrorState) {
|
| chromeos::NetworkHandler::Get()->network_state_handler()->SetLastErrorForTest(
|
| kWifi1ServicePath, "TestErrorState");
|
| @@ -713,4 +718,11 @@ IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest, CellularSimPuk) {
|
| EXPECT_TRUE(RunNetworkingSubtest("cellularSimPuk")) << message_;
|
| }
|
|
|
| +// Tests subset of networking API for the networking API alias - to verify that
|
| +// using API methods and event does not cause access exceptions (due to
|
| +// missing permissions).
|
| +IN_PROC_BROWSER_TEST_F(NetworkingPrivateChromeOSApiTest, Alias) {
|
| + EXPECT_TRUE(RunPlatformAppTest("networking_private/alias")) << message_;
|
| +}
|
| +
|
| } // namespace
|
|
|