blob: 2e5160c986a30ddd349d35760447e4e08448628e [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_PRIVACY_SANDBOX_MOCK_PRIVACY_SANDBOX_SERVICE_H_
#define CHROME_BROWSER_PRIVACY_SANDBOX_MOCK_PRIVACY_SANDBOX_SERVICE_H_
#include <memory>
#include "chrome/browser/privacy_sandbox/privacy_sandbox_service.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace content {
class BrowserContext;
}
namespace views {
class Widget;
}
class KeyedService;
class MockPrivacySandboxService : public PrivacySandboxService {
public:
MockPrivacySandboxService();
~MockPrivacySandboxService() override;
MOCK_METHOD(PrivacySandboxService::PromptType,
GetRequiredPromptType,
(PrivacySandboxService::SurfaceType),
(override));
MOCK_METHOD(void,
PromptActionOccurred,
(PrivacySandboxService::PromptAction,
PrivacySandboxService::SurfaceType),
(override));
#if !BUILDFLAG(IS_ANDROID)
MOCK_METHOD(void,
PromptOpenedForBrowser,
(Browser*, views::Widget*),
(override));
MOCK_METHOD(void, PromptClosedForBrowser, (Browser*), (override));
MOCK_METHOD(bool, IsPromptOpenForBrowser, (Browser*), (override));
#endif // !BUILDFLAG(IS_ANDROID)
MOCK_METHOD(void, ForceChromeBuildForTests, (bool), (override));
// Mock this method to enable opening the settings page in tests.
MOCK_METHOD(bool, IsPrivacySandboxRestricted, (), (override));
MOCK_METHOD(bool, IsRestrictedNoticeEnabled, (), (override));
MOCK_METHOD(void, SetFirstPartySetsDataAccessEnabled, (bool), (override));
MOCK_METHOD(bool, IsFirstPartySetsDataAccessEnabled, (), (const, override));
MOCK_METHOD(bool, IsFirstPartySetsDataAccessManaged, (), (const, override));
MOCK_METHOD((base::flat_map<net::SchemefulSite, net::SchemefulSite>),
GetSampleFirstPartySets,
(),
(const, override));
MOCK_METHOD(std::optional<net::SchemefulSite>,
GetFirstPartySetOwner,
(const GURL& site_url),
(const, override));
MOCK_METHOD(std::optional<std::u16string>,
GetFirstPartySetOwnerForDisplay,
(const GURL& site_url),
(const, override));
MOCK_METHOD(bool,
IsPartOfManagedFirstPartySet,
(const net::SchemefulSite& site),
(const, override));
MOCK_METHOD(void,
GetFledgeJoiningEtldPlusOneForDisplay,
(base::OnceCallback<void(std::vector<std::string>)>),
(override));
MOCK_METHOD(std::vector<std::string>,
GetBlockedFledgeJoiningTopFramesForDisplay,
(),
(const, override));
MOCK_METHOD(void,
SetFledgeJoiningAllowed,
((const std::string&), bool),
(const, override));
MOCK_METHOD(std::vector<privacy_sandbox::CanonicalTopic>,
GetCurrentTopTopics,
(),
(const, override));
MOCK_METHOD(std::vector<privacy_sandbox::CanonicalTopic>,
GetFirstLevelTopics,
(),
(const, override));
MOCK_METHOD(std::vector<privacy_sandbox::CanonicalTopic>,
GetChildTopicsCurrentlyAssigned,
(const privacy_sandbox::CanonicalTopic& topic),
(const, override));
MOCK_METHOD(std::vector<privacy_sandbox::CanonicalTopic>,
GetBlockedTopics,
(),
(const, override));
MOCK_METHOD(void,
SetTopicAllowed,
(privacy_sandbox::CanonicalTopic, bool),
(override));
MOCK_METHOD(void, TopicsToggleChanged, (bool), (const, override));
MOCK_METHOD(bool, TopicsConsentRequired, (), (const, override));
MOCK_METHOD(bool, TopicsHasActiveConsent, (), (const, override));
MOCK_METHOD(privacy_sandbox::TopicsConsentUpdateSource,
TopicsConsentLastUpdateSource,
(),
(const, override));
MOCK_METHOD(base::Time, TopicsConsentLastUpdateTime, (), (const, override));
MOCK_METHOD(std::string, TopicsConsentLastUpdateText, (), (const, override));
};
std::unique_ptr<KeyedService> BuildMockPrivacySandboxService(
content::BrowserContext* context);
#endif // CHROME_BROWSER_PRIVACY_SANDBOX_MOCK_PRIVACY_SANDBOX_SERVICE_H_