blob: 6f51ff939b3a9cbfce5f68cb4171815cace335f3 [file] [log] [blame]
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/query_tiles/internal/stats.h"
#include "base/test/metrics/histogram_tester.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace query_tiles {
namespace {
TEST(QueryTilesStatsTest, RecordImageLoading) {
base::HistogramTester tester;
stats::RecordImageLoading(stats::ImagePreloadingEvent::kStart);
tester.ExpectBucketCount(stats::kImagePreloadingHistogram, 0, 1);
}
TEST(QueryTilesStatsTest, RecordTileFetcherResponseCode) {
base::HistogramTester tester;
stats::RecordTileFetcherResponseCode(200);
tester.ExpectBucketCount(stats::kHttpResponseCodeHistogram, 200, 1);
}
TEST(QueryTilesStatsTest, RecordTileFetcherNetErrorCode) {
base::HistogramTester tester;
stats::RecordTileFetcherNetErrorCode(105);
tester.ExpectBucketCount(stats::kNetErrorCodeHistogram, -105, 1);
}
TEST(QueryTilesStatsTest, RecordTileRequestStatus) {
base::HistogramTester tester;
stats::RecordTileRequestStatus(TileInfoRequestStatus::kSuccess);
tester.ExpectBucketCount(stats::kRequestStatusHistogram, 1, 1);
}
TEST(QueryTilesStatsTest, RecordTileGroupStatus) {
base::HistogramTester tester;
stats::RecordTileGroupStatus(TileGroupStatus::kNoTiles);
tester.ExpectBucketCount(stats::kGroupStatusHistogram, 3, 1);
}
TEST(QueryTilesStatsTest, RecordFirstFetchFlowDuration) {
base::HistogramTester tester;
stats::RecordFirstFetchFlowDuration(18);
tester.ExpectBucketCount(stats::kFirstFlowDurationHistogram, 18, 1);
}
TEST(QueryTilesStatsTest, RecordExplodeOnFetchStarted) {
base::HistogramTester tester;
stats::RecordExplodeOnFetchStarted(12);
tester.ExpectBucketCount(stats::kFetcherStartHourHistogram, 12, 1);
}
TEST(QueryTilesStatsTest, RecordGroupPruned) {
base::HistogramTester tester;
stats::RecordGroupPruned(stats::PrunedGroupReason::kExpired);
stats::RecordGroupPruned(stats::PrunedGroupReason::kInvalidLocale);
tester.ExpectBucketCount(stats::kPrunedGroupReasonHistogram, 0, 1);
tester.ExpectBucketCount(stats::kPrunedGroupReasonHistogram, 1, 1);
}
TEST(QueryTilesStatsTest, RecordTrendingTileEvent) {
base::HistogramTester tester;
stats::RecordTrendingTileEvent(stats::TrendingTileEvent::kRemoved);
stats::RecordTrendingTileEvent(stats::TrendingTileEvent::kClicked);
tester.ExpectBucketCount(stats::kTrendingTileEventHistogram, 0, 0);
tester.ExpectBucketCount(stats::kTrendingTileEventHistogram, 1, 1);
tester.ExpectBucketCount(stats::kTrendingTileEventHistogram, 2, 1);
}
} // namespace
} // namespace query_tiles