chromium/chrome/browser/optimization_guide/chrome_hints_manager_unittest.cc

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/optimization_guide/chrome_hints_manager.h"

#include "base/command_line.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
#include "build/build_config.h"
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h"
#include "chrome/browser/optimization_guide/optimization_guide_tab_url_provider.h"
#include "chrome/browser/optimization_guide/optimization_guide_web_contents_observer.h"
#include "chrome/test/base/testing_profile.h"
#include "components/optimization_guide/core/hints_fetcher.h"
#include "components/optimization_guide/core/optimization_guide_decider.h"
#include "components/optimization_guide/core/optimization_guide_features.h"
#include "components/optimization_guide/core/optimization_guide_logger.h"
#include "components/optimization_guide/core/optimization_guide_prefs.h"
#include "components/optimization_guide/core/optimization_guide_store.h"
#include "components/optimization_guide/core/optimization_guide_switches.h"
#include "components/optimization_guide/core/proto_database_provider_test_base.h"
#include "components/sync_preferences/testing_pref_service_syncable.h"
#include "components/unified_consent/unified_consent_service.h"
#include "components/variations/scoped_variations_ids_provider.h"
#include "content/public/test/browser_task_environment.h"
#include "content/public/test/mock_navigation_handle.h"
#include "content/public/test/test_web_contents_factory.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
#include "services/network/test/test_url_loader_factory.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace optimization_guide {

// A mock class implementation of TabUrlProvider.
class FakeTabUrlProvider : public optimization_guide::TabUrlProvider {};

class ChromeHintsManagerFetchingTest
    : public optimization_guide::ProtoDatabaseProviderTestBase {};

TEST_F(ChromeHintsManagerFetchingTest, HintsFetched_AtSRP_DuplicatesRemoved) {}

TEST_F(ChromeHintsManagerFetchingTest,
       HintsFetched_AtSRP_NonHTTPOrHTTPSHostsRemoved) {}

TEST_F(ChromeHintsManagerFetchingTest, HintsFetched_AtSRP) {}

TEST_F(ChromeHintsManagerFetchingTest, HintsFetched_AtSRP_GoogleLinksIgnored) {}

TEST_F(ChromeHintsManagerFetchingTest, HintsFetched_AtNonSRP) {}

class ChromeHintsManagerPushEnabledTest
    : public ChromeHintsManagerFetchingTest {};

TEST_F(ChromeHintsManagerPushEnabledTest, PushManagerSet) {}

class ChromeHintsManagerPushDisabledTest
    : public ChromeHintsManagerFetchingTest {};

TEST_F(ChromeHintsManagerPushDisabledTest, PushManagerSet) {}

TEST_F(ChromeHintsManagerFetchingTest, NoOptimizationGuideWebContentsObserver) {}
}  // namespace optimization_guide