| Index: chrome/browser/android/data_usage/external_data_use_observer_unittest.cc
|
| diff --git a/chrome/browser/android/data_usage/external_data_use_observer_unittest.cc b/chrome/browser/android/data_usage/external_data_use_observer_unittest.cc
|
| index f13fb58fae743904376fff80929c2dac762ef541..8b9205ef11ff1273f5400b61344eac954ba88436 100644
|
| --- a/chrome/browser/android/data_usage/external_data_use_observer_unittest.cc
|
| +++ b/chrome/browser/android/data_usage/external_data_use_observer_unittest.cc
|
| @@ -33,6 +33,11 @@
|
|
|
| namespace {
|
|
|
| +const char kUMAMatchingRuleFirstFetchDurationHistogram[] =
|
| + "DataUsage.Perf.MatchingRuleFirstFetchDuration";
|
| +const char kUMAReportSubmissionDurationHistogram[] =
|
| + "DataUsage.Perf.ReportSubmissionDuration";
|
| +
|
| const char kDefaultLabel[] = "label";
|
| const SessionID::id_type kDefaultTabId = 0;
|
| const char kDefaultURL[] = "http://www.google.com/#q=abc";
|
| @@ -467,6 +472,7 @@ TEST_F(ExternalDataUseObserverTest, BufferDataUseReports) {
|
| histogram_tester.ExpectUniqueSample(
|
| "DataUsage.ReportSubmission.Bytes.Successful",
|
| external_data_use_observer()->data_use_report_min_bytes_, 1);
|
| + histogram_tester.ExpectTotalCount(kUMAReportSubmissionDurationHistogram, 1);
|
|
|
| // Verify that metrics were updated correctly for the report that was not
|
| // successfully submitted.
|
| @@ -479,6 +485,7 @@ TEST_F(ExternalDataUseObserverTest, BufferDataUseReports) {
|
| histogram_tester.ExpectUniqueSample(
|
| "DataUsage.ReportSubmission.Bytes.Failed",
|
| external_data_use_observer()->data_use_report_min_bytes_, 1);
|
| + histogram_tester.ExpectTotalCount(kUMAReportSubmissionDurationHistogram, 2);
|
| }
|
|
|
| #if defined(OS_ANDROID)
|
| @@ -486,6 +493,7 @@ TEST_F(ExternalDataUseObserverTest, BufferDataUseReports) {
|
| // Report should be submitted even if the number of bytes is less than the
|
| // threshold. Report should not be submitted if there is a pending report.
|
| TEST_F(ExternalDataUseObserverTest, DataUseReportingOnApplicationStatusChange) {
|
| + base::HistogramTester histogram_tester;
|
| AddDefaultMatchingRule();
|
| TriggerTabTrackingOnDefaultTab();
|
|
|
| @@ -507,6 +515,7 @@ TEST_F(ExternalDataUseObserverTest, DataUseReportingOnApplicationStatusChange) {
|
| EXPECT_EQ(0, external_data_use_observer()->total_bytes_buffered_);
|
| EXPECT_EQ(2, external_data_use_observer()->pending_report_bytes_);
|
| external_data_use_observer()->OnReportDataUseDone(true);
|
| + histogram_tester.ExpectTotalCount(kUMAReportSubmissionDurationHistogram, 1);
|
|
|
| // Create pending report.
|
| OnDataUse(default_data_use());
|
| @@ -527,6 +536,7 @@ TEST_F(ExternalDataUseObserverTest, DataUseReportingOnApplicationStatusChange) {
|
| EXPECT_EQ(2, external_data_use_observer()->total_bytes_buffered_);
|
| EXPECT_EQ(default_upload_bytes() + default_download_bytes(),
|
| external_data_use_observer()->pending_report_bytes_);
|
| + histogram_tester.ExpectTotalCount(kUMAReportSubmissionDurationHistogram, 1);
|
|
|
| // Once pending report submission done callback was received, report should be
|
| // submitted on next application state change.
|
| @@ -535,6 +545,7 @@ TEST_F(ExternalDataUseObserverTest, DataUseReportingOnApplicationStatusChange) {
|
| base::android::APPLICATION_STATE_HAS_PAUSED_ACTIVITIES);
|
| EXPECT_EQ(0, external_data_use_observer()->total_bytes_buffered_);
|
| EXPECT_EQ(2, external_data_use_observer()->pending_report_bytes_);
|
| + histogram_tester.ExpectTotalCount(kUMAReportSubmissionDurationHistogram, 2);
|
| }
|
| #endif // OS_ANDROID
|
|
|
| @@ -565,15 +576,18 @@ TEST_F(ExternalDataUseObserverTest, Variations) {
|
|
|
| // Tests if the metrics are recorded correctly.
|
| TEST_F(ExternalDataUseObserverTest, DataUseReportTimedOut) {
|
| + base::HistogramTester histogram_tester;
|
| std::map<std::string, std::string> variation_params;
|
| variation_params["data_report_submit_timeout_msec"] = "0";
|
| variation_params["data_use_report_min_bytes"] = "0";
|
|
|
| // Create another ExternalDataUseObserver object.
|
| ReplaceExternalDataUseObserver(variation_params);
|
| + histogram_tester.ExpectTotalCount(kUMAMatchingRuleFirstFetchDurationHistogram,
|
| + 1);
|
| +
|
| AddDefaultMatchingRule();
|
|
|
| - base::HistogramTester histogram_tester;
|
| TriggerTabTrackingOnDefaultTab();
|
| OnDataUse(default_data_use());
|
| OnDataUse(default_data_use());
|
| @@ -584,6 +598,7 @@ TEST_F(ExternalDataUseObserverTest, DataUseReportTimedOut) {
|
| histogram_tester.ExpectUniqueSample(
|
| "DataUsage.ReportSubmission.Bytes.TimedOut",
|
| default_upload_bytes() + default_download_bytes(), 1);
|
| + histogram_tester.ExpectTotalCount(kUMAReportSubmissionDurationHistogram, 0);
|
| }
|
|
|
| } // namespace android
|
|
|