#include "components/visited_url_ranking/internal/history_url_visit_data_fetcher.h"
#include <utility>
#include "base/functional/callback.h"
#include "base/strings/strcat.h"
#include "base/strings/stringprintf.h"
#include "base/task/cancelable_task_tracker.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/mock_callback.h"
#include "base/test/simple_test_clock.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "components/history/core/browser/history_service.h"
#include "components/history/core/browser/history_types.h"
#include "components/visited_url_ranking/public/fetch_result.h"
#include "components/visited_url_ranking/public/fetcher_config.h"
#include "components/visited_url_ranking/public/url_visit.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
_;
namespace {
constexpr char kSampleSearchUrl[] = …;
history::AnnotatedVisit SampleAnnotatedVisit(
history::VisitID visit_id,
const GURL& url,
float visibility_score,
const std::string& originator_cache_guid,
const std::optional<std::string> app_id = std::nullopt,
const base::Time visit_time = base::Time::Now(),
const base::TimeDelta visit_duration = base::Minutes(1),
history::VisitID referring_visit_id = history::kInvalidVisitID) { … }
class MockHistoryService : public history::HistoryService { … };
struct HistoryScenario { … };
base::Time GetStartOfDay(base::Time time) { … }
const HistoryScenario SampleScenario_OverlappingTimeGroup() { … }
const HistoryScenario SampleScenario_NonOverlappingTimeGroup() { … }
}
namespace visited_url_ranking {
Source;
URLType;
ResultOption;
class HistoryURLVisitDataFetcherTest : public testing::Test { … };
TEST_F(HistoryURLVisitDataFetcherTest, FetchURLVisitDataDefaultSources) { … }
TEST_F(HistoryURLVisitDataFetcherTest,
FetchURLVisitData_SomeDefaultVisibilyScores) { … }
TEST_F(HistoryURLVisitDataFetcherTest,
FetchURLVisitData_RemoveZeroDurationVisitURLs) { … }
class HistoryURLVisitDataFetcherSourcesTest
: public HistoryURLVisitDataFetcherTest,
public ::testing::WithParamInterface<Source> { … };
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(HistoryURLVisitDataFetcherSourcesTest, FetchURLVisitData) { … }
class HistoryURLVisitDataFetcherDataTest
: public HistoryURLVisitDataFetcherTest,
public ::testing::WithParamInterface<HistoryScenario> { … };
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(HistoryURLVisitDataFetcherDataTest, FetchURLVisitData_AggregateCounts) { … }
}