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

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

Issue 412143009: Moved data reduction proxy initialization logic to ProfileImplIOData (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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/prefs/pref_service.h" 12 #include "base/prefs/pref_service.h"
13 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h"
13 #include "chrome/browser/prefs/proxy_prefs.h" 14 #include "chrome/browser/prefs/proxy_prefs.h"
14 #include "chrome/common/chrome_switches.h" 15 #include "chrome/common/chrome_switches.h"
15 #include "chrome/common/pref_names.h" 16 #include "chrome/common/pref_names.h"
16 #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings_ test_utils.h" 17 #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings_ test_utils.h"
17 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
18 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
19 #include "url/gurl.h" 20 #include "url/gurl.h"
20 21
21 using testing::_; 22 using testing::_;
22 using testing::AnyNumber; 23 using testing::AnyNumber;
23 using testing::Return; 24 using testing::Return;
24 25
25 const char kDataReductionProxyDev[] = "http://foo-dev.com:80"; 26 const char kDataReductionProxyDev[] = "http://foo-dev.com:80";
26 27
28 using data_reduction_proxy::DataReductionProxySettings;
29
30 // Used for testing the DataReductionProxySettingsAndroid class.
31 class TestDataReductionProxySettingsAndroid
32 : public DataReductionProxySettingsAndroid {
33 public:
34 // Constructs an Android settings object for test that wraps the provided
35 // settings object.
36 TestDataReductionProxySettingsAndroid(DataReductionProxySettings* settings)
37 : DataReductionProxySettingsAndroid(),
38 settings_(settings) {}
39
40 // Returns the provided setting object. Used by wrapping methods.
41 virtual DataReductionProxySettings* Settings() OVERRIDE {
42 return settings_;
43 }
44
45 // The wrapped settings object.
46 DataReductionProxySettings* settings_;
47 };
48
27 template <class C> 49 template <class C>
28 void data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings( 50 void data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings(
29 bool allowed, 51 bool allowed,
30 bool fallback_allowed, 52 bool fallback_allowed,
31 bool alt_allowed, 53 bool alt_allowed,
32 bool promo_allowed, 54 bool promo_allowed,
33 bool holdback) { 55 bool holdback) {
34 int flags = 0; 56 int flags = 0;
35 if (allowed) 57 if (allowed)
36 flags |= DataReductionProxyParams::kAllowed; 58 flags |= DataReductionProxyParams::kAllowed;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 settings, 99 settings,
78 response, 100 response,
79 success ? net::HTTP_OK : net::HTTP_INTERNAL_SERVER_ERROR, 101 success ? net::HTTP_OK : net::HTTP_INTERNAL_SERVER_ERROR,
80 success ? net::URLRequestStatus::SUCCESS : 102 success ? net::URLRequestStatus::SUCCESS :
81 net::URLRequestStatus::FAILED))); 103 net::URLRequestStatus::FAILED)));
82 } 104 }
83 } 105 }
84 106
85 template void 107 template void
86 data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings< 108 data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings<
87 DataReductionProxySettingsAndroid>(bool allowed, 109 DataReductionProxyChromeSettings>(bool allowed,
88 bool fallback_allowed, 110 bool fallback_allowed,
89 bool alt_allowed, 111 bool alt_allowed,
90 bool promo_allowed, 112 bool promo_allowed,
91 bool holdback); 113 bool holdback);
92 114
93 template void 115 template void
94 data_reduction_proxy::DataReductionProxySettingsTestBase::SetProbeResult< 116 data_reduction_proxy::DataReductionProxySettingsTestBase::SetProbeResult<
95 DataReductionProxySettingsAndroid>(const std::string& test_url, 117 DataReductionProxyChromeSettings>(const std::string& test_url,
96 const std::string& warmup_test_url, 118 const std::string& warmup_test_url,
97 const std::string& response, 119 const std::string& response,
98 ProbeURLFetchResult result, 120 ProbeURLFetchResult result,
99 bool success, 121 bool success,
100 int expected_calls); 122 int expected_calls);
101 123
102 class DataReductionProxySettingsAndroidTest 124 class DataReductionProxySettingsAndroidTest
103 : public data_reduction_proxy::ConcreteDataReductionProxySettingsTest< 125 : public data_reduction_proxy::ConcreteDataReductionProxySettingsTest<
104 DataReductionProxySettingsAndroid> { 126 DataReductionProxyChromeSettings> {
105 public: 127 public:
106 // DataReductionProxySettingsTest implementation: 128 // DataReductionProxySettingsTest implementation:
107 virtual void SetUp() OVERRIDE { 129 virtual void SetUp() OVERRIDE {
108 env_ = base::android::AttachCurrentThread(); 130 env_ = base::android::AttachCurrentThread();
109 DataReductionProxySettingsAndroid::Register(env_); 131 DataReductionProxySettingsAndroid::Register(env_);
110 DataReductionProxySettingsTestBase::SetUp(); 132 DataReductionProxySettingsTestBase::SetUp();
133 ResetSettingsAndroid();
111 } 134 }
112 135
113 DataReductionProxySettingsAndroid* Settings() { 136 void ResetSettingsAndroid() {
114 return static_cast<DataReductionProxySettingsAndroid*>(settings_.get()); 137 settings_android_.reset(new TestDataReductionProxySettingsAndroid(
138 settings_.get()));
115 } 139 }
116 140
141 DataReductionProxySettings* Settings() {
142 return settings_.get();
143 }
144
145 DataReductionProxySettingsAndroid* SettingsAndroid() {
146 return settings_android_.get();
147 }
148
149 scoped_ptr<DataReductionProxySettingsAndroid> settings_android_;
117 JNIEnv* env_; 150 JNIEnv* env_;
118 }; 151 };
119 152
120 TEST_F(DataReductionProxySettingsAndroidTest, TestGetDataReductionProxyOrigin) { 153 TEST_F(DataReductionProxySettingsAndroidTest, TestGetDataReductionProxyOrigin) {
121 // SetUp() adds the origin to the command line, which should be returned here. 154 // SetUp() adds the origin to the command line, which should be returned here.
122 ScopedJavaLocalRef<jstring> result = 155 ScopedJavaLocalRef<jstring> result =
123 Settings()->GetDataReductionProxyOrigin(env_, NULL); 156 SettingsAndroid()->GetDataReductionProxyOrigin(env_, NULL);
124 ASSERT_TRUE(result.obj()); 157 ASSERT_TRUE(result.obj());
125 const base::android::JavaRef<jstring>& str_ref = result; 158 const base::android::JavaRef<jstring>& str_ref = result;
126 EXPECT_EQ(GURL(expected_params_->DefaultOrigin()), 159 EXPECT_EQ(GURL(expected_params_->DefaultOrigin()),
127 GURL(ConvertJavaStringToUTF8(str_ref))); 160 GURL(ConvertJavaStringToUTF8(str_ref)));
128 } 161 }
129 162
130 TEST_F(DataReductionProxySettingsAndroidTest, 163 TEST_F(DataReductionProxySettingsAndroidTest,
131 TestGetDataReductionProxyDevOrigin) { 164 TestGetDataReductionProxyDevOrigin) {
132 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 165 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
133 data_reduction_proxy::switches::kDataReductionProxyDev, 166 data_reduction_proxy::switches::kDataReductionProxyDev,
134 kDataReductionProxyDev); 167 kDataReductionProxyDev);
135 ResetSettings(true, true, false, true, false); 168 ResetSettings(true, true, false, true, false);
169 ResetSettingsAndroid();
136 ScopedJavaLocalRef<jstring> result = 170 ScopedJavaLocalRef<jstring> result =
137 Settings()->GetDataReductionProxyOrigin(env_, NULL); 171 SettingsAndroid()->GetDataReductionProxyOrigin(env_, NULL);
138 ASSERT_TRUE(result.obj()); 172 ASSERT_TRUE(result.obj());
139 const base::android::JavaRef<jstring>& str_ref = result; 173 const base::android::JavaRef<jstring>& str_ref = result;
140 EXPECT_EQ(GURL(kDataReductionProxyDev), 174 EXPECT_EQ(GURL(kDataReductionProxyDev),
141 GURL(ConvertJavaStringToUTF8(str_ref))); 175 GURL(ConvertJavaStringToUTF8(str_ref)));
142 } 176 }
143 177
144 TEST_F(DataReductionProxySettingsAndroidTest, TestGetDailyContentLengths) { 178 TEST_F(DataReductionProxySettingsAndroidTest, TestGetDailyContentLengths) {
145 ScopedJavaLocalRef<jlongArray> result = Settings()->GetDailyContentLengths( 179 ScopedJavaLocalRef<jlongArray> result =
146 env_, data_reduction_proxy::prefs::kDailyHttpOriginalContentLength); 180 SettingsAndroid()->GetDailyContentLengths(
181 env_, data_reduction_proxy::prefs::kDailyHttpOriginalContentLength);
147 ASSERT_TRUE(result.obj()); 182 ASSERT_TRUE(result.obj());
148 183
149 jsize java_array_len = env_->GetArrayLength(result.obj()); 184 jsize java_array_len = env_->GetArrayLength(result.obj());
150 ASSERT_EQ(static_cast<jsize>(data_reduction_proxy::kNumDaysInHistory), 185 ASSERT_EQ(static_cast<jsize>(data_reduction_proxy::kNumDaysInHistory),
151 java_array_len); 186 java_array_len);
152 187
153 jlong value; 188 jlong value;
154 for (size_t i = 0; i < data_reduction_proxy::kNumDaysInHistory; ++i) { 189 for (size_t i = 0; i < data_reduction_proxy::kNumDaysInHistory; ++i) {
155 env_->GetLongArrayRegion(result.obj(), i, 1, &value); 190 env_->GetLongArrayRegion(result.obj(), i, 1, &value);
156 ASSERT_EQ( 191 ASSERT_EQ(
157 static_cast<long>( 192 static_cast<long>(
158 (data_reduction_proxy::kNumDaysInHistory - 1 - i) * 2), 193 (data_reduction_proxy::kNumDaysInHistory - 1 - i) * 2), value);
159 value);
160 } 194 }
161 } 195 }
162 196
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698