[M120 Migration][VD] Enable direct rendering for TVPlus
[platform/framework/web/chromium-efl.git] / components / metrics / unsent_log_store_metrics_impl_unittest.cc
1 // Copyright 2020 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "components/metrics/unsent_log_store_metrics_impl.h"
6
7 #include "base/test/metrics/histogram_tester.h"
8 #include "base/test/scoped_feature_list.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 namespace metrics {
12
13 TEST(UnsentLogStoreMetricsImplTest, RecordDroppedLogSize) {
14   UnsentLogStoreMetricsImpl impl;
15   base::HistogramTester histogram_tester;
16
17   impl.RecordDroppedLogSize(99999);
18   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.DroppedSize", 99999, 1);
19 }
20
21 TEST(UnsentLogStoreMetricsImplTest, RecordDroppedLogsNum) {
22   UnsentLogStoreMetricsImpl impl;
23   base::HistogramTester histogram_tester;
24
25   impl.RecordDroppedLogsNum(17);
26   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.Dropped", 17, 1);
27 }
28
29 TEST(UnsentLogStoreMetricsImplTest, RecordLastUnsentLogMetadataMetrics) {
30   base::test::ScopedFeatureList feature_override;
31   feature_override.InitAndEnableFeature(kRecordLastUnsentLogMetadataMetrics);
32   UnsentLogStoreMetricsImpl impl;
33   base::HistogramTester histogram_tester;
34
35   impl.RecordLastUnsentLogMetadataMetrics(99, 19999, 63);
36   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.UnsentCount", 99, 1);
37   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.SentCount", 19999, 1);
38   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.UnsentPercentage",
39                                      99 * 100 / (99 + 19999), 1);
40   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.PersistedSizeInKB", 63, 1);
41 }
42
43 TEST(UnsentLogStoreMetricsImplTest, DisableRecordLastUnsentLogMetadataMetrics) {
44   UnsentLogStoreMetricsImpl impl;
45   base::HistogramTester histogram_tester;
46
47   impl.RecordLastUnsentLogMetadataMetrics(99, 19999, 63);
48   EXPECT_TRUE(
49       histogram_tester.GetAllSamples("UMA.UnsentLogs.UnsentCount").empty());
50   EXPECT_TRUE(
51       histogram_tester.GetAllSamples("UMA.UnsentLogs.SentCount").empty());
52   EXPECT_TRUE(histogram_tester.GetAllSamples("UMA.UnsentLogs.UnsentPercentage")
53                   .empty());
54   EXPECT_TRUE(histogram_tester.GetAllSamples("UMA.UnsentLogs.PersistedSizeInKB")
55                   .empty());
56 }
57
58 TEST(UnsentLogStoreMetricsImplTest, BothUnsentAndSentZeroSample) {
59   base::test::ScopedFeatureList feature_override;
60   feature_override.InitAndEnableFeature(kRecordLastUnsentLogMetadataMetrics);
61   UnsentLogStoreMetricsImpl impl;
62   base::HistogramTester histogram_tester;
63
64   impl.RecordLastUnsentLogMetadataMetrics(0, 0, 63);
65   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.UnsentCount", 0, 1);
66   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.SentCount", 0, 1);
67   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.UnsentPercentage", 0, 1);
68 }
69
70 TEST(UnsentLogStoreMetricsImplTest, ZeroUnsentSample) {
71   base::test::ScopedFeatureList feature_override;
72   feature_override.InitAndEnableFeature(kRecordLastUnsentLogMetadataMetrics);
73   UnsentLogStoreMetricsImpl impl;
74   base::HistogramTester histogram_tester;
75
76   impl.RecordLastUnsentLogMetadataMetrics(0, 999999, 63);
77   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.UnsentCount", 0, 1);
78   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.SentCount", 999999, 1);
79   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.UnsentPercentage", 0, 1);
80 }
81
82 TEST(UnsentLogStoreMetricsImplTest, ZeroSentSample) {
83   base::test::ScopedFeatureList feature_override;
84   feature_override.InitAndEnableFeature(kRecordLastUnsentLogMetadataMetrics);
85   UnsentLogStoreMetricsImpl impl;
86   base::HistogramTester histogram_tester;
87
88   impl.RecordLastUnsentLogMetadataMetrics(999, 0, 63);
89   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.UnsentCount", 999, 1);
90   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.SentCount", 0, 1);
91   histogram_tester.ExpectBucketCount("UMA.UnsentLogs.UnsentPercentage", 100, 1);
92 }
93
94 }  // namespace metrics