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

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

Issue 388663002: Added data reduction proxy holdback experiment (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years, 5 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/prefs/proxy_prefs.h" 13 #include "chrome/browser/prefs/proxy_prefs.h"
14 #include "chrome/common/chrome_switches.h" 14 #include "chrome/common/chrome_switches.h"
15 #include "chrome/common/pref_names.h" 15 #include "chrome/common/pref_names.h"
16 #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings_ test_utils.h" 16 #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings_ test_utils.h"
17 #include "testing/gmock/include/gmock/gmock.h" 17 #include "testing/gmock/include/gmock/gmock.h"
18 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
19 #include "url/gurl.h" 19 #include "url/gurl.h"
20 20
21 using testing::_; 21 using testing::_;
22 using testing::AnyNumber; 22 using testing::AnyNumber;
23 using testing::Return; 23 using testing::Return;
24 24
25 const char kDataReductionProxyDev[] = "http://foo-dev.com:80"; 25 const char kDataReductionProxyDev[] = "http://foo-dev.com:80";
26 26
27 template <class C> 27 template <class C>
28 void data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings( 28 void data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings(
29 bool allowed, bool fallback_allowed, bool alt_allowed, bool promo_allowed) { 29 bool allowed,
30 bool fallback_allowed,
31 bool alt_allowed,
32 bool promo_allowed,
33 bool holdback) {
30 int flags = 0; 34 int flags = 0;
31 if (allowed) 35 if (allowed)
32 flags |= DataReductionProxyParams::kAllowed; 36 flags |= DataReductionProxyParams::kAllowed;
33 if (fallback_allowed) 37 if (fallback_allowed)
34 flags |= DataReductionProxyParams::kFallbackAllowed; 38 flags |= DataReductionProxyParams::kFallbackAllowed;
35 if (alt_allowed) 39 if (alt_allowed)
36 flags |= DataReductionProxyParams::kAlternativeAllowed; 40 flags |= DataReductionProxyParams::kAlternativeAllowed;
37 if (promo_allowed) 41 if (promo_allowed)
38 flags |= DataReductionProxyParams::kPromoAllowed; 42 flags |= DataReductionProxyParams::kPromoAllowed;
43 if (holdback)
44 flags |= DataReductionProxyParams::kHoldback;
39 MockDataReductionProxySettings<C>* settings = 45 MockDataReductionProxySettings<C>* settings =
40 new MockDataReductionProxySettings<C>(flags); 46 new MockDataReductionProxySettings<C>(flags);
41 EXPECT_CALL(*settings, GetOriginalProfilePrefs()) 47 EXPECT_CALL(*settings, GetOriginalProfilePrefs())
42 .Times(AnyNumber()) 48 .Times(AnyNumber())
43 .WillRepeatedly(Return(&pref_service_)); 49 .WillRepeatedly(Return(&pref_service_));
44 EXPECT_CALL(*settings, GetLocalStatePrefs()) 50 EXPECT_CALL(*settings, GetLocalStatePrefs())
45 .Times(AnyNumber()) 51 .Times(AnyNumber())
46 .WillRepeatedly(Return(&pref_service_)); 52 .WillRepeatedly(Return(&pref_service_));
47 EXPECT_CALL(*settings, GetURLFetcherForAvailabilityCheck()).Times(0); 53 EXPECT_CALL(*settings, GetURLFetcherForAvailabilityCheck()).Times(0);
48 EXPECT_CALL(*settings, LogProxyState(_, _, _)).Times(0); 54 EXPECT_CALL(*settings, LogProxyState(_, _, _)).Times(0);
(...skipping 25 matching lines...) Expand all
74 success ? net::URLRequestStatus::SUCCESS : 80 success ? net::URLRequestStatus::SUCCESS :
75 net::URLRequestStatus::FAILED))); 81 net::URLRequestStatus::FAILED)));
76 } 82 }
77 } 83 }
78 84
79 template void 85 template void
80 data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings< 86 data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings<
81 DataReductionProxySettingsAndroid>(bool allowed, 87 DataReductionProxySettingsAndroid>(bool allowed,
82 bool fallback_allowed, 88 bool fallback_allowed,
83 bool alt_allowed, 89 bool alt_allowed,
84 bool promo_allowed); 90 bool promo_allowed,
91 bool holdback);
85 92
86 template void 93 template void
87 data_reduction_proxy::DataReductionProxySettingsTestBase::SetProbeResult< 94 data_reduction_proxy::DataReductionProxySettingsTestBase::SetProbeResult<
88 DataReductionProxySettingsAndroid>(const std::string& test_url, 95 DataReductionProxySettingsAndroid>(const std::string& test_url,
89 const std::string& warmup_test_url, 96 const std::string& warmup_test_url,
90 const std::string& response, 97 const std::string& response,
91 ProbeURLFetchResult result, 98 ProbeURLFetchResult result,
92 bool success, 99 bool success,
93 int expected_calls); 100 int expected_calls);
94 101
(...skipping 23 matching lines...) Expand all
118 const base::android::JavaRef<jstring>& str_ref = result; 125 const base::android::JavaRef<jstring>& str_ref = result;
119 EXPECT_EQ(GURL(expected_params_->DefaultOrigin()), 126 EXPECT_EQ(GURL(expected_params_->DefaultOrigin()),
120 GURL(ConvertJavaStringToUTF8(str_ref))); 127 GURL(ConvertJavaStringToUTF8(str_ref)));
121 } 128 }
122 129
123 TEST_F(DataReductionProxySettingsAndroidTest, 130 TEST_F(DataReductionProxySettingsAndroidTest,
124 TestGetDataReductionProxyDevOrigin) { 131 TestGetDataReductionProxyDevOrigin) {
125 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 132 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
126 data_reduction_proxy::switches::kDataReductionProxyDev, 133 data_reduction_proxy::switches::kDataReductionProxyDev,
127 kDataReductionProxyDev); 134 kDataReductionProxyDev);
128 ResetSettings(true, true, false, true); 135 ResetSettings(true, true, false, true, false);
129 ScopedJavaLocalRef<jstring> result = 136 ScopedJavaLocalRef<jstring> result =
130 Settings()->GetDataReductionProxyOrigin(env_, NULL); 137 Settings()->GetDataReductionProxyOrigin(env_, NULL);
131 ASSERT_TRUE(result.obj()); 138 ASSERT_TRUE(result.obj());
132 const base::android::JavaRef<jstring>& str_ref = result; 139 const base::android::JavaRef<jstring>& str_ref = result;
133 EXPECT_EQ(GURL(kDataReductionProxyDev), 140 EXPECT_EQ(GURL(kDataReductionProxyDev),
134 GURL(ConvertJavaStringToUTF8(str_ref))); 141 GURL(ConvertJavaStringToUTF8(str_ref)));
135 } 142 }
136 143
137 TEST_F(DataReductionProxySettingsAndroidTest, TestGetDailyContentLengths) { 144 TEST_F(DataReductionProxySettingsAndroidTest, TestGetDailyContentLengths) {
138 ScopedJavaLocalRef<jlongArray> result = Settings()->GetDailyContentLengths( 145 ScopedJavaLocalRef<jlongArray> result = Settings()->GetDailyContentLengths(
139 env_, data_reduction_proxy::prefs::kDailyHttpOriginalContentLength); 146 env_, data_reduction_proxy::prefs::kDailyHttpOriginalContentLength);
140 ASSERT_TRUE(result.obj()); 147 ASSERT_TRUE(result.obj());
141 148
142 jsize java_array_len = env_->GetArrayLength(result.obj()); 149 jsize java_array_len = env_->GetArrayLength(result.obj());
143 ASSERT_EQ(static_cast<jsize>(data_reduction_proxy::kNumDaysInHistory), 150 ASSERT_EQ(static_cast<jsize>(data_reduction_proxy::kNumDaysInHistory),
144 java_array_len); 151 java_array_len);
145 152
146 jlong value; 153 jlong value;
147 for (size_t i = 0; i < data_reduction_proxy::kNumDaysInHistory; ++i) { 154 for (size_t i = 0; i < data_reduction_proxy::kNumDaysInHistory; ++i) {
148 env_->GetLongArrayRegion(result.obj(), i, 1, &value); 155 env_->GetLongArrayRegion(result.obj(), i, 1, &value);
149 ASSERT_EQ( 156 ASSERT_EQ(
150 static_cast<long>( 157 static_cast<long>(
151 (data_reduction_proxy::kNumDaysInHistory - 1 - i) * 2), 158 (data_reduction_proxy::kNumDaysInHistory - 1 - i) * 2),
152 value); 159 value);
153 } 160 }
154 } 161 }
155 162
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698