| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/data_reduction_proxy/core/browser/data_reduction_proxy_pref
s.h" | 5 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_pref
s.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_pref_
names.h" | 10 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_pref_
names.h" |
| 11 #include "components/prefs/pref_registry_simple.h" | 11 #include "components/prefs/pref_registry_simple.h" |
| 12 #include "components/prefs/pref_service.h" | 12 #include "components/prefs/pref_service.h" |
| 13 #include "components/prefs/scoped_user_pref_update.h" | 13 #include "components/prefs/scoped_user_pref_update.h" |
| 14 #include "components/prefs/testing_pref_service.h" | 14 #include "components/prefs/testing_pref_service.h" |
| 15 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
| 16 | 16 |
| 17 namespace data_reduction_proxy { | 17 namespace data_reduction_proxy { |
| 18 | 18 |
| 19 class DataReductionProxyPrefsTest : public testing::Test { | 19 class DataReductionProxyPrefsTest : public testing::Test { |
| 20 public: | 20 public: |
| 21 void SetUp() override { | 21 void SetUp() override { |
| 22 RegisterPrefs(local_state_prefs_.registry()); | 22 RegisterPrefs(local_state_prefs_.registry()); |
| 23 PrefRegistrySimple* profile_registry = profile_prefs_.registry(); | 23 PrefRegistrySimple* profile_registry = profile_prefs_.registry(); |
| 24 RegisterPrefs(profile_registry); | 24 RegisterPrefs(profile_registry); |
| 25 profile_registry->RegisterBooleanPref( | |
| 26 prefs::kStatisticsPrefsMigrated, false); | |
| 27 } | 25 } |
| 28 | 26 |
| 29 PrefService* local_state_prefs() { | 27 PrefService* local_state_prefs() { |
| 30 return &local_state_prefs_; | 28 return &local_state_prefs_; |
| 31 } | 29 } |
| 32 | 30 |
| 33 PrefService* profile_prefs() { | 31 PrefService* profile_prefs() { |
| 34 return &profile_prefs_; | 32 return &profile_prefs_; |
| 35 } | 33 } |
| 36 | 34 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 prefs::kDailyOriginalContentLengthViaDataReductionProxy); | 83 prefs::kDailyOriginalContentLengthViaDataReductionProxy); |
| 86 registry->RegisterListPref(prefs::kDailyContentLengthViaDataReductionProxy); | 84 registry->RegisterListPref(prefs::kDailyContentLengthViaDataReductionProxy); |
| 87 registry->RegisterInt64Pref( | 85 registry->RegisterInt64Pref( |
| 88 prefs::kDailyHttpContentLengthLastUpdateDate, 0L); | 86 prefs::kDailyHttpContentLengthLastUpdateDate, 0L); |
| 89 } | 87 } |
| 90 | 88 |
| 91 TestingPrefServiceSimple local_state_prefs_; | 89 TestingPrefServiceSimple local_state_prefs_; |
| 92 TestingPrefServiceSimple profile_prefs_; | 90 TestingPrefServiceSimple profile_prefs_; |
| 93 }; | 91 }; |
| 94 | 92 |
| 95 TEST_F(DataReductionProxyPrefsTest, TestMigration) { | |
| 96 local_state_prefs()->SetInt64(prefs::kHttpReceivedContentLength, 123L); | |
| 97 local_state_prefs()->SetInt64(prefs::kHttpOriginalContentLength, 234L); | |
| 98 local_state_prefs()->SetInt64( | |
| 99 prefs::kDailyHttpContentLengthLastUpdateDate, 345L); | |
| 100 InitializeList( | |
| 101 prefs::kDailyHttpOriginalContentLength, 0L, local_state_prefs()); | |
| 102 InitializeList( | |
| 103 prefs::kDailyHttpReceivedContentLength, 1L, local_state_prefs()); | |
| 104 InitializeList( | |
| 105 prefs::kDailyOriginalContentLengthWithDataReductionProxyEnabled, | |
| 106 2L, | |
| 107 local_state_prefs()); | |
| 108 InitializeList( | |
| 109 prefs::kDailyContentLengthWithDataReductionProxyEnabled, | |
| 110 3L, | |
| 111 local_state_prefs()); | |
| 112 InitializeList( | |
| 113 prefs::kDailyContentLengthHttpsWithDataReductionProxyEnabled, | |
| 114 4L, | |
| 115 local_state_prefs()); | |
| 116 InitializeList( | |
| 117 prefs::kDailyContentLengthShortBypassWithDataReductionProxyEnabled, | |
| 118 5L, | |
| 119 local_state_prefs()); | |
| 120 InitializeList( | |
| 121 prefs::kDailyContentLengthLongBypassWithDataReductionProxyEnabled, | |
| 122 6L, | |
| 123 local_state_prefs()); | |
| 124 InitializeList( | |
| 125 prefs::kDailyContentLengthUnknownWithDataReductionProxyEnabled, | |
| 126 7L, | |
| 127 local_state_prefs()); | |
| 128 InitializeList( | |
| 129 prefs::kDailyOriginalContentLengthViaDataReductionProxy, | |
| 130 8L, | |
| 131 local_state_prefs()); | |
| 132 InitializeList( | |
| 133 prefs::kDailyContentLengthViaDataReductionProxy, | |
| 134 9L, | |
| 135 local_state_prefs()); | |
| 136 | |
| 137 EXPECT_EQ(0L, profile_prefs()->GetInt64(prefs::kHttpReceivedContentLength)); | |
| 138 EXPECT_EQ(0L, profile_prefs()->GetInt64(prefs::kHttpOriginalContentLength)); | |
| 139 EXPECT_EQ(0u, profile_prefs()->GetList( | |
| 140 prefs::kDailyHttpOriginalContentLength)->GetSize()); | |
| 141 EXPECT_EQ(0u, profile_prefs()->GetList( | |
| 142 prefs::kDailyHttpReceivedContentLength)->GetSize()); | |
| 143 EXPECT_EQ(0u, profile_prefs()->GetList( | |
| 144 prefs::kDailyOriginalContentLengthWithDataReductionProxyEnabled)-> | |
| 145 GetSize()); | |
| 146 EXPECT_EQ(0u, profile_prefs()->GetList( | |
| 147 prefs::kDailyContentLengthWithDataReductionProxyEnabled)->GetSize()); | |
| 148 EXPECT_EQ(0u, profile_prefs()->GetList( | |
| 149 prefs::kDailyContentLengthHttpsWithDataReductionProxyEnabled)->GetSize()); | |
| 150 EXPECT_EQ(0u, profile_prefs()->GetList( | |
| 151 prefs::kDailyContentLengthShortBypassWithDataReductionProxyEnabled)-> | |
| 152 GetSize()); | |
| 153 EXPECT_EQ(0u, profile_prefs()->GetList( | |
| 154 prefs::kDailyContentLengthLongBypassWithDataReductionProxyEnabled)-> | |
| 155 GetSize()); | |
| 156 EXPECT_EQ(0u, profile_prefs()->GetList( | |
| 157 prefs::kDailyContentLengthUnknownWithDataReductionProxyEnabled)-> | |
| 158 GetSize()); | |
| 159 EXPECT_EQ(0u, profile_prefs()->GetList( | |
| 160 prefs::kDailyOriginalContentLengthViaDataReductionProxy)->GetSize()); | |
| 161 EXPECT_EQ(0u, profile_prefs()->GetList( | |
| 162 prefs::kDailyContentLengthViaDataReductionProxy)->GetSize()); | |
| 163 EXPECT_EQ(0L, profile_prefs()->GetInt64( | |
| 164 prefs::kDailyHttpContentLengthLastUpdateDate)); | |
| 165 EXPECT_FALSE(profile_prefs()->GetBoolean(prefs::kStatisticsPrefsMigrated)); | |
| 166 | |
| 167 data_reduction_proxy::MigrateStatisticsPrefs(local_state_prefs(), | |
| 168 profile_prefs()); | |
| 169 | |
| 170 EXPECT_EQ(123L, profile_prefs()->GetInt64(prefs::kHttpReceivedContentLength)); | |
| 171 EXPECT_EQ(234L, profile_prefs()->GetInt64(prefs::kHttpOriginalContentLength)); | |
| 172 VerifyList(prefs::kDailyHttpOriginalContentLength, 0L, profile_prefs()); | |
| 173 VerifyList(prefs::kDailyHttpReceivedContentLength, 1L, profile_prefs()); | |
| 174 VerifyList( | |
| 175 prefs::kDailyOriginalContentLengthWithDataReductionProxyEnabled, | |
| 176 2L, | |
| 177 profile_prefs()); | |
| 178 VerifyList( | |
| 179 prefs::kDailyContentLengthWithDataReductionProxyEnabled, | |
| 180 3L, | |
| 181 profile_prefs()); | |
| 182 VerifyList( | |
| 183 prefs::kDailyContentLengthHttpsWithDataReductionProxyEnabled, | |
| 184 4L, | |
| 185 profile_prefs()); | |
| 186 VerifyList( | |
| 187 prefs::kDailyContentLengthShortBypassWithDataReductionProxyEnabled, | |
| 188 5L, | |
| 189 profile_prefs()); | |
| 190 VerifyList( | |
| 191 prefs::kDailyContentLengthLongBypassWithDataReductionProxyEnabled, | |
| 192 6L, | |
| 193 profile_prefs()); | |
| 194 VerifyList( | |
| 195 prefs::kDailyContentLengthUnknownWithDataReductionProxyEnabled, | |
| 196 7L, | |
| 197 profile_prefs()); | |
| 198 VerifyList( | |
| 199 prefs::kDailyOriginalContentLengthViaDataReductionProxy, | |
| 200 8L, | |
| 201 profile_prefs()); | |
| 202 VerifyList( | |
| 203 prefs::kDailyContentLengthViaDataReductionProxy, | |
| 204 9L, | |
| 205 profile_prefs()); | |
| 206 EXPECT_EQ(345L, profile_prefs()->GetInt64( | |
| 207 prefs::kDailyHttpContentLengthLastUpdateDate)); | |
| 208 EXPECT_TRUE(profile_prefs()->GetBoolean(prefs::kStatisticsPrefsMigrated)); | |
| 209 | |
| 210 // Migration should only happen once. | |
| 211 local_state_prefs()->SetInt64(prefs::kHttpReceivedContentLength, 456L); | |
| 212 data_reduction_proxy::MigrateStatisticsPrefs(local_state_prefs(), | |
| 213 profile_prefs()); | |
| 214 EXPECT_EQ(123L, profile_prefs()->GetInt64(prefs::kHttpReceivedContentLength)); | |
| 215 } | |
| 216 | |
| 217 } // namespace data_reduction_proxy | 93 } // namespace data_reduction_proxy |
| OLD | NEW |