| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/metrics/data_use_tracker.h" | 5 #include "components/metrics/data_use_tracker.h" |
| 6 | 6 |
| 7 #include "base/strings/stringprintf.h" | 7 #include "base/strings/stringprintf.h" |
| 8 #include "components/metrics/metrics_pref_names.h" | 8 #include "components/metrics/metrics_pref_names.h" |
| 9 #include "components/prefs/pref_registry_simple.h" | 9 #include "components/prefs/pref_registry_simple.h" |
| 10 #include "components/prefs/testing_pref_service.h" | 10 #include "components/prefs/testing_pref_service.h" |
| 11 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
| 12 | 12 |
| 13 namespace metrics { | 13 namespace metrics { |
| 14 | 14 |
| 15 namespace { | 15 namespace { |
| 16 | 16 |
| 17 const char kTodayStr[] = "2016-03-16"; | 17 const char kTodayStr[] = "2016-03-16"; |
| 18 const char kYesterdayStr[] = "2016-03-15"; | 18 const char kYesterdayStr[] = "2016-03-15"; |
| 19 const char kExpiredDateStr1[] = "2016-03-09"; | 19 const char kExpiredDateStr1[] = "2016-03-09"; |
| 20 const char kExpiredDateStr2[] = "2016-03-01"; | 20 const char kExpiredDateStr2[] = "2016-03-01"; |
| 21 | 21 |
| 22 class TestDataUsePrefService : public TestingPrefServiceSimple { | 22 class TestDataUsePrefService : public TestingPrefServiceSimple { |
| 23 public: | 23 public: |
| 24 TestDataUsePrefService() { | 24 TestDataUsePrefService() { DataUseTracker::RegisterPrefs(registry()); } |
| 25 registry()->RegisterDictionaryPref(metrics::prefs::kUserCellDataUse); | |
| 26 registry()->RegisterDictionaryPref(metrics::prefs::kUmaCellDataUse); | |
| 27 } | |
| 28 | 25 |
| 29 void ClearDataUsePrefs() { | 26 void ClearDataUsePrefs() { |
| 30 ClearPref(metrics::prefs::kUserCellDataUse); | 27 ClearPref(metrics::prefs::kUserCellDataUse); |
| 31 ClearPref(metrics::prefs::kUmaCellDataUse); | 28 ClearPref(metrics::prefs::kUmaCellDataUse); |
| 32 } | 29 } |
| 33 | 30 |
| 34 private: | 31 private: |
| 35 DISALLOW_COPY_AND_ASSIGN(TestDataUsePrefService); | 32 DISALLOW_COPY_AND_ASSIGN(TestDataUsePrefService); |
| 36 }; | 33 }; |
| 37 | 34 |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 data_use_tracker.ComputeTotalDataUse(prefs::kUmaCellDataUse); | 175 data_use_tracker.ComputeTotalDataUse(prefs::kUmaCellDataUse); |
| 179 EXPECT_EQ(4 * 50, uma_data_use); | 176 EXPECT_EQ(4 * 50, uma_data_use); |
| 180 } | 177 } |
| 181 | 178 |
| 182 TEST(DataUseTrackerTest, CheckShouldUploadLogOnCellular) { | 179 TEST(DataUseTrackerTest, CheckShouldUploadLogOnCellular) { |
| 183 TestDataUsePrefService local_state; | 180 TestDataUsePrefService local_state; |
| 184 FakeDataUseTracker data_use_tracker(&local_state); | 181 FakeDataUseTracker data_use_tracker(&local_state); |
| 185 local_state.ClearDataUsePrefs(); | 182 local_state.ClearDataUsePrefs(); |
| 186 SetPrefTestValuesOverRatio(&local_state); | 183 SetPrefTestValuesOverRatio(&local_state); |
| 187 | 184 |
| 188 bool can_upload = data_use_tracker.ShouldUploadLogOnCellular(50); | 185 bool can_upload = |
| 186 data_use_tracker.ShouldUploadLogOnCellular(50, MetricsLogUploader::UMA); |
| 189 EXPECT_TRUE(can_upload); | 187 EXPECT_TRUE(can_upload); |
| 190 can_upload = data_use_tracker.ShouldUploadLogOnCellular(100); | 188 can_upload = |
| 189 data_use_tracker.ShouldUploadLogOnCellular(100, MetricsLogUploader::UMA); |
| 191 EXPECT_TRUE(can_upload); | 190 EXPECT_TRUE(can_upload); |
| 192 can_upload = data_use_tracker.ShouldUploadLogOnCellular(150); | 191 can_upload = |
| 192 data_use_tracker.ShouldUploadLogOnCellular(150, MetricsLogUploader::UMA); |
| 193 EXPECT_FALSE(can_upload); | 193 EXPECT_FALSE(can_upload); |
| 194 | 194 |
| 195 local_state.ClearDataUsePrefs(); | 195 local_state.ClearDataUsePrefs(); |
| 196 SetPrefTestValuesValidRatio(&local_state); | 196 SetPrefTestValuesValidRatio(&local_state); |
| 197 can_upload = data_use_tracker.ShouldUploadLogOnCellular(100); | 197 can_upload = |
| 198 data_use_tracker.ShouldUploadLogOnCellular(100, MetricsLogUploader::UMA); |
| 198 EXPECT_TRUE(can_upload); | 199 EXPECT_TRUE(can_upload); |
| 199 // this is about 0.49% | 200 // this is about 0.49% |
| 200 can_upload = data_use_tracker.ShouldUploadLogOnCellular(200); | 201 can_upload = |
| 202 data_use_tracker.ShouldUploadLogOnCellular(200, MetricsLogUploader::UMA); |
| 201 EXPECT_TRUE(can_upload); | 203 EXPECT_TRUE(can_upload); |
| 202 can_upload = data_use_tracker.ShouldUploadLogOnCellular(300); | 204 can_upload = |
| 205 data_use_tracker.ShouldUploadLogOnCellular(300, MetricsLogUploader::UMA); |
| 203 EXPECT_FALSE(can_upload); | 206 EXPECT_FALSE(can_upload); |
| 204 } | 207 } |
| 205 | 208 |
| 206 } // namespace metrics | 209 } // namespace metrics |
| OLD | NEW |