bool enabled_at_startup) {
AddProxyToCommandLine();
base::MessageLoopForUI loop;
- pref_service_.SetBoolean(prefs::kSpdyProxyAuthEnabled, enabled_at_startup);
SetProbeResult(kProbeURLWithOKResponse,
"OK",
FetchResult(enabled_at_startup, true),
if (enabled_at_startup) {
CheckProxyConfigs(enabled_at_startup, false);
} else {
- // This presumes the proxy preference hadn't been set up by Chrome.
- CheckProxyPref(std::string(), std::string());
+ CheckProxyPref(std::string(), ProxyModeToString(ProxyPrefs::MODE_SYSTEM));
}
}
TEST_F(DataReductionProxySettingsTest, TestInitDataReductionProxyOn) {
MockSettings* settings = static_cast<MockSettings*>(settings_.get());
EXPECT_CALL(*settings, RecordStartupState(spdyproxy::PROXY_ENABLED));
+
+ pref_service_.SetBoolean(prefs::kSpdyProxyAuthEnabled, true);
CheckInitDataReductionProxy(true);
}
// InitDataReductionProxySettings with the preference off will directly call
// LogProxyState.
MockSettings* settings = static_cast<MockSettings*>(settings_.get());
- EXPECT_CALL(*settings, LogProxyState(false, false, true)).Times(1);
EXPECT_CALL(*settings, RecordStartupState(spdyproxy::PROXY_DISABLED));
+
+ pref_service_.SetBoolean(prefs::kSpdyProxyAuthEnabled, false);
CheckInitDataReductionProxy(false);
}
+TEST_F(DataReductionProxySettingsTest, TestSetProxyFromCommandLine) {
+ MockSettings* settings = static_cast<MockSettings*>(settings_.get());
+ EXPECT_CALL(*settings, RecordStartupState(spdyproxy::PROXY_ENABLED));
+
+ CommandLine::ForCurrentProcess()->AppendSwitch(
+ switches::kEnableSpdyProxyAuth);
+ CheckInitDataReductionProxy(true);
+}
+
TEST_F(DataReductionProxySettingsTest, TestGetDailyContentLengths) {
DataReductionProxySettings::ContentLengthList result =
settings_->GetDailyContentLengths(prefs::kDailyHttpOriginalContentLength);
}
}
-TEST_F(DataReductionProxySettingsTest, WasFetchedViaProxy) {
- const struct {
- const char* headers;
- bool expected_result;
- } tests[] = {
- { "HTTP/1.1 200 OK\n"
- "Via: 1.1 Chrome Proxy\n",
- false,
- },
- { "HTTP/1.1 200 OK\n"
- "Via: 1.1 Chrome Compression Proxy\n",
- true,
- },
- { "HTTP/1.1 200 OK\n"
- "Via: 1.1 Foo Bar, 1.1 Chrome Compression Proxy\n",
- true,
- },
- { "HTTP/1.1 200 OK\n"
- "Via: 1.1 Chrome Compression Proxy, 1.1 Bar Foo\n",
- true,
- },
- { "HTTP/1.1 200 OK\n"
- "Via: 1.1 chrome compression proxy\n",
- false,
- },
- { "HTTP/1.1 200 OK\n"
- "Via: 1.1 Foo Bar\n"
- "Via: 1.1 Chrome Compression Proxy\n",
- true,
- },
- };
- for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
- std::string headers(tests[i].headers);
- HeadersToRaw(&headers);
- scoped_refptr<net::HttpResponseHeaders> parsed(
- new net::HttpResponseHeaders(headers));
-
- EXPECT_EQ(tests[i].expected_result,
- DataReductionProxySettings::WasFetchedViaProxy(parsed));
- }
-}
-
TEST_F(DataReductionProxySettingsTest, CheckInitMetricsWhenNotAllowed) {
// No call to |AddProxyToCommandLine()| was made, so the proxy feature
// should be unavailable.