Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(327)

Side by Side Diff: chrome/browser/net/spdyproxy/data_reduction_proxy_settings_unittest_android.cc

Issue 893003002: Data Reduction Proxy class ownership updates and Settings cleanup (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sgurun CR comments Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h" 5 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "base/android/scoped_java_ref.h" 9 #include "base/android/scoped_java_ref.h"
10 #include "base/base64.h" 10 #include "base/base64.h"
11 #include "base/command_line.h" 11 #include "base/command_line.h"
12 #include "base/memory/ref_counted.h" 12 #include "base/memory/ref_counted.h"
13 #include "base/memory/scoped_ptr.h" 13 #include "base/memory/scoped_ptr.h"
14 #include "base/prefs/pref_service.h" 14 #include "base/prefs/pref_service.h"
15 #include "base/test/test_simple_task_runner.h" 15 #include "base/test/test_simple_task_runner.h"
16 #include "base/time/time.h" 16 #include "base/time/time.h"
17 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h" 17 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h"
18 #include "chrome/browser/prefs/proxy_prefs.h" 18 #include "chrome/browser/prefs/proxy_prefs.h"
19 #include "chrome/common/chrome_switches.h" 19 #include "chrome/common/chrome_switches.h"
20 #include "chrome/common/pref_names.h" 20 #include "chrome/common/pref_names.h"
21 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_conf ig_test_utils.h"
21 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_sett ings_test_utils.h" 22 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_sett ings_test_utils.h"
22 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_stat istics_prefs.h" 23 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_test _utils.h"
24 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_param s.h"
25 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_param s_test_utils.h"
23 #include "net/proxy/proxy_server.h" 26 #include "net/proxy/proxy_server.h"
24 #include "testing/gmock/include/gmock/gmock.h" 27 #include "testing/gmock/include/gmock/gmock.h"
25 #include "testing/gtest/include/gtest/gtest.h" 28 #include "testing/gtest/include/gtest/gtest.h"
26 #include "url/gurl.h" 29 #include "url/gurl.h"
27 30
28 using testing::_; 31 using testing::_;
29 using testing::AnyNumber; 32 using testing::AnyNumber;
30 using testing::Return; 33 using testing::Return;
31 34
32 const char kDataReductionProxyDev[] = "foo-dev.com:80"; 35 const char kDataReductionProxyDev[] = "foo-dev.com:80";
(...skipping 30 matching lines...) Expand all
63 flags |= DataReductionProxyParams::kAllowed; 66 flags |= DataReductionProxyParams::kAllowed;
64 if (fallback_allowed) 67 if (fallback_allowed)
65 flags |= DataReductionProxyParams::kFallbackAllowed; 68 flags |= DataReductionProxyParams::kFallbackAllowed;
66 if (alt_allowed) 69 if (alt_allowed)
67 flags |= DataReductionProxyParams::kAlternativeAllowed; 70 flags |= DataReductionProxyParams::kAlternativeAllowed;
68 if (promo_allowed) 71 if (promo_allowed)
69 flags |= DataReductionProxyParams::kPromoAllowed; 72 flags |= DataReductionProxyParams::kPromoAllowed;
70 if (holdback) 73 if (holdback)
71 flags |= DataReductionProxyParams::kHoldback; 74 flags |= DataReductionProxyParams::kHoldback;
72 MockDataReductionProxySettings<C>* settings = 75 MockDataReductionProxySettings<C>* settings =
73 new MockDataReductionProxySettings<C>(flags); 76 new MockDataReductionProxySettings<C>();
77 settings->config_ = test_context_->config();
78 settings->data_reduction_proxy_service_ =
79 test_context_->CreateDataReductionProxyService();
80 test_context_->config()->ResetParamFlagsForTest(flags);
81 settings->UpdateConfigValues();
74 EXPECT_CALL(*settings, GetOriginalProfilePrefs()) 82 EXPECT_CALL(*settings, GetOriginalProfilePrefs())
75 .Times(AnyNumber()) 83 .Times(AnyNumber())
76 .WillRepeatedly(Return(&pref_service_)); 84 .WillRepeatedly(Return(test_context_->pref_service()));
77 EXPECT_CALL(*settings, GetLocalStatePrefs()) 85 EXPECT_CALL(*settings, GetLocalStatePrefs())
78 .Times(AnyNumber()) 86 .Times(AnyNumber())
79 .WillRepeatedly(Return(&pref_service_)); 87 .WillRepeatedly(Return(test_context_->pref_service()));
80 EXPECT_CALL(*settings, GetURLFetcherForAvailabilityCheck()).Times(0);
81 EXPECT_CALL(*settings, LogProxyState(_, _, _)).Times(0);
82 settings_.reset(settings); 88 settings_.reset(settings);
83 settings_->SetDataReductionProxyStatisticsPrefs(
84 scoped_ptr<DataReductionProxyStatisticsPrefs>(
85 new DataReductionProxyStatisticsPrefs(
86 &pref_service_,
87 scoped_refptr<base::TestSimpleTaskRunner>(
88 new base::TestSimpleTaskRunner()),
89 base::TimeDelta())));
90 }
91
92 template <class C>
93 void data_reduction_proxy::DataReductionProxySettingsTestBase::SetProbeResult(
94 const std::string& test_url,
95 const std::string& response,
96 ProbeURLFetchResult result,
97 bool success,
98 int expected_calls) {
99 MockDataReductionProxySettings<C>* settings =
100 static_cast<MockDataReductionProxySettings<C>*>(settings_.get());
101 if (0 == expected_calls) {
102 EXPECT_CALL(*settings, GetURLFetcherForAvailabilityCheck()).Times(0);
103 EXPECT_CALL(*settings, RecordProbeURLFetchResult(_)).Times(0);
104 } else {
105 EXPECT_CALL(*settings, RecordProbeURLFetchResult(result)).Times(1);
106 EXPECT_CALL(*settings, GetURLFetcherForAvailabilityCheck())
107 .Times(expected_calls)
108 .WillRepeatedly(Return(new net::FakeURLFetcher(
109 GURL(test_url),
110 settings,
111 response,
112 success ? net::HTTP_OK : net::HTTP_INTERNAL_SERVER_ERROR,
113 success ? net::URLRequestStatus::SUCCESS :
114 net::URLRequestStatus::FAILED)));
115 }
116 } 89 }
117 90
118 template void 91 template void
119 data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings< 92 data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings<
120 DataReductionProxyChromeSettings>(bool allowed, 93 DataReductionProxyChromeSettings>(bool allowed,
121 bool fallback_allowed, 94 bool fallback_allowed,
122 bool alt_allowed, 95 bool alt_allowed,
123 bool promo_allowed, 96 bool promo_allowed,
124 bool holdback); 97 bool holdback);
125 98
126 template void
127 data_reduction_proxy::DataReductionProxySettingsTestBase::SetProbeResult<
128 DataReductionProxyChromeSettings>(const std::string& test_url,
129 const std::string& response,
130 ProbeURLFetchResult result,
131 bool success,
132 int expected_calls);
133
134 class DataReductionProxySettingsAndroidTest 99 class DataReductionProxySettingsAndroidTest
135 : public data_reduction_proxy::ConcreteDataReductionProxySettingsTest< 100 : public data_reduction_proxy::ConcreteDataReductionProxySettingsTest<
136 DataReductionProxyChromeSettings> { 101 DataReductionProxyChromeSettings> {
137 public: 102 public:
138 // DataReductionProxySettingsTest implementation: 103 // DataReductionProxySettingsTest implementation:
139 void SetUp() override { 104 void SetUp() override {
140 env_ = base::android::AttachCurrentThread(); 105 env_ = base::android::AttachCurrentThread();
141 DataReductionProxySettingsAndroid::Register(env_); 106 DataReductionProxySettingsAndroid::Register(env_);
142 DataReductionProxySettingsTestBase::SetUp(); 107 DataReductionProxySettingsTestBase::SetUp();
143 ResetSettingsAndroid(); 108 ResetSettingsAndroid();
(...skipping 15 matching lines...) Expand all
159 scoped_ptr<DataReductionProxySettingsAndroid> settings_android_; 124 scoped_ptr<DataReductionProxySettingsAndroid> settings_android_;
160 JNIEnv* env_; 125 JNIEnv* env_;
161 }; 126 };
162 127
163 TEST_F(DataReductionProxySettingsAndroidTest, TestGetDataReductionProxyOrigin) { 128 TEST_F(DataReductionProxySettingsAndroidTest, TestGetDataReductionProxyOrigin) {
164 // SetUp() adds the origin to the command line, which should be returned here. 129 // SetUp() adds the origin to the command line, which should be returned here.
165 ScopedJavaLocalRef<jstring> result = 130 ScopedJavaLocalRef<jstring> result =
166 SettingsAndroid()->GetDataReductionProxyOrigin(env_, NULL); 131 SettingsAndroid()->GetDataReductionProxyOrigin(env_, NULL);
167 ASSERT_TRUE(result.obj()); 132 ASSERT_TRUE(result.obj());
168 const base::android::JavaRef<jstring>& str_ref = result; 133 const base::android::JavaRef<jstring>& str_ref = result;
169 EXPECT_EQ(expected_params_->DefaultOrigin(), 134 EXPECT_EQ(test_context_->config()->test_params()->DefaultOrigin(),
170 ConvertJavaStringToUTF8(str_ref)); 135 ConvertJavaStringToUTF8(str_ref));
171 } 136 }
172 137
173 TEST_F(DataReductionProxySettingsAndroidTest, 138 TEST_F(DataReductionProxySettingsAndroidTest,
174 TestGetDataReductionProxyDevOrigin) { 139 TestGetDataReductionProxyDevOrigin) {
175 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( 140 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
176 data_reduction_proxy::switches::kDataReductionProxyDev, 141 data_reduction_proxy::switches::kDataReductionProxyDev,
177 kDataReductionProxyDev); 142 kDataReductionProxyDev);
178 ResetSettings(true, true, false, true, false); 143 ResetSettings(true, true, false, true, false);
179 ResetSettingsAndroid(); 144 ResetSettingsAndroid();
(...skipping 17 matching lines...) Expand all
197 162
198 jlong value; 163 jlong value;
199 for (size_t i = 0; i < data_reduction_proxy::kNumDaysInHistory; ++i) { 164 for (size_t i = 0; i < data_reduction_proxy::kNumDaysInHistory; ++i) {
200 env_->GetLongArrayRegion(result.obj(), i, 1, &value); 165 env_->GetLongArrayRegion(result.obj(), i, 1, &value);
201 ASSERT_EQ( 166 ASSERT_EQ(
202 static_cast<long>( 167 static_cast<long>(
203 (data_reduction_proxy::kNumDaysInHistory - 1 - i) * 2), value); 168 (data_reduction_proxy::kNumDaysInHistory - 1 - i) * 2), value);
204 } 169 }
205 } 170 }
206 171
OLDNEW
« no previous file with comments | « chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc ('k') | chrome/browser/profiles/profile_impl_io_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698