Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator_unittest.cc |
diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator_unittest.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator_unittest.cc |
similarity index 53% |
rename from chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator_unittest.cc |
rename to components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator_unittest.cc |
index 797b680380270b52ad231ce1c9fde048d5fdae87..9b431a955956ede1cded07683c476d49029eb3f8 100644 |
--- a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator_unittest.cc |
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator_unittest.cc |
@@ -2,60 +2,54 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.h" |
+#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator.h" |
#include <string> |
#include "base/memory/scoped_ptr.h" |
-#include "base/prefs/pref_registry_simple.h" |
-#include "base/prefs/scoped_user_pref_update.h" |
-#include "base/prefs/testing_pref_service.h" |
#include "base/test/test_simple_task_runner.h" |
#include "base/values.h" |
-#include "chrome/common/pref_names.h" |
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_event_store.h" |
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h" |
#include "net/base/capturing_net_log.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
+namespace data_reduction_proxy { |
+ |
class DataReductionProxyConfigTest : public testing::Test { |
public: |
void SetUp() override { |
- PrefRegistrySimple* registry = pref_service_.registry(); |
- registry->RegisterDictionaryPref(prefs::kProxy); |
+ task_runner_ = new base::TestSimpleTaskRunner(); |
net_log_.reset(new net::CapturingNetLog()); |
data_reduction_proxy_event_store_.reset( |
- new data_reduction_proxy::DataReductionProxyEventStore( |
- new base::TestSimpleTaskRunner())); |
- config_.reset(new DataReductionProxyChromeConfigurator( |
- &pref_service_, |
- new base::TestSimpleTaskRunner(), |
- net_log_.get(), |
- data_reduction_proxy_event_store_.get())); |
+ new data_reduction_proxy::DataReductionProxyEventStore(task_runner_)); |
+ config_.reset( |
+ new DataReductionProxyConfigurator( |
+ task_runner_, net_log_.get(), |
+ data_reduction_proxy_event_store_.get())); |
} |
void CheckProxyConfig( |
- const std::string& expected_mode, |
- const std::string& expected_server, |
+ const net::ProxyConfig::ProxyRules::Type& expected_rules_type, |
+ const std::string& expected_http_proxies, |
+ const std::string& expected_https_proxies, |
const std::string& expected_bypass_list) { |
- |
- const base::DictionaryValue* dict = |
- pref_service_.GetDictionary(prefs::kProxy); |
- std::string mode; |
- std::string server; |
- std::string bypass_list; |
- dict->GetString("mode", &mode); |
- ASSERT_EQ(expected_mode, mode); |
- dict->GetString("server", &server); |
- ASSERT_EQ(expected_server, server); |
- dict->GetString("bypass_list", &bypass_list); |
- ASSERT_EQ(expected_bypass_list, bypass_list); |
+ task_runner_->RunUntilIdle(); |
+ const net::ProxyConfig::ProxyRules& rules = |
+ config_->GetProxyConfigOnIOThread().proxy_rules(); |
+ ASSERT_EQ(expected_rules_type, rules.type); |
+ if (net::ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME == |
+ expected_rules_type) { |
+ ASSERT_EQ(expected_http_proxies, rules.proxies_for_http.ToPacString()); |
+ ASSERT_EQ(expected_https_proxies, rules.proxies_for_https.ToPacString()); |
+ ASSERT_EQ(expected_bypass_list, rules.bypass_rules.ToString()); |
+ } |
} |
- scoped_ptr<DataReductionProxyChromeConfigurator> config_; |
- TestingPrefServiceSimple pref_service_; |
+ scoped_ptr<DataReductionProxyConfigurator> config_; |
scoped_ptr<net::NetLog> net_log_; |
+ scoped_refptr<base::TestSimpleTaskRunner> task_runner_; |
scoped_ptr<data_reduction_proxy::DataReductionProxyEventStore> |
data_reduction_proxy_event_store_; |
}; |
@@ -67,9 +61,9 @@ TEST_F(DataReductionProxyConfigTest, TestUnrestricted) { |
"http://www.bar.com:80/", |
""); |
CheckProxyConfig( |
- "fixed_servers", |
- "http=https://www.foo.com:443,http://www.bar.com:80,direct://;", |
- ""); |
+ net::ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
+ "HTTPS www.foo.com:443;PROXY www.bar.com:80;DIRECT", |
+ "", ""); |
} |
TEST_F(DataReductionProxyConfigTest, TestUnrestrictedSSL) { |
@@ -79,9 +73,9 @@ TEST_F(DataReductionProxyConfigTest, TestUnrestrictedSSL) { |
"http://www.bar.com:80/", |
"http://www.ssl.com:80/"); |
CheckProxyConfig( |
- "fixed_servers", |
- "http=https://www.foo.com:443,http://www.bar.com:80,direct://;" |
- "https=http://www.ssl.com:80,direct://;", |
+ net::ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
+ "HTTPS www.foo.com:443;PROXY www.bar.com:80;DIRECT", |
+ "PROXY www.ssl.com:80;DIRECT", |
""); |
} |
@@ -94,16 +88,15 @@ TEST_F(DataReductionProxyConfigTest, TestUnrestrictedWithBypassRule) { |
"http://www.bar.com:80/", |
""); |
CheckProxyConfig( |
- "fixed_servers", |
- "http=https://www.foo.com:443,http://www.bar.com:80,direct://;", |
- "<local>, *.goo.com"); |
+ net::ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
+ "HTTPS www.foo.com:443;PROXY www.bar.com:80;DIRECT", "", |
+ "<local>;*.goo.com;"); |
} |
TEST_F(DataReductionProxyConfigTest, TestUnrestrictedWithoutFallback) { |
config_->Enable(false, false, "https://www.foo.com:443/", "", ""); |
- CheckProxyConfig("fixed_servers", |
- "http=https://www.foo.com:443,direct://;", |
- ""); |
+ CheckProxyConfig(net::ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
+ "HTTPS www.foo.com:443;DIRECT", "", ""); |
} |
TEST_F(DataReductionProxyConfigTest, TestRestricted) { |
@@ -112,9 +105,8 @@ TEST_F(DataReductionProxyConfigTest, TestRestricted) { |
"https://www.foo.com:443/", |
"http://www.bar.com:80/", |
""); |
- CheckProxyConfig("fixed_servers", |
- "http=http://www.bar.com:80,direct://;", |
- ""); |
+ CheckProxyConfig(net::ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
+ "PROXY www.bar.com:80;DIRECT", "", ""); |
} |
TEST_F(DataReductionProxyConfigTest, TestFallbackRestricted) { |
@@ -123,22 +115,8 @@ TEST_F(DataReductionProxyConfigTest, TestFallbackRestricted) { |
"https://www.foo.com:443/", |
"http://www.bar.com:80/", |
""); |
- CheckProxyConfig("fixed_servers", |
- "http=https://www.foo.com:443,direct://;", |
- ""); |
-} |
- |
-TEST_F(DataReductionProxyConfigTest, TestBothRestricted) { |
- DictionaryPrefUpdate update(&pref_service_, prefs::kProxy); |
- base::DictionaryValue* dict = update.Get(); |
- dict->SetString("mode", "system"); |
- |
- config_->Enable(true, |
- true, |
- "https://www.foo.com:443/", |
- "http://www.bar.com:80/", |
- ""); |
- CheckProxyConfig("system", "", ""); |
+ CheckProxyConfig(net::ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME, |
+ "HTTPS www.foo.com:443;DIRECT", "", ""); |
} |
TEST_F(DataReductionProxyConfigTest, TestDisable) { |
@@ -151,28 +129,7 @@ TEST_F(DataReductionProxyConfigTest, TestDisable) { |
params.fallback_origin().spec(), |
""); |
config_->Disable(); |
- CheckProxyConfig("system", "", ""); |
-} |
- |
-TEST_F(DataReductionProxyConfigTest, TestDisableWithUserOverride) { |
- data_reduction_proxy::DataReductionProxyParams params( |
- data_reduction_proxy::DataReductionProxyParams:: |
- kAllowAllProxyConfigurations); |
- config_->Enable(false, |
- false, |
- params.origin().spec(), |
- params.fallback_origin().spec(), |
- ""); |
- |
- // Override the data reduction proxy. |
- DictionaryPrefUpdate update(&pref_service_, prefs::kProxy); |
- base::DictionaryValue* dict = update.Get(); |
- dict->SetString("server", "https://www.baz.com:22/"); |
- |
- // This should have no effect since proxy server was overridden. |
- config_->Disable(); |
- |
- CheckProxyConfig("fixed_servers", "https://www.baz.com:22/", ""); |
+ CheckProxyConfig(net::ProxyConfig::ProxyRules::TYPE_NO_RULES, "", "", ""); |
} |
TEST_F(DataReductionProxyConfigTest, TestBypassList) { |
@@ -200,3 +157,4 @@ TEST_F(DataReductionProxyConfigTest, TestBypassList) { |
} |
} |
+} // namespace data_reduction_proxy |