xref: /aosp_15_r20/external/cronet/components/metrics/expired_histograms_checker_unittest.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2018 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/expired_histograms_checker.h"
6 
7 #include "base/metrics/metrics_hashes.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9 
10 namespace metrics {
11 
TEST(ExpiredHistogramsCheckerTests,BasicTest)12 TEST(ExpiredHistogramsCheckerTests, BasicTest) {
13   uint32_t expired_hashes[] = {1, 2, 3};
14   std::string allowlist_str = "";
15   ExpiredHistogramsChecker checker(expired_hashes, allowlist_str);
16 
17   EXPECT_TRUE(checker.ShouldRecord(0));
18   EXPECT_FALSE(checker.ShouldRecord(3));
19 }
20 
TEST(ExpiredHistogramsCheckerTests,AllowlistTest)21 TEST(ExpiredHistogramsCheckerTests, AllowlistTest) {
22   std::string hist1 = "hist1";
23   std::string hist2 = "hist2";
24   std::string hist3 = "hist3";
25   std::string hist4 = "hist4";
26 
27   uint32_t expired_hashes[] = {base::HashMetricNameAs32Bits(hist1),
28                                base::HashMetricNameAs32Bits(hist2)};
29   std::string allowlist_str = hist2 + "," + hist4;
30   ExpiredHistogramsChecker checker(expired_hashes, allowlist_str);
31 
32   EXPECT_FALSE(checker.ShouldRecord(base::HashMetricNameAs32Bits(hist1)));
33   EXPECT_TRUE(checker.ShouldRecord(base::HashMetricNameAs32Bits(hist2)));
34   EXPECT_TRUE(checker.ShouldRecord(base::HashMetricNameAs32Bits(hist3)));
35   EXPECT_TRUE(checker.ShouldRecord(base::HashMetricNameAs32Bits(hist4)));
36 }
37 
38 }  // namespace metrics
39