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 |