| Index: chrome/browser/chromeos/proxy_config_service_impl_unittest.cc
|
| diff --git a/chrome/browser/chromeos/proxy_config_service_impl_unittest.cc b/chrome/browser/chromeos/proxy_config_service_impl_unittest.cc
|
| index 614c8c769cf5a3922268010544853bb7e4a87ab3..c4a8d1748262b07df5fc333a904eb69feda4ea1e 100644
|
| --- a/chrome/browser/chromeos/proxy_config_service_impl_unittest.cc
|
| +++ b/chrome/browser/chromeos/proxy_config_service_impl_unittest.cc
|
| @@ -4,24 +4,27 @@
|
|
|
| #include "chrome/browser/chromeos/proxy_config_service_impl.h"
|
|
|
| -#include <map>
|
| -#include <string>
|
| #include <vector>
|
|
|
| #include "base/format_macros.h"
|
| +#include "base/json/json_writer.h"
|
| #include "base/logging.h"
|
| #include "base/message_loop.h"
|
| #include "base/prefs/testing_pref_service.h"
|
| -#include "base/string_util.h"
|
| #include "base/stringprintf.h"
|
| -#include "chrome/browser/chromeos/cros/cros_library.h"
|
| #include "chrome/browser/chromeos/settings/cros_settings.h"
|
| #include "chrome/browser/chromeos/settings/device_settings_service.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "chromeos/dbus/dbus_thread_manager.h"
|
| +#include "chromeos/dbus/shill_profile_client.h"
|
| +#include "chromeos/dbus/shill_service_client.h"
|
| +#include "chromeos/network/network_profile_handler.h"
|
| +#include "chromeos/network/network_state.h"
|
| +#include "chromeos/network/network_state_handler.h"
|
| #include "content/public/test/test_browser_thread.h"
|
| #include "net/proxy/proxy_config_service_common_unittest.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| +#include "third_party/cros_system_api/dbus/service_constants.h"
|
|
|
| using content::BrowserThread;
|
|
|
| @@ -29,32 +32,24 @@ namespace chromeos {
|
|
|
| namespace {
|
|
|
| -struct Input { // Fields of chromeos::ProxyConfigServiceImpl::ProxyConfig.
|
| - ProxyConfigServiceImpl::ProxyConfig::Mode mode;
|
| - const char* pac_url;
|
| - const char* single_uri;
|
| - const char* http_uri;
|
| - const char* https_uri;
|
| - const char* ftp_uri;
|
| - const char* socks_uri;
|
| - const char* bypass_rules;
|
| +struct Input {
|
| + UIProxyConfig::Mode mode;
|
| + std::string pac_url;
|
| + std::string server;
|
| + std::string bypass_rules;
|
| };
|
|
|
| // Builds an identifier for each test in an array.
|
| #define TEST_DESC(desc) base::StringPrintf("at line %d <%s>", __LINE__, desc)
|
|
|
| // Shortcuts to declare enums within chromeos's ProxyConfig.
|
| -#define MK_MODE(mode) ProxyConfigServiceImpl::ProxyConfig::MODE_##mode
|
| -#define MK_SCHM(scheme) net::ProxyServer::SCHEME_##scheme
|
| -#define MK_AVAIL(avail) net::ProxyConfigService::CONFIG_##avail
|
| +#define MK_MODE(mode) UIProxyConfig::MODE_##mode
|
|
|
| // Inspired from net/proxy/proxy_config_service_linux_unittest.cc.
|
| const struct TestParams {
|
| // Short description to identify the test
|
| std::string description;
|
|
|
| - bool is_valid;
|
| -
|
| Input input;
|
|
|
| // Expected outputs from fields of net::ProxyConfig (via IO).
|
| @@ -65,8 +60,6 @@ const struct TestParams {
|
| { // 0
|
| TEST_DESC("No proxying"),
|
|
|
| - true, // is_valid
|
| -
|
| { // Input.
|
| MK_MODE(DIRECT), // mode
|
| },
|
| @@ -80,8 +73,6 @@ const struct TestParams {
|
| { // 1
|
| TEST_DESC("Auto detect"),
|
|
|
| - true, // is_valid
|
| -
|
| { // Input.
|
| MK_MODE(AUTO_DETECT), // mode
|
| },
|
| @@ -95,8 +86,6 @@ const struct TestParams {
|
| { // 2
|
| TEST_DESC("Valid PAC URL"),
|
|
|
| - true, // is_valid
|
| -
|
| { // Input.
|
| MK_MODE(PAC_SCRIPT), // mode
|
| "http://wpad/wpad.dat", // pac_url
|
| @@ -111,8 +100,6 @@ const struct TestParams {
|
| { // 3
|
| TEST_DESC("Invalid PAC URL"),
|
|
|
| - false, // is_valid
|
| -
|
| { // Input.
|
| MK_MODE(PAC_SCRIPT), // mode
|
| "wpad.dat", // pac_url
|
| @@ -127,12 +114,10 @@ const struct TestParams {
|
| { // 4
|
| TEST_DESC("Single-host in proxy list"),
|
|
|
| - true, // is_valid
|
| -
|
| { // Input.
|
| MK_MODE(SINGLE_PROXY), // mode
|
| - NULL, // pac_url
|
| - "www.google.com", // single_uri
|
| + "", // pac_url
|
| + "www.google.com", // server
|
| },
|
|
|
| // Expected result.
|
| @@ -146,12 +131,10 @@ const struct TestParams {
|
| { // 5
|
| TEST_DESC("Single-host, different port"),
|
|
|
| - true, // is_valid
|
| -
|
| { // Input.
|
| MK_MODE(SINGLE_PROXY), // mode
|
| - NULL, // pac_url
|
| - "www.google.com:99", // single_uri
|
| + "", // pac_url
|
| + "www.google.com:99", // server
|
| },
|
|
|
| // Expected result.
|
| @@ -165,12 +148,10 @@ const struct TestParams {
|
| { // 6
|
| TEST_DESC("Tolerate a scheme"),
|
|
|
| - true, // is_valid
|
| -
|
| { // Input.
|
| MK_MODE(SINGLE_PROXY), // mode
|
| - NULL, // pac_url
|
| - "http://www.google.com:99", // single_uri
|
| + "", // pac_url
|
| + "http://www.google.com:99", // server
|
| },
|
|
|
| // Expected result.
|
| @@ -184,16 +165,11 @@ const struct TestParams {
|
| { // 7
|
| TEST_DESC("Per-scheme proxy rules"),
|
|
|
| - true, // is_valid
|
| -
|
| { // Input.
|
| MK_MODE(PROXY_PER_SCHEME), // mode
|
| - NULL, // pac_url
|
| - NULL, // single_uri
|
| - "www.google.com:80", // http_uri
|
| - "www.foo.com:110", // https_uri
|
| - "ftp.foo.com:121", // ftp_uri
|
| - "socks.com:888", // socks_uri
|
| + "", // pac_url
|
| + "http=www.google.com:80;https=https://www.foo.com:110;"
|
| + "ftp=ftp.foo.com:121;socks=socks5://socks.com:888", // server
|
| },
|
|
|
| // Expected result.
|
| @@ -210,13 +186,10 @@ const struct TestParams {
|
| { // 8
|
| TEST_DESC("Bypass rules"),
|
|
|
| - true, // is_valid
|
| -
|
| { // Input.
|
| MK_MODE(SINGLE_PROXY), // mode
|
| - NULL, // pac_url
|
| - "www.google.com", // single_uri
|
| - NULL, NULL, NULL, NULL, // per-proto
|
| + "", // pac_url
|
| + "www.google.com", // server
|
| "*.google.com, *foo.com:99, 1.2.3.4:22, 127.0.0.1/8", // bypass_rules
|
| },
|
|
|
| @@ -230,20 +203,27 @@ const struct TestParams {
|
| },
|
| }; // tests
|
|
|
| -template<typename TESTBASE>
|
| -class ProxyConfigServiceImplTestBase : public TESTBASE {
|
| +const char* kUserProfilePath = "user_profile";
|
| +
|
| +} // namespace
|
| +
|
| +class ProxyConfigServiceImplTest : public testing::Test {
|
| protected:
|
| - ProxyConfigServiceImplTestBase()
|
| + ProxyConfigServiceImplTest()
|
| : ui_thread_(BrowserThread::UI, &loop_),
|
| io_thread_(BrowserThread::IO, &loop_) {}
|
|
|
| - virtual void Init(TestingPrefServiceSimple* pref_service) {
|
| - ASSERT_TRUE(pref_service);
|
| - DBusThreadManager::Initialize();
|
| - PrefProxyConfigTrackerImpl::RegisterPrefs(pref_service->registry());
|
| - ProxyConfigServiceImpl::RegisterPrefs(pref_service->registry());
|
| + virtual void SetUp() {
|
| + DBusThreadManager::InitializeWithStub();
|
| + NetworkStateHandler::Initialize();
|
| + NetworkProfileHandler::Initialize();
|
| +
|
| + SetUpNetwork();
|
| +
|
| + PrefProxyConfigTrackerImpl::RegisterPrefs(pref_service_.registry());
|
| + ProxyConfigServiceImpl::RegisterPrefs(pref_service_.registry());
|
| proxy_config_service_.reset(new ChromeProxyConfigService(NULL));
|
| - config_service_impl_.reset(new ProxyConfigServiceImpl(pref_service));
|
| + config_service_impl_.reset(new ProxyConfigServiceImpl(&pref_service_));
|
| config_service_impl_->SetChromeProxyConfigService(
|
| proxy_config_service_.get());
|
| // SetChromeProxyConfigService triggers update of initial prefs proxy
|
| @@ -252,112 +232,116 @@ class ProxyConfigServiceImplTestBase : public TESTBASE {
|
| loop_.RunUntilIdle();
|
| }
|
|
|
| + void SetUpNetwork() {
|
| + ShillProfileClient::TestInterface* profile_test =
|
| + DBusThreadManager::Get()->GetShillProfileClient()->GetTestInterface();
|
| + ShillServiceClient::TestInterface* service_test =
|
| + DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface();
|
| +
|
| + service_test->ClearServices();
|
| +
|
| + // Sends a notification about the added profile.
|
| + profile_test->AddProfile(kUserProfilePath, "user_hash");
|
| +
|
| + service_test->AddService("stub_wifi2", "wifi2_PSK",
|
| + flimflam::kTypeWifi, flimflam::kStateOnline,
|
| + true /* add to watchlist */);
|
| + service_test->SetServiceProperty("stub_wifi2",
|
| + flimflam::kGuidProperty,
|
| + base::StringValue("stub_wifi2"));
|
| + service_test->SetServiceProperty("stub_wifi2",
|
| + flimflam::kProfileProperty,
|
| + base::StringValue(kUserProfilePath));
|
| + profile_test->AddService("stub_wifi2");
|
| +
|
| + loop_.RunUntilIdle();
|
| + }
|
| +
|
| virtual void TearDown() {
|
| config_service_impl_->DetachFromPrefService();
|
| loop_.RunUntilIdle();
|
| config_service_impl_.reset();
|
| proxy_config_service_.reset();
|
| + NetworkProfileHandler::Shutdown();
|
| + NetworkStateHandler::Shutdown();
|
| DBusThreadManager::Shutdown();
|
| }
|
|
|
| - void SetAutomaticProxy(
|
| - ProxyConfigServiceImpl::ProxyConfig::Mode mode,
|
| - const char* pac_url,
|
| - ProxyConfigServiceImpl::ProxyConfig* config,
|
| - ProxyConfigServiceImpl::ProxyConfig::AutomaticProxy* automatic_proxy) {
|
| - config->mode = mode;
|
| - config->state = ProxyPrefs::CONFIG_SYSTEM;
|
| - if (pac_url)
|
| - automatic_proxy->pac_url = GURL(pac_url);
|
| - }
|
| -
|
| - void SetManualProxy(
|
| - ProxyConfigServiceImpl::ProxyConfig::Mode mode,
|
| - const char* server_uri,
|
| - net::ProxyServer::Scheme scheme,
|
| - ProxyConfigServiceImpl::ProxyConfig* config,
|
| - ProxyConfigServiceImpl::ProxyConfig::ManualProxy* manual_proxy) {
|
| - if (!server_uri)
|
| - return;
|
| - config->mode = mode;
|
| - config->state = ProxyPrefs::CONFIG_SYSTEM;
|
| - manual_proxy->server = net::ProxyServer::FromURI(server_uri, scheme);
|
| - }
|
| -
|
| - void InitConfigWithTestInput(
|
| - const Input& input, ProxyConfigServiceImpl::ProxyConfig* test_config) {
|
| + void InitConfigWithTestInput(const Input& input,
|
| + base::DictionaryValue* result) {
|
| + base::DictionaryValue* new_config;
|
| switch (input.mode) {
|
| case MK_MODE(DIRECT):
|
| + new_config = ProxyConfigDictionary::CreateDirect();
|
| + break;
|
| case MK_MODE(AUTO_DETECT):
|
| + new_config = ProxyConfigDictionary::CreateAutoDetect();
|
| + break;
|
| case MK_MODE(PAC_SCRIPT):
|
| - SetAutomaticProxy(input.mode, input.pac_url, test_config,
|
| - &test_config->automatic_proxy);
|
| - return;
|
| - case MK_MODE(SINGLE_PROXY):
|
| - SetManualProxy(input.mode, input.single_uri, MK_SCHM(HTTP),
|
| - test_config, &test_config->single_proxy);
|
| + new_config =
|
| + ProxyConfigDictionary::CreatePacScript(input.pac_url, false);
|
| break;
|
| + case MK_MODE(SINGLE_PROXY):
|
| case MK_MODE(PROXY_PER_SCHEME):
|
| - SetManualProxy(input.mode, input.http_uri, MK_SCHM(HTTP),
|
| - test_config, &test_config->http_proxy);
|
| - SetManualProxy(input.mode, input.https_uri, MK_SCHM(HTTPS),
|
| - test_config, &test_config->https_proxy);
|
| - SetManualProxy(input.mode, input.ftp_uri, MK_SCHM(HTTP),
|
| - test_config, &test_config->ftp_proxy);
|
| - SetManualProxy(input.mode, input.socks_uri, MK_SCHM(SOCKS5),
|
| - test_config, &test_config->socks_proxy);
|
| + new_config =
|
| + ProxyConfigDictionary::CreateFixedServers(input.server,
|
| + input.bypass_rules);
|
| break;
|
| }
|
| - if (input.bypass_rules)
|
| - test_config->bypass_rules.ParseFromString(input.bypass_rules);
|
| + result->Swap(new_config);
|
| + delete new_config;
|
| + }
|
| +
|
| + void SetConfig(base::DictionaryValue* pref_proxy_config_dict) {
|
| + std::string proxy_config;
|
| + if (pref_proxy_config_dict)
|
| + base::JSONWriter::Write(pref_proxy_config_dict, &proxy_config);
|
| +
|
| + NetworkStateHandler* network_state_handler = NetworkStateHandler::Get();
|
| + const NetworkState* network = network_state_handler->DefaultNetwork();
|
| + ASSERT_TRUE(network);
|
| + DBusThreadManager::Get()->GetShillServiceClient()->GetTestInterface()->
|
| + SetServiceProperty(network->path(),
|
| + flimflam::kProxyConfigProperty,
|
| + StringValue(proxy_config));
|
| }
|
|
|
| // Synchronously gets the latest proxy config.
|
| - net::ProxyConfigService::ConfigAvailability SyncGetLatestProxyConfig(
|
| - net::ProxyConfig* config) {
|
| + void SyncGetLatestProxyConfig(net::ProxyConfig* config) {
|
| *config = net::ProxyConfig();
|
| - // Let message loop process all messages.
|
| + // Let message loop process all messages. This will run
|
| + // ChromeProxyConfigService::UpdateProxyConfig, which is posted on IO from
|
| + // PrefProxyConfigTrackerImpl::OnProxyConfigChanged.
|
| loop_.RunUntilIdle();
|
| - // Calls ChromeProIOGetProxyConfig (which is called from
|
| - // ProxyConfigService::GetLatestProxyConfig), running on faked IO thread.
|
| - return proxy_config_service_->GetLatestProxyConfig(config);
|
| + net::ProxyConfigService::ConfigAvailability availability =
|
| + proxy_config_service_->GetLatestProxyConfig(config);
|
| +
|
| + EXPECT_EQ(net::ProxyConfigService::CONFIG_VALID, availability);
|
| }
|
|
|
| MessageLoop loop_;
|
| scoped_ptr<ChromeProxyConfigService> proxy_config_service_;
|
| scoped_ptr<ProxyConfigServiceImpl> config_service_impl_;
|
| + TestingPrefServiceSimple pref_service_;
|
|
|
| private:
|
| - // Default stub state has ethernet as the active connected network and
|
| - // PROFILE_SHARED as profile type, which this unittest expects.
|
| - ScopedStubCrosEnabler stub_cros_enabler_;
|
| ScopedTestDeviceSettingsService test_device_settings_service_;
|
| ScopedTestCrosSettings test_cros_settings_;
|
| content::TestBrowserThread ui_thread_;
|
| content::TestBrowserThread io_thread_;
|
| };
|
|
|
| -class ProxyConfigServiceImplTest
|
| - : public ProxyConfigServiceImplTestBase<testing::Test> {
|
| - protected:
|
| - virtual void SetUp() {
|
| - Init(&pref_service_);
|
| - }
|
| -
|
| - TestingPrefServiceSimple pref_service_;
|
| -};
|
| -
|
| TEST_F(ProxyConfigServiceImplTest, NetworkProxy) {
|
| for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
|
| SCOPED_TRACE(base::StringPrintf("Test[%" PRIuS "] %s", i,
|
| - tests[i].description.c_str()));
|
| + tests[i].description.c_str()));
|
|
|
| - ProxyConfigServiceImpl::ProxyConfig test_config;
|
| + base::DictionaryValue test_config;
|
| InitConfigWithTestInput(tests[i].input, &test_config);
|
| - config_service_impl_->SetTesting(&test_config);
|
| + SetConfig(&test_config);
|
|
|
| net::ProxyConfig config;
|
| - EXPECT_EQ(MK_AVAIL(VALID), SyncGetLatestProxyConfig(&config));
|
| + SyncGetLatestProxyConfig(&config);
|
|
|
| EXPECT_EQ(tests[i].auto_detect, config.auto_detect());
|
| EXPECT_EQ(tests[i].pac_url, config.pac_url());
|
| @@ -365,99 +349,6 @@ TEST_F(ProxyConfigServiceImplTest, NetworkProxy) {
|
| }
|
| }
|
|
|
| -TEST_F(ProxyConfigServiceImplTest, ModifyFromUI) {
|
| - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
|
| - SCOPED_TRACE(base::StringPrintf("Test[%" PRIuS "] %s", i,
|
| - tests[i].description.c_str()));
|
| -
|
| - // Init with direct.
|
| - ProxyConfigServiceImpl::ProxyConfig test_config;
|
| - SetAutomaticProxy(MK_MODE(DIRECT), NULL, &test_config,
|
| - &test_config.automatic_proxy);
|
| - config_service_impl_->SetTesting(&test_config);
|
| -
|
| - // Set config to tests[i].input via UI.
|
| - net::ProxyBypassRules bypass_rules;
|
| - const Input& input = tests[i].input;
|
| - switch (input.mode) {
|
| - case MK_MODE(DIRECT) :
|
| - config_service_impl_->UISetProxyConfigToDirect();
|
| - break;
|
| - case MK_MODE(AUTO_DETECT) :
|
| - config_service_impl_->UISetProxyConfigToAutoDetect();
|
| - break;
|
| - case MK_MODE(PAC_SCRIPT) :
|
| - config_service_impl_->UISetProxyConfigToPACScript(GURL(input.pac_url));
|
| - break;
|
| - case MK_MODE(SINGLE_PROXY) :
|
| - config_service_impl_->UISetProxyConfigToSingleProxy(
|
| - net::ProxyServer::FromURI(input.single_uri, MK_SCHM(HTTP)));
|
| - if (input.bypass_rules) {
|
| - bypass_rules.ParseFromString(input.bypass_rules);
|
| - config_service_impl_->UISetProxyConfigBypassRules(bypass_rules);
|
| - }
|
| - break;
|
| - case MK_MODE(PROXY_PER_SCHEME) :
|
| - if (input.http_uri) {
|
| - config_service_impl_->UISetProxyConfigToProxyPerScheme("http",
|
| - net::ProxyServer::FromURI(input.http_uri, MK_SCHM(HTTP)));
|
| - }
|
| - if (input.https_uri) {
|
| - config_service_impl_->UISetProxyConfigToProxyPerScheme("https",
|
| - net::ProxyServer::FromURI(input.https_uri, MK_SCHM(HTTPS)));
|
| - }
|
| - if (input.ftp_uri) {
|
| - config_service_impl_->UISetProxyConfigToProxyPerScheme("ftp",
|
| - net::ProxyServer::FromURI(input.ftp_uri, MK_SCHM(HTTP)));
|
| - }
|
| - if (input.socks_uri) {
|
| - config_service_impl_->UISetProxyConfigToProxyPerScheme("socks",
|
| - net::ProxyServer::FromURI(input.socks_uri, MK_SCHM(SOCKS5)));
|
| - }
|
| - if (input.bypass_rules) {
|
| - bypass_rules.ParseFromString(input.bypass_rules);
|
| - config_service_impl_->UISetProxyConfigBypassRules(bypass_rules);
|
| - }
|
| - break;
|
| - }
|
| -
|
| - // Retrieve config from IO thread.
|
| - net::ProxyConfig io_config;
|
| - EXPECT_EQ(MK_AVAIL(VALID), SyncGetLatestProxyConfig(&io_config));
|
| - EXPECT_EQ(tests[i].auto_detect, io_config.auto_detect());
|
| - EXPECT_EQ(tests[i].pac_url, io_config.pac_url());
|
| - EXPECT_TRUE(tests[i].proxy_rules.Matches(io_config.proxy_rules()));
|
| -
|
| - // Retrieve config from UI thread.
|
| - ProxyConfigServiceImpl::ProxyConfig ui_config;
|
| - config_service_impl_->UIGetProxyConfig(&ui_config);
|
| - EXPECT_EQ(input.mode, ui_config.mode);
|
| - if (tests[i].is_valid) {
|
| - if (input.pac_url)
|
| - EXPECT_EQ(GURL(input.pac_url), ui_config.automatic_proxy.pac_url);
|
| - const net::ProxyRulesExpectation& proxy_rules = tests[i].proxy_rules;
|
| - if (input.single_uri)
|
| - EXPECT_EQ(proxy_rules.single_proxy,
|
| - ui_config.single_proxy.server.ToURI());
|
| - if (input.http_uri)
|
| - EXPECT_EQ(proxy_rules.proxy_for_http,
|
| - ui_config.http_proxy.server.ToURI());
|
| - if (input.https_uri)
|
| - EXPECT_EQ(proxy_rules.proxy_for_https,
|
| - ui_config.https_proxy.server.ToURI());
|
| - if (input.ftp_uri)
|
| - EXPECT_EQ(proxy_rules.proxy_for_ftp,
|
| - ui_config.ftp_proxy.server.ToURI());
|
| - if (input.socks_uri) {
|
| - EXPECT_EQ(proxy_rules.fallback_proxy,
|
| - ui_config.socks_proxy.server.ToURI());
|
| - }
|
| - if (input.bypass_rules)
|
| - EXPECT_TRUE(bypass_rules.Equals(ui_config.bypass_rules));
|
| - }
|
| - }
|
| -}
|
| -
|
| TEST_F(ProxyConfigServiceImplTest, DynamicPrefsOverride) {
|
| // Groupings of 3 test inputs to use for managed, recommended and network
|
| // proxies respectively. Only valid and non-direct test inputs are used.
|
| @@ -494,22 +385,21 @@ TEST_F(ProxyConfigServiceImplTest, DynamicPrefsOverride) {
|
| recommended_params.description.c_str(),
|
| network_params.description.c_str()));
|
|
|
| - ProxyConfigServiceImpl::ProxyConfig managed_config;
|
| + base::DictionaryValue managed_config;
|
| InitConfigWithTestInput(managed_params.input, &managed_config);
|
| - ProxyConfigServiceImpl::ProxyConfig recommended_config;
|
| + base::DictionaryValue recommended_config;
|
| InitConfigWithTestInput(recommended_params.input, &recommended_config);
|
| - ProxyConfigServiceImpl::ProxyConfig network_config;
|
| + base::DictionaryValue network_config;
|
| InitConfigWithTestInput(network_params.input, &network_config);
|
|
|
| // Managed proxy pref should take effect over recommended proxy and
|
| // non-existent network proxy.
|
| - config_service_impl_->SetTesting(NULL);
|
| - pref_service_.SetManagedPref(prefs::kProxy,
|
| - managed_config.ToPrefProxyConfig());
|
| + SetConfig(NULL);
|
| + pref_service_.SetManagedPref(prefs::kProxy, managed_config.DeepCopy());
|
| pref_service_.SetRecommendedPref(prefs::kProxy,
|
| - recommended_config.ToPrefProxyConfig());
|
| + recommended_config.DeepCopy());
|
| net::ProxyConfig actual_config;
|
| - EXPECT_EQ(MK_AVAIL(VALID), SyncGetLatestProxyConfig(&actual_config));
|
| + SyncGetLatestProxyConfig(&actual_config);
|
| EXPECT_EQ(managed_params.auto_detect, actual_config.auto_detect());
|
| EXPECT_EQ(managed_params.pac_url, actual_config.pac_url());
|
| EXPECT_TRUE(managed_params.proxy_rules.Matches(
|
| @@ -518,24 +408,23 @@ TEST_F(ProxyConfigServiceImplTest, DynamicPrefsOverride) {
|
| // Recommended proxy pref should take effect when managed proxy pref is
|
| // removed.
|
| pref_service_.RemoveManagedPref(prefs::kProxy);
|
| - EXPECT_EQ(MK_AVAIL(VALID), SyncGetLatestProxyConfig(&actual_config));
|
| + SyncGetLatestProxyConfig(&actual_config);
|
| EXPECT_EQ(recommended_params.auto_detect, actual_config.auto_detect());
|
| EXPECT_EQ(recommended_params.pac_url, actual_config.pac_url());
|
| EXPECT_TRUE(recommended_params.proxy_rules.Matches(
|
| actual_config.proxy_rules()));
|
|
|
| // Network proxy should take take effect over recommended proxy pref.
|
| - config_service_impl_->SetTesting(&network_config);
|
| - EXPECT_EQ(MK_AVAIL(VALID), SyncGetLatestProxyConfig(&actual_config));
|
| + SetConfig(&network_config);
|
| + SyncGetLatestProxyConfig(&actual_config);
|
| EXPECT_EQ(network_params.auto_detect, actual_config.auto_detect());
|
| EXPECT_EQ(network_params.pac_url, actual_config.pac_url());
|
| EXPECT_TRUE(network_params.proxy_rules.Matches(
|
| actual_config.proxy_rules()));
|
|
|
| // Managed proxy pref should take effect over network proxy.
|
| - pref_service_.SetManagedPref(prefs::kProxy,
|
| - managed_config.ToPrefProxyConfig());
|
| - EXPECT_EQ(MK_AVAIL(VALID), SyncGetLatestProxyConfig(&actual_config));
|
| + pref_service_.SetManagedPref(prefs::kProxy, managed_config.DeepCopy());
|
| + SyncGetLatestProxyConfig(&actual_config);
|
| EXPECT_EQ(managed_params.auto_detect, actual_config.auto_detect());
|
| EXPECT_EQ(managed_params.pac_url, actual_config.pac_url());
|
| EXPECT_TRUE(managed_params.proxy_rules.Matches(
|
| @@ -544,7 +433,7 @@ TEST_F(ProxyConfigServiceImplTest, DynamicPrefsOverride) {
|
| // Network proxy should take effect over recommended proxy pref when managed
|
| // proxy pref is removed.
|
| pref_service_.RemoveManagedPref(prefs::kProxy);
|
| - EXPECT_EQ(MK_AVAIL(VALID), SyncGetLatestProxyConfig(&actual_config));
|
| + SyncGetLatestProxyConfig(&actual_config);
|
| EXPECT_EQ(network_params.auto_detect, actual_config.auto_detect());
|
| EXPECT_EQ(network_params.pac_url, actual_config.pac_url());
|
| EXPECT_TRUE(network_params.proxy_rules.Matches(
|
| @@ -552,7 +441,7 @@ TEST_F(ProxyConfigServiceImplTest, DynamicPrefsOverride) {
|
|
|
| // Removing recommended proxy pref should have no effect on network proxy.
|
| pref_service_.RemoveRecommendedPref(prefs::kProxy);
|
| - EXPECT_EQ(MK_AVAIL(VALID), SyncGetLatestProxyConfig(&actual_config));
|
| + SyncGetLatestProxyConfig(&actual_config);
|
| EXPECT_EQ(network_params.auto_detect, actual_config.auto_detect());
|
| EXPECT_EQ(network_params.pac_url, actual_config.pac_url());
|
| EXPECT_TRUE(network_params.proxy_rules.Matches(
|
| @@ -560,6 +449,4 @@ TEST_F(ProxyConfigServiceImplTest, DynamicPrefsOverride) {
|
| }
|
| }
|
|
|
| -} // namespace
|
| -
|
| } // namespace chromeos
|
|
|