stats_unittest.cc 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "components/query_tiles/internal/stats.h"
  5. #include "base/test/metrics/histogram_tester.h"
  6. #include "testing/gtest/include/gtest/gtest.h"
  7. namespace query_tiles {
  8. namespace {
  9. TEST(QueryTilesStatsTest, RecordImageLoading) {
  10. base::HistogramTester tester;
  11. stats::RecordImageLoading(stats::ImagePreloadingEvent::kStart);
  12. tester.ExpectBucketCount(stats::kImagePreloadingHistogram, 0, 1);
  13. }
  14. TEST(QueryTilesStatsTest, RecordTileFetcherResponseCode) {
  15. base::HistogramTester tester;
  16. stats::RecordTileFetcherResponseCode(200);
  17. tester.ExpectBucketCount(stats::kHttpResponseCodeHistogram, 200, 1);
  18. }
  19. TEST(QueryTilesStatsTest, RecordTileFetcherNetErrorCode) {
  20. base::HistogramTester tester;
  21. stats::RecordTileFetcherNetErrorCode(105);
  22. tester.ExpectBucketCount(stats::kNetErrorCodeHistogram, -105, 1);
  23. }
  24. TEST(QueryTilesStatsTest, RecordTileRequestStatus) {
  25. base::HistogramTester tester;
  26. stats::RecordTileRequestStatus(TileInfoRequestStatus::kSuccess);
  27. tester.ExpectBucketCount(stats::kRequestStatusHistogram, 1, 1);
  28. }
  29. TEST(QueryTilesStatsTest, RecordTileGroupStatus) {
  30. base::HistogramTester tester;
  31. stats::RecordTileGroupStatus(TileGroupStatus::kNoTiles);
  32. tester.ExpectBucketCount(stats::kGroupStatusHistogram, 3, 1);
  33. }
  34. TEST(QueryTilesStatsTest, RecordFirstFetchFlowDuration) {
  35. base::HistogramTester tester;
  36. stats::RecordFirstFetchFlowDuration(18);
  37. tester.ExpectBucketCount(stats::kFirstFlowDurationHistogram, 18, 1);
  38. }
  39. TEST(QueryTilesStatsTest, RecordExplodeOnFetchStarted) {
  40. base::HistogramTester tester;
  41. stats::RecordExplodeOnFetchStarted(12);
  42. tester.ExpectBucketCount(stats::kFetcherStartHourHistogram, 12, 1);
  43. }
  44. TEST(QueryTilesStatsTest, RecordGroupPruned) {
  45. base::HistogramTester tester;
  46. stats::RecordGroupPruned(stats::PrunedGroupReason::kExpired);
  47. stats::RecordGroupPruned(stats::PrunedGroupReason::kInvalidLocale);
  48. tester.ExpectBucketCount(stats::kPrunedGroupReasonHistogram, 0, 1);
  49. tester.ExpectBucketCount(stats::kPrunedGroupReasonHistogram, 1, 1);
  50. }
  51. TEST(QueryTilesStatsTest, RecordTrendingTileEvent) {
  52. base::HistogramTester tester;
  53. stats::RecordTrendingTileEvent(stats::TrendingTileEvent::kRemoved);
  54. stats::RecordTrendingTileEvent(stats::TrendingTileEvent::kClicked);
  55. tester.ExpectBucketCount(stats::kTrendingTileEventHistogram, 0, 0);
  56. tester.ExpectBucketCount(stats::kTrendingTileEventHistogram, 1, 1);
  57. tester.ExpectBucketCount(stats::kTrendingTileEventHistogram, 2, 1);
  58. }
  59. } // namespace
  60. } // namespace query_tiles