| Index: chrome/browser/chromeos/proxy_config_service_impl_unittest.cc
|
| ===================================================================
|
| --- chrome/browser/chromeos/proxy_config_service_impl_unittest.cc (revision 103881)
|
| +++ chrome/browser/chromeos/proxy_config_service_impl_unittest.cc (working copy)
|
| @@ -39,7 +39,6 @@
|
|
|
| // Shortcuts to declare enums within chromeos's ProxyConfig.
|
| #define MK_MODE(mode) ProxyConfigServiceImpl::ProxyConfig::MODE_##mode
|
| -#define MK_SRC(src) ProxyConfigServiceImpl::ProxyConfig::SOURCE_##src
|
| #define MK_SCHM(scheme) net::ProxyServer::SCHEME_##scheme
|
|
|
| // Inspired from net/proxy/proxy_config_service_linux_unittest.cc.
|
| @@ -48,7 +47,6 @@
|
| std::string description;
|
|
|
| bool is_valid;
|
| - bool test_read_write_access;
|
|
|
| Input input;
|
|
|
| @@ -61,7 +59,6 @@
|
| TEST_DESC("No proxying"),
|
|
|
| true, // is_valid
|
| - true, // test_read_write_access
|
|
|
| { // Input.
|
| MK_MODE(DIRECT), // mode
|
| @@ -77,7 +74,6 @@
|
| TEST_DESC("Auto detect"),
|
|
|
| true, // is_valid
|
| - true, // test_read_write_access
|
|
|
| { // Input.
|
| MK_MODE(AUTO_DETECT), // mode
|
| @@ -93,7 +89,6 @@
|
| TEST_DESC("Valid PAC URL"),
|
|
|
| true, // is_valid
|
| - true, // test_read_write_access
|
|
|
| { // Input.
|
| MK_MODE(PAC_SCRIPT), // mode
|
| @@ -110,7 +105,6 @@
|
| TEST_DESC("Invalid PAC URL"),
|
|
|
| false, // is_valid
|
| - false, // test_read_write_access
|
|
|
| { // Input.
|
| MK_MODE(PAC_SCRIPT), // mode
|
| @@ -127,7 +121,6 @@
|
| TEST_DESC("Single-host in proxy list"),
|
|
|
| true, // is_valid
|
| - true, // test_read_write_access
|
|
|
| { // Input.
|
| MK_MODE(SINGLE_PROXY), // mode
|
| @@ -147,7 +140,6 @@
|
| TEST_DESC("Single-host, different port"),
|
|
|
| true, // is_valid
|
| - false, // test_read_write_access
|
|
|
| { // Input.
|
| MK_MODE(SINGLE_PROXY), // mode
|
| @@ -167,7 +159,6 @@
|
| TEST_DESC("Tolerate a scheme"),
|
|
|
| true, // is_valid
|
| - false, // test_read_write_access
|
|
|
| { // Input.
|
| MK_MODE(SINGLE_PROXY), // mode
|
| @@ -187,7 +178,6 @@
|
| TEST_DESC("Per-scheme proxy rules"),
|
|
|
| true, // is_valid
|
| - true, // test_read_write_access
|
|
|
| { // Input.
|
| MK_MODE(PROXY_PER_SCHEME), // mode
|
| @@ -214,7 +204,6 @@
|
| TEST_DESC("Bypass rules"),
|
|
|
| true, // is_valid
|
| - true, // test_read_write_access
|
|
|
| { // Input.
|
| MK_MODE(SINGLE_PROXY), // mode
|
| @@ -256,19 +245,16 @@
|
|
|
| void SetAutomaticProxy(
|
| ProxyConfigServiceImpl::ProxyConfig::Mode mode,
|
| - ProxyConfigServiceImpl::ProxyConfig::Source source,
|
| const char* pac_url,
|
| ProxyConfigServiceImpl::ProxyConfig* config,
|
| ProxyConfigServiceImpl::ProxyConfig::AutomaticProxy* automatic_proxy) {
|
| config->mode = mode;
|
| - automatic_proxy->source = source;
|
| if (pac_url)
|
| automatic_proxy->pac_url = GURL(pac_url);
|
| }
|
|
|
| void SetManualProxy(
|
| ProxyConfigServiceImpl::ProxyConfig::Mode mode,
|
| - ProxyConfigServiceImpl::ProxyConfig::Source source,
|
| const char* server_uri,
|
| net::ProxyServer::Scheme scheme,
|
| ProxyConfigServiceImpl::ProxyConfig* config,
|
| @@ -276,32 +262,30 @@
|
| if (!server_uri)
|
| return;
|
| config->mode = mode;
|
| - manual_proxy->source = source;
|
| manual_proxy->server = net::ProxyServer::FromURI(server_uri, scheme);
|
| }
|
|
|
| void InitConfigWithTestInput(
|
| - const Input& input, ProxyConfigServiceImpl::ProxyConfig::Source source,
|
| - ProxyConfigServiceImpl::ProxyConfig* init_config) {
|
| + const Input& input, ProxyConfigServiceImpl::ProxyConfig* init_config) {
|
| switch (input.mode) {
|
| case MK_MODE(DIRECT):
|
| case MK_MODE(AUTO_DETECT):
|
| case MK_MODE(PAC_SCRIPT):
|
| - SetAutomaticProxy(input.mode, source, input.pac_url, init_config,
|
| + SetAutomaticProxy(input.mode, input.pac_url, init_config,
|
| &init_config->automatic_proxy);
|
| return;
|
| case MK_MODE(SINGLE_PROXY):
|
| - SetManualProxy(input.mode, source, input.single_uri, MK_SCHM(HTTP),
|
| + SetManualProxy(input.mode, input.single_uri, MK_SCHM(HTTP),
|
| init_config, &init_config->single_proxy);
|
| break;
|
| case MK_MODE(PROXY_PER_SCHEME):
|
| - SetManualProxy(input.mode, source, input.http_uri, MK_SCHM(HTTP),
|
| + SetManualProxy(input.mode, input.http_uri, MK_SCHM(HTTP),
|
| init_config, &init_config->http_proxy);
|
| - SetManualProxy(input.mode, source, input.https_uri, MK_SCHM(HTTPS),
|
| + SetManualProxy(input.mode, input.https_uri, MK_SCHM(HTTPS),
|
| init_config, &init_config->https_proxy);
|
| - SetManualProxy(input.mode, source, input.ftp_uri, MK_SCHM(HTTP),
|
| + SetManualProxy(input.mode, input.ftp_uri, MK_SCHM(HTTP),
|
| init_config, &init_config->ftp_proxy);
|
| - SetManualProxy(input.mode, source, input.socks_uri, MK_SCHM(SOCKS5),
|
| + SetManualProxy(input.mode, input.socks_uri, MK_SCHM(SOCKS5),
|
| init_config, &init_config->socks_proxy);
|
| break;
|
| }
|
| @@ -310,90 +294,6 @@
|
| }
|
| }
|
|
|
| - void TestReadWriteAccessForMode(const Input& input,
|
| - ProxyConfigServiceImpl::ProxyConfig::Source source) {
|
| - // Init config from |source|.
|
| - ProxyConfigServiceImpl::ProxyConfig init_config;
|
| - InitConfigWithTestInput(input, source, &init_config);
|
| - CreateConfigService(init_config);
|
| -
|
| - ProxyConfigServiceImpl::ProxyConfig config;
|
| - config_service()->UIGetProxyConfig(&config);
|
| -
|
| - // For owner, write access to config should be equal CanBeWrittenByOwner().
|
| - // For non-owner, config is never writeable.
|
| - bool expected_writeable_by_owner = CanBeWrittenByOwner(source);
|
| - if (config.mode == MK_MODE(PROXY_PER_SCHEME)) {
|
| - if (input.http_uri) {
|
| - EXPECT_EQ(expected_writeable_by_owner,
|
| - config.CanBeWrittenByUser(true, "http"));
|
| - EXPECT_FALSE(config.CanBeWrittenByUser(false, "http"));
|
| - }
|
| - if (input.https_uri) {
|
| - EXPECT_EQ(expected_writeable_by_owner,
|
| - config.CanBeWrittenByUser(true, "http"));
|
| - EXPECT_FALSE(config.CanBeWrittenByUser(false, "https"));
|
| - }
|
| - if (input.ftp_uri) {
|
| - EXPECT_EQ(expected_writeable_by_owner,
|
| - config.CanBeWrittenByUser(true, "http"));
|
| - EXPECT_FALSE(config.CanBeWrittenByUser(false, "ftp"));
|
| - }
|
| - if (input.socks_uri) {
|
| - EXPECT_EQ(expected_writeable_by_owner,
|
| - config.CanBeWrittenByUser(true, "http"));
|
| - EXPECT_FALSE(config.CanBeWrittenByUser(false, "socks"));
|
| - }
|
| - } else {
|
| - EXPECT_EQ(expected_writeable_by_owner,
|
| - config.CanBeWrittenByUser(true, std::string()));
|
| - EXPECT_FALSE(config.CanBeWrittenByUser(false, std::string()));
|
| - }
|
| - }
|
| -
|
| - void TestReadWriteAccessForScheme(
|
| - ProxyConfigServiceImpl::ProxyConfig::Source source,
|
| - const char* server_uri,
|
| - const std::string& scheme) {
|
| - // Init with manual |scheme| proxy.
|
| - ProxyConfigServiceImpl::ProxyConfig init_config;
|
| - ProxyConfigServiceImpl::ProxyConfig::ManualProxy* proxy =
|
| - init_config.MapSchemeToProxy(scheme);
|
| - net::ProxyServer::Scheme net_scheme = MK_SCHM(HTTP);
|
| - if (scheme == "http" || scheme == "ftp")
|
| - net_scheme = MK_SCHM(HTTP);
|
| - else if (scheme == "https")
|
| - net_scheme = MK_SCHM(HTTPS);
|
| - else if (scheme == "socks")
|
| - net_scheme = MK_SCHM(SOCKS4);
|
| - SetManualProxy(MK_MODE(PROXY_PER_SCHEME), source, server_uri, net_scheme,
|
| - &init_config, proxy);
|
| - CreateConfigService(init_config);
|
| -
|
| - ProxyConfigServiceImpl::ProxyConfig config;
|
| - config_service()->UIGetProxyConfig(&config);
|
| -
|
| - // For owner, write access to config should be equal CanBeWrittenByOwner().
|
| - // For non-owner, config is never writeable.
|
| - bool expected_writeable_by_owner = CanBeWrittenByOwner(source);
|
| - EXPECT_EQ(expected_writeable_by_owner,
|
| - config.CanBeWrittenByUser(true, scheme));
|
| - EXPECT_FALSE(config.CanBeWrittenByUser(false, scheme));
|
| -
|
| - const char* all_schemes[] = {
|
| - "http", "https", "ftp", "socks",
|
| - };
|
| -
|
| - // Rest of protos should be writeable by owner, but not writeable by
|
| - // non-owner.
|
| - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(all_schemes); ++i) {
|
| - if (scheme == all_schemes[i])
|
| - continue;
|
| - EXPECT_TRUE(config.CanBeWrittenByUser(true, all_schemes[i]));
|
| - EXPECT_FALSE(config.CanBeWrittenByUser(false, all_schemes[i]));
|
| - }
|
| - }
|
| -
|
| // Synchronously gets the latest proxy config.
|
| bool SyncGetLatestProxyConfig(net::ProxyConfig* config) {
|
| // Let message loop process all messages.
|
| @@ -408,11 +308,6 @@
|
| }
|
|
|
| private:
|
| - bool CanBeWrittenByOwner(
|
| - ProxyConfigServiceImpl::ProxyConfig::Source source) const {
|
| - return source == MK_SRC(POLICY) ? false : true;
|
| - }
|
| -
|
| ScopedStubCrosEnabler stub_cros_enabler_;
|
| MessageLoop message_loop_;
|
| BrowserThread ui_thread_;
|
| @@ -427,7 +322,7 @@
|
| tests[i].description.c_str()));
|
|
|
| ProxyConfigServiceImpl::ProxyConfig init_config;
|
| - InitConfigWithTestInput(tests[i].input, MK_SRC(OWNER), &init_config);
|
| + InitConfigWithTestInput(tests[i].input, &init_config);
|
| CreateConfigService(init_config);
|
|
|
| net::ProxyConfig config;
|
| @@ -446,7 +341,7 @@
|
|
|
| // Init with direct.
|
| ProxyConfigServiceImpl::ProxyConfig init_config;
|
| - SetAutomaticProxy(MK_MODE(DIRECT), MK_SRC(OWNER), NULL, &init_config,
|
| + SetAutomaticProxy(MK_MODE(DIRECT), NULL, &init_config,
|
| &init_config.automatic_proxy);
|
| CreateConfigService(init_config);
|
|
|
| @@ -566,7 +461,7 @@
|
|
|
| // Init with direct.
|
| ProxyConfigServiceImpl::ProxyConfig init_config;
|
| - SetAutomaticProxy(MK_MODE(DIRECT), MK_SRC(OWNER), NULL, &init_config,
|
| + SetAutomaticProxy(MK_MODE(DIRECT), NULL, &init_config,
|
| &init_config.automatic_proxy);
|
| CreateConfigService(init_config);
|
|
|
| @@ -593,7 +488,7 @@
|
| tests[i].description.c_str()));
|
|
|
| ProxyConfigServiceImpl::ProxyConfig source_config;
|
| - InitConfigWithTestInput(tests[i].input, MK_SRC(OWNER), &source_config);
|
| + InitConfigWithTestInput(tests[i].input, &source_config);
|
|
|
| // Serialize source_config into std::string.
|
| std::string serialized_value;
|
| @@ -623,43 +518,4 @@
|
| }
|
| }
|
|
|
| -TEST_F(ProxyConfigServiceImplTest, ReadWriteAccessForPolicySource) {
|
| - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
|
| - if (!tests[i].test_read_write_access)
|
| - continue;
|
| - SCOPED_TRACE(StringPrintf("Test[%" PRIuS "] %s", i,
|
| - tests[i].description.c_str()));
|
| - TestReadWriteAccessForMode(tests[i].input, MK_SRC(POLICY));
|
| - }
|
| -}
|
| -
|
| -TEST_F(ProxyConfigServiceImplTest, ReadWriteAccessForOwnerSource) {
|
| - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
|
| - if (!tests[i].test_read_write_access)
|
| - continue;
|
| - SCOPED_TRACE(StringPrintf("Test[%" PRIuS "] %s", i,
|
| - tests[i].description.c_str()));
|
| - TestReadWriteAccessForMode(tests[i].input, MK_SRC(OWNER));
|
| - }
|
| -}
|
| -
|
| -TEST_F(ProxyConfigServiceImplTest, ReadWriteAccessForMixedSchemes) {
|
| - const char* http_uri = "www.google.com:80";
|
| - const char* https_uri = "www.foo.com:110";
|
| - const char* ftp_uri = "ftp.foo.com:121";
|
| - const char* socks_uri = "socks.com:888";
|
| -
|
| - // Init with policy source.
|
| - TestReadWriteAccessForScheme(MK_SRC(POLICY), http_uri, "http");
|
| - TestReadWriteAccessForScheme(MK_SRC(POLICY), https_uri, "https");
|
| - TestReadWriteAccessForScheme(MK_SRC(POLICY), ftp_uri, "ftp");
|
| - TestReadWriteAccessForScheme(MK_SRC(POLICY), socks_uri, "socks");
|
| -
|
| - // Init with owner source.
|
| - TestReadWriteAccessForScheme(MK_SRC(OWNER), http_uri, "http");
|
| - TestReadWriteAccessForScheme(MK_SRC(OWNER), https_uri, "https");
|
| - TestReadWriteAccessForScheme(MK_SRC(OWNER), ftp_uri, "ftp");
|
| - TestReadWriteAccessForScheme(MK_SRC(OWNER), socks_uri, "socks");
|
| -}
|
| -
|
| } // namespace chromeos
|
|
|