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

Unified Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_metrics_unittest.cc

Issue 1054363002: Update DataReductionProxyNetworkDelegate/BypassStats to post tasks safely. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: bengr CR comments Created 5 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_metrics_unittest.cc
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_metrics_unittest.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_metrics_unittest.cc
index 6fe2b60f572406a882fed89445bab9fa940a7b5e..be48a2ad2c510ed6513812cdb3fd21b39b081d65 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_metrics_unittest.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_metrics_unittest.cc
@@ -6,19 +6,11 @@
#include "base/basictypes.h"
#include "base/compiler_specific.h"
-#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
-#include "base/prefs/pref_registry_simple.h"
-#include "base/prefs/pref_service.h"
-#include "base/prefs/testing_pref_service.h"
-#include "base/strings/string_number_conversions.h"
-#include "base/test/test_simple_task_runner.h"
#include "base/time/time.h"
-#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_config_test_utils.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_test_utils.h"
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params_test_utils.h"
-#include "components/data_reduction_proxy/core/common/data_reduction_proxy_pref_names.h"
#include "net/base/load_flags.h"
#include "net/log/net_log.h"
#include "net/proxy/proxy_server.h"
@@ -30,648 +22,10 @@
using net::MockRead;
-namespace {
-
-int64 GetListPrefInt64Value(
- const base::ListValue& list_update, size_t index) {
- std::string string_value;
- EXPECT_TRUE(list_update.GetString(index, &string_value));
-
- int64 value = 0;
- EXPECT_TRUE(base::StringToInt64(string_value, &value));
- return value;
-}
-
-} // namespace
-
namespace data_reduction_proxy {
-// Test UpdateContentLengthPrefs.
-class ChromeNetworkDataSavingMetricsTest : public testing::Test {
- protected:
- ChromeNetworkDataSavingMetricsTest() {}
-
- void SetUp() override {
- compression_stats_.reset(new DataReductionProxyCompressionStats(
- &pref_service_,
- scoped_refptr<base::TestSimpleTaskRunner>(
- new base::TestSimpleTaskRunner()),
- base::TimeDelta()));
- PrefRegistrySimple* registry = pref_service_.registry();
- registry->RegisterInt64Pref(
- data_reduction_proxy::prefs::kHttpReceivedContentLength, 0);
- registry->RegisterInt64Pref(
- data_reduction_proxy::prefs::kHttpOriginalContentLength, 0);
-
- registry->RegisterListPref(data_reduction_proxy::prefs::
- kDailyHttpOriginalContentLength);
- registry->RegisterListPref(data_reduction_proxy::prefs::
- kDailyHttpReceivedContentLength);
- registry->RegisterListPref(
- data_reduction_proxy::prefs::
- kDailyOriginalContentLengthWithDataReductionProxyEnabled);
- registry->RegisterListPref(
- data_reduction_proxy::prefs::
- kDailyContentLengthWithDataReductionProxyEnabled);
- registry->RegisterListPref(
- data_reduction_proxy::prefs::
- kDailyContentLengthHttpsWithDataReductionProxyEnabled);
- registry->RegisterListPref(
- data_reduction_proxy::prefs::
- kDailyContentLengthShortBypassWithDataReductionProxyEnabled);
- registry->RegisterListPref(
- data_reduction_proxy::prefs::
- kDailyContentLengthLongBypassWithDataReductionProxyEnabled);
- registry->RegisterListPref(
- data_reduction_proxy::prefs::
- kDailyContentLengthUnknownWithDataReductionProxyEnabled);
- registry->RegisterListPref(
- data_reduction_proxy::prefs::
- kDailyOriginalContentLengthViaDataReductionProxy);
- registry->RegisterListPref(
- data_reduction_proxy::prefs::
- kDailyContentLengthViaDataReductionProxy);
- registry->RegisterInt64Pref(
- data_reduction_proxy::prefs::
- kDailyHttpContentLengthLastUpdateDate, 0L);
- registry->RegisterBooleanPref(
- data_reduction_proxy::prefs::kDataReductionProxyEnabled, false);
- }
-
- TestingPrefServiceSimple pref_service_;
- scoped_ptr<DataReductionProxyCompressionStats> compression_stats_;
-};
-
-// The initial last update time used in test. There is no leap second a few
-// days around this time used in the test.
-// Note: No time zone is specified. Local time will be assumed by
-// base::Time::FromString below.
-const char kLastUpdateTime[] = "Wed, 18 Sep 2013 03:45:26";
-
-class ChromeNetworkDailyDataSavingMetricsTest
- : public ChromeNetworkDataSavingMetricsTest {
- protected:
- ChromeNetworkDailyDataSavingMetricsTest() {
- base::Time::FromString(kLastUpdateTime, &now_);
- }
-
- void SetUp() override {
- ChromeNetworkDataSavingMetricsTest::SetUp();
-
- // Only create two lists in Setup to test that adding new lists is fine.
- CreatePrefList(
- data_reduction_proxy::prefs::kDailyHttpOriginalContentLength);
- CreatePrefList(
- data_reduction_proxy::prefs::kDailyHttpReceivedContentLength);
- }
-
- base::Time FakeNow() const {
- return now_ + now_delta_;
- }
-
- void SetFakeTimeDeltaInHours(int hours) {
- now_delta_ = base::TimeDelta::FromHours(hours);
- }
-
- void AddFakeTimeDeltaInHours(int hours) {
- now_delta_ += base::TimeDelta::FromHours(hours);
- }
-
- // Create daily pref list of |kNumDaysInHistory| zero values.
- void CreatePrefList(const char* pref) {
- base::ListValue* update = compression_stats_->GetList(pref);
- update->Clear();
- for (size_t i = 0; i < kNumDaysInHistory; ++i) {
- update->Insert(0, new base::StringValue(base::Int64ToString(0)));
- }
- }
-
- // Verify the pref list values are equal to the given values.
- // If the count of values is less than kNumDaysInHistory, zeros are assumed
- // at the beginning.
- void VerifyPrefList(const char* pref, const int64* values, size_t count) {
- ASSERT_GE(kNumDaysInHistory, count);
- base::ListValue* update = compression_stats_->GetList(pref);
- ASSERT_EQ(kNumDaysInHistory, update->GetSize()) << "Pref: " << pref;
-
- for (size_t i = 0; i < count; ++i) {
- EXPECT_EQ(
- values[i],
- GetListPrefInt64Value(*update, kNumDaysInHistory - count + i))
- << "index=" << (kNumDaysInHistory - count + i);
- }
- for (size_t i = 0; i < kNumDaysInHistory - count; ++i) {
- EXPECT_EQ(0, GetListPrefInt64Value(*update, i)) << "index=" << i;
- }
- }
-
- // Verify all daily data saving pref list values.
- void VerifyDailyDataSavingContentLengthPrefLists(
- const int64* original_values, size_t original_count,
- const int64* received_values, size_t received_count,
- const int64* original_with_data_reduction_proxy_enabled_values,
- size_t original_with_data_reduction_proxy_enabled_count,
- const int64* received_with_data_reduction_proxy_enabled_values,
- size_t received_with_data_reduction_proxy_count,
- const int64* original_via_data_reduction_proxy_values,
- size_t original_via_data_reduction_proxy_count,
- const int64* received_via_data_reduction_proxy_values,
- size_t received_via_data_reduction_proxy_count) {
- VerifyPrefList(data_reduction_proxy::prefs::kDailyHttpOriginalContentLength,
- original_values, original_count);
- VerifyPrefList(data_reduction_proxy::prefs::kDailyHttpReceivedContentLength,
- received_values, received_count);
- VerifyPrefList(
- data_reduction_proxy::prefs::
- kDailyOriginalContentLengthWithDataReductionProxyEnabled,
- original_with_data_reduction_proxy_enabled_values,
- original_with_data_reduction_proxy_enabled_count);
- VerifyPrefList(
- data_reduction_proxy::prefs::
- kDailyContentLengthWithDataReductionProxyEnabled,
- received_with_data_reduction_proxy_enabled_values,
- received_with_data_reduction_proxy_count);
- VerifyPrefList(
- data_reduction_proxy::prefs::
- kDailyOriginalContentLengthViaDataReductionProxy,
- original_via_data_reduction_proxy_values,
- original_via_data_reduction_proxy_count);
- VerifyPrefList(
- data_reduction_proxy::prefs::
- kDailyContentLengthViaDataReductionProxy,
- received_via_data_reduction_proxy_values,
- received_via_data_reduction_proxy_count);
- }
-
- // Verify daily data saving pref for request types.
- void VerifyDailyRequestTypeContentLengthPrefLists(
- const int64* original_values, size_t original_count,
- const int64* received_values, size_t received_count,
- const int64* original_with_data_reduction_proxy_enabled_values,
- size_t original_with_data_reduction_proxy_enabled_count,
- const int64* received_with_data_reduction_proxy_enabled_values,
- size_t received_with_data_reduction_proxy_count,
- const int64* https_with_data_reduction_proxy_enabled_values,
- size_t https_with_data_reduction_proxy_enabled_count,
- const int64* short_bypass_with_data_reduction_proxy_enabled_values,
- size_t short_bypass_with_data_reduction_proxy_enabled_count,
- const int64* long_bypass_with_data_reduction_proxy_enabled_values,
- size_t long_bypass_with_data_reduction_proxy_enabled_count,
- const int64* unknown_with_data_reduction_proxy_enabled_values,
- size_t unknown_with_data_reduction_proxy_enabled_count) {
- VerifyPrefList(data_reduction_proxy::prefs::kDailyHttpOriginalContentLength,
- original_values, original_count);
- VerifyPrefList(data_reduction_proxy::prefs::kDailyHttpReceivedContentLength,
- received_values, received_count);
- VerifyPrefList(
- data_reduction_proxy::prefs::
- kDailyOriginalContentLengthWithDataReductionProxyEnabled,
- original_with_data_reduction_proxy_enabled_values,
- original_with_data_reduction_proxy_enabled_count);
- VerifyPrefList(
- data_reduction_proxy::prefs::
- kDailyContentLengthWithDataReductionProxyEnabled,
- received_with_data_reduction_proxy_enabled_values,
- received_with_data_reduction_proxy_count);
- VerifyPrefList(
- data_reduction_proxy::prefs::
- kDailyContentLengthHttpsWithDataReductionProxyEnabled,
- https_with_data_reduction_proxy_enabled_values,
- https_with_data_reduction_proxy_enabled_count);
- VerifyPrefList(
- data_reduction_proxy::prefs::
- kDailyContentLengthShortBypassWithDataReductionProxyEnabled,
- short_bypass_with_data_reduction_proxy_enabled_values,
- short_bypass_with_data_reduction_proxy_enabled_count);
- VerifyPrefList(
- data_reduction_proxy::prefs::
- kDailyContentLengthLongBypassWithDataReductionProxyEnabled,
- long_bypass_with_data_reduction_proxy_enabled_values,
- long_bypass_with_data_reduction_proxy_enabled_count);
- VerifyPrefList(
- data_reduction_proxy::prefs::
- kDailyContentLengthUnknownWithDataReductionProxyEnabled,
- unknown_with_data_reduction_proxy_enabled_values,
- unknown_with_data_reduction_proxy_enabled_count);
- }
-
- private:
- base::Time now_;
- base::TimeDelta now_delta_;
-};
-
-TEST_F(ChromeNetworkDailyDataSavingMetricsTest, OneResponse) {
- const int64 kOriginalLength = 200;
- const int64 kReceivedLength = 100;
- int64 original[] = {kOriginalLength};
- int64 received[] = {kReceivedLength};
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 1, received, 1,
- original, 1, received, 1,
- original, 1, received, 1);
-}
-
-TEST_F(ChromeNetworkDailyDataSavingMetricsTest, MultipleResponses) {
- const int64 kOriginalLength = 150;
- const int64 kReceivedLength = 100;
- int64 original[] = {kOriginalLength};
- int64 received[] = {kReceivedLength};
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- false, UNKNOWN_TYPE,
- FakeNow(), compression_stats_.get());
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 1, received, 1,
- NULL, 0, NULL, 0, NULL, 0, NULL, 0);
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, UNKNOWN_TYPE,
- FakeNow(), compression_stats_.get());
- original[0] += kOriginalLength;
- received[0] += kReceivedLength;
- int64 original_proxy_enabled[] = {kOriginalLength};
- int64 received_proxy_enabled[] = {kReceivedLength};
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 1, received, 1,
- original_proxy_enabled, 1, received_proxy_enabled, 1,
- NULL, 0, NULL, 0);
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- original[0] += kOriginalLength;
- received[0] += kReceivedLength;
- original_proxy_enabled[0] += kOriginalLength;
- received_proxy_enabled[0] += kReceivedLength;
- int64 original_via_proxy[] = {kOriginalLength};
- int64 received_via_proxy[] = {kReceivedLength};
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 1, received, 1,
- original_proxy_enabled, 1, received_proxy_enabled, 1,
- original_via_proxy, 1, received_via_proxy, 1);
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, UNKNOWN_TYPE, FakeNow(), compression_stats_.get());
- original[0] += kOriginalLength;
- received[0] += kReceivedLength;
- original_proxy_enabled[0] += kOriginalLength;
- received_proxy_enabled[0] += kReceivedLength;
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 1, received, 1,
- original_proxy_enabled, 1, received_proxy_enabled, 1,
- original_via_proxy, 1, received_via_proxy, 1);
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- false, UNKNOWN_TYPE, FakeNow(), compression_stats_.get());
- original[0] += kOriginalLength;
- received[0] += kReceivedLength;
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 1, received, 1,
- original_proxy_enabled, 1, received_proxy_enabled, 1,
- original_via_proxy, 1, received_via_proxy, 1);
-}
-
-TEST_F(ChromeNetworkDailyDataSavingMetricsTest, RequestType) {
- const int64 kContentLength = 200;
- int64 received[] = {0};
- int64 https_received[] = {0};
- int64 total_received[] = {0};
- int64 proxy_enabled_received[] = {0};
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kContentLength, kContentLength,
- true, HTTPS,
- FakeNow(), compression_stats_.get());
- total_received[0] += kContentLength;
- proxy_enabled_received[0] += kContentLength;
- https_received[0] += kContentLength;
- VerifyDailyRequestTypeContentLengthPrefLists(
- total_received, 1, total_received, 1,
- proxy_enabled_received, 1, proxy_enabled_received, 1,
- https_received, 1,
- received, 0, // short bypass
- received, 0, // long bypass
- received, 0); // unknown
-
- // Data reduction proxy is not enabled.
- UpdateContentLengthPrefsForDataReductionProxy(
- kContentLength, kContentLength,
- false, HTTPS,
- FakeNow(), compression_stats_.get());
- total_received[0] += kContentLength;
- VerifyDailyRequestTypeContentLengthPrefLists(
- total_received, 1, total_received, 1,
- proxy_enabled_received, 1, proxy_enabled_received, 1,
- https_received, 1,
- received, 0, // short bypass
- received, 0, // long bypass
- received, 0); // unknown
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kContentLength, kContentLength,
- true, HTTPS,
- FakeNow(), compression_stats_.get());
- total_received[0] += kContentLength;
- proxy_enabled_received[0] += kContentLength;
- https_received[0] += kContentLength;
- VerifyDailyRequestTypeContentLengthPrefLists(
- total_received, 1, total_received, 1,
- proxy_enabled_received, 1, proxy_enabled_received, 1,
- https_received, 1,
- received, 0, // short bypass
- received, 0, // long bypass
- received, 0); // unknown
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kContentLength, kContentLength,
- true, SHORT_BYPASS,
- FakeNow(), compression_stats_.get());
- total_received[0] += kContentLength;
- proxy_enabled_received[0] += kContentLength;
- received[0] += kContentLength;
- VerifyDailyRequestTypeContentLengthPrefLists(
- total_received, 1, total_received, 1,
- proxy_enabled_received, 1, proxy_enabled_received, 1,
- https_received, 1,
- received, 1, // short bypass
- received, 0, // long bypass
- received, 0); // unknown
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kContentLength, kContentLength,
- true, LONG_BYPASS,
- FakeNow(), compression_stats_.get());
- total_received[0] += kContentLength;
- proxy_enabled_received[0] += kContentLength;
- VerifyDailyRequestTypeContentLengthPrefLists(
- total_received, 1, total_received, 1, // total
- proxy_enabled_received, 1, proxy_enabled_received, 1,
- https_received, 1,
- received, 1, // short bypass
- received, 1, // long bypass
- received, 0); // unknown
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kContentLength, kContentLength,
- true, UNKNOWN_TYPE,
- FakeNow(), compression_stats_.get());
- total_received[0] += kContentLength;
- proxy_enabled_received[0] += kContentLength;
- VerifyDailyRequestTypeContentLengthPrefLists(
- total_received, 1, total_received, 1,
- proxy_enabled_received, 1, proxy_enabled_received, 1,
- https_received, 1,
- received, 1, // short bypass
- received, 1, // long bypass
- received, 1); // unknown
-}
-
-TEST_F(ChromeNetworkDailyDataSavingMetricsTest, ForwardOneDay) {
- const int64 kOriginalLength = 200;
- const int64 kReceivedLength = 100;
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
-
- // Forward one day.
- SetFakeTimeDeltaInHours(24);
-
- // Proxy not enabled. Not via proxy.
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- false, UNKNOWN_TYPE, FakeNow(), compression_stats_.get());
-
- int64 original[] = {kOriginalLength, kOriginalLength};
- int64 received[] = {kReceivedLength, kReceivedLength};
- int64 original_with_data_reduction_proxy_enabled[] = {kOriginalLength, 0};
- int64 received_with_data_reduction_proxy_enabled[] = {kReceivedLength, 0};
- int64 original_via_data_reduction_proxy[] = {kOriginalLength, 0};
- int64 received_via_data_reduction_proxy[] = {kReceivedLength, 0};
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 2,
- received, 2,
- original_with_data_reduction_proxy_enabled, 2,
- received_with_data_reduction_proxy_enabled, 2,
- original_via_data_reduction_proxy, 2,
- received_via_data_reduction_proxy, 2);
-
- // Proxy enabled. Not via proxy.
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, UNKNOWN_TYPE, FakeNow(), compression_stats_.get());
- original[1] += kOriginalLength;
- received[1] += kReceivedLength;
- original_with_data_reduction_proxy_enabled[1] += kOriginalLength;
- received_with_data_reduction_proxy_enabled[1] += kReceivedLength;
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 2,
- received, 2,
- original_with_data_reduction_proxy_enabled, 2,
- received_with_data_reduction_proxy_enabled, 2,
- original_via_data_reduction_proxy, 2,
- received_via_data_reduction_proxy, 2);
-
- // Proxy enabled and via proxy.
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- original[1] += kOriginalLength;
- received[1] += kReceivedLength;
- original_with_data_reduction_proxy_enabled[1] += kOriginalLength;
- received_with_data_reduction_proxy_enabled[1] += kReceivedLength;
- original_via_data_reduction_proxy[1] += kOriginalLength;
- received_via_data_reduction_proxy[1] += kReceivedLength;
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 2,
- received, 2,
- original_with_data_reduction_proxy_enabled, 2,
- received_with_data_reduction_proxy_enabled, 2,
- original_via_data_reduction_proxy, 2,
- received_via_data_reduction_proxy, 2);
-}
-
-TEST_F(ChromeNetworkDailyDataSavingMetricsTest, PartialDayTimeChange) {
- const int64 kOriginalLength = 200;
- const int64 kReceivedLength = 100;
- int64 original[] = {0, kOriginalLength};
- int64 received[] = {0, kReceivedLength};
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 2, received, 2,
- original, 2, received, 2,
- original, 2, received, 2);
-
- // Forward 10 hours, stay in the same day.
- // See kLastUpdateTime: "Now" in test is 03:45am.
- SetFakeTimeDeltaInHours(10);
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- original[1] += kOriginalLength;
- received[1] += kReceivedLength;
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 2, received, 2,
- original, 2, received, 2,
- original, 2, received, 2);
-
- // Forward 11 more hours, comes to tomorrow.
- AddFakeTimeDeltaInHours(11);
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- int64 original2[] = {kOriginalLength * 2, kOriginalLength};
- int64 received2[] = {kReceivedLength * 2, kReceivedLength};
- VerifyDailyDataSavingContentLengthPrefLists(
- original2, 2, received2, 2,
- original2, 2, received2, 2,
- original2, 2, received2, 2);
-}
-
-TEST_F(ChromeNetworkDailyDataSavingMetricsTest, ForwardMultipleDays) {
- const int64 kOriginalLength = 200;
- const int64 kReceivedLength = 100;
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
-
- // Forward three days.
- SetFakeTimeDeltaInHours(3 * 24);
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
-
- int64 original[] = {kOriginalLength, 0, 0, kOriginalLength};
- int64 received[] = {kReceivedLength, 0, 0, kReceivedLength};
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 4, received, 4,
- original, 4, received, 4,
- original, 4, received, 4);
-
- // Forward four more days.
- AddFakeTimeDeltaInHours(4 * 24);
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- int64 original2[] = {
- kOriginalLength, 0, 0, kOriginalLength, 0, 0, 0, kOriginalLength,
- };
- int64 received2[] = {
- kReceivedLength, 0, 0, kReceivedLength, 0, 0, 0, kReceivedLength,
- };
- VerifyDailyDataSavingContentLengthPrefLists(
- original2, 8, received2, 8,
- original2, 8, received2, 8,
- original2, 8, received2, 8);
-
- // Forward |kNumDaysInHistory| more days.
- AddFakeTimeDeltaInHours(kNumDaysInHistory * 24);
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- int64 original3[] = {kOriginalLength};
- int64 received3[] = {kReceivedLength};
- VerifyDailyDataSavingContentLengthPrefLists(
- original3, 1, received3, 1,
- original3, 1, received3, 1,
- original3, 1, received3, 1);
-
- // Forward |kNumDaysInHistory| + 1 more days.
- AddFakeTimeDeltaInHours((kNumDaysInHistory + 1)* 24);
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- VerifyDailyDataSavingContentLengthPrefLists(
- original3, 1, received3, 1,
- original3, 1, received3, 1,
- original3, 1, received3, 1);
-}
-
-TEST_F(ChromeNetworkDailyDataSavingMetricsTest, BackwardAndForwardOneDay) {
- const int64 kOriginalLength = 200;
- const int64 kReceivedLength = 100;
- int64 original[] = {kOriginalLength};
- int64 received[] = {kReceivedLength};
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
-
- // Backward one day.
- SetFakeTimeDeltaInHours(-24);
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- original[0] += kOriginalLength;
- received[0] += kReceivedLength;
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 1, received, 1,
- original, 1, received, 1,
- original, 1, received, 1);
-
- // Then, Forward one day
- AddFakeTimeDeltaInHours(24);
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- int64 original2[] = {kOriginalLength * 2, kOriginalLength};
- int64 received2[] = {kReceivedLength * 2, kReceivedLength};
- VerifyDailyDataSavingContentLengthPrefLists(
- original2, 2, received2, 2,
- original2, 2, received2, 2,
- original2, 2, received2, 2);
-}
-
-TEST_F(ChromeNetworkDailyDataSavingMetricsTest, BackwardTwoDays) {
- const int64 kOriginalLength = 200;
- const int64 kReceivedLength = 100;
- int64 original[] = {kOriginalLength};
- int64 received[] = {kReceivedLength};
-
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- // Backward two days.
- SetFakeTimeDeltaInHours(-2 * 24);
- UpdateContentLengthPrefsForDataReductionProxy(
- kReceivedLength, kOriginalLength,
- true, VIA_DATA_REDUCTION_PROXY,
- FakeNow(), compression_stats_.get());
- VerifyDailyDataSavingContentLengthPrefLists(
- original, 1, received, 1,
- original, 1, received, 1,
- original, 1, received, 1);
-}
-
-TEST_F(ChromeNetworkDailyDataSavingMetricsTest,
- GetDataReductionProxyRequestType) {
+TEST(ChromeNetworkDailyDataSavingMetricsTest,
+ GetDataReductionProxyRequestType) {
scoped_ptr<DataReductionProxyTestContext> test_context =
DataReductionProxyTestContext::Builder()
.WithParamsFlags(DataReductionProxyParams::kAllowed)

Powered by Google App Engine
This is Rietveld 408576698