// Copyright 2024 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_MANTA_BASE_PROVIDER_TEST_HELPER_H_ #define COMPONENTS_MANTA_BASE_PROVIDER_TEST_HELPER_H_ #include "base/test/task_environment.h" #include "components/manta/base_provider.h" #include "components/manta/manta_service_callbacks.h" #include "services/network/test/test_url_loader_factory.h" #include "testing/gtest/include/gtest/gtest.h" namespace manta { // Helper utilities that take care of common fakes, useful for unit test of // particular providers. // A provider (e.g. FooProvider) unittest should have: // * a FakeFooProvider that extends both FooProvider and FakeBaseProvider so // that it mocks the FooProvider's functions by using // `FakeBaseProvider::RequestInternal`. // * a FooProviderTest fixture that extends BaseProviderTest and implement a // `CreateFooProvider` function to return a FakeFooProvider instance. class FakeBaseProvider : virtual public BaseProvider { … }; class BaseProviderTest : public testing::Test { … }; } // namespace manta #endif // COMPONENTS_MANTA_BASE_PROVIDER_TEST_HELPER_H_