| // 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 CONTENT_BROWSER_WEBID_TEST_MOCK_PERMISSION_DELEGATE_H_ |
| #define CONTENT_BROWSER_WEBID_TEST_MOCK_PERMISSION_DELEGATE_H_ |
| |
| #include <vector> |
| |
| #include "base/functional/callback.h" |
| #include "base/memory/scoped_refptr.h" |
| #include "base/types/optional_ref.h" |
| #include "content/public/browser/webid/federated_identity_permission_context_delegate.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "third_party/blink/public/common/webid/login_status_options.h" |
| #include "third_party/blink/public/mojom/webid/federated_auth_request.mojom-forward.h" |
| #include "url/gurl.h" |
| |
| namespace content { |
| |
| class MockPermissionDelegate |
| : public FederatedIdentityPermissionContextDelegate { |
| public: |
| MockPermissionDelegate(); |
| |
| ~MockPermissionDelegate() override; |
| |
| MockPermissionDelegate(const MockPermissionDelegate&) = delete; |
| MockPermissionDelegate& operator=(const MockPermissionDelegate&) = delete; |
| |
| MOCK_METHOD(void, |
| AddIdpSigninStatusObserver, |
| (IdpSigninStatusObserver*), |
| (override)); |
| MOCK_METHOD(void, |
| RemoveIdpSigninStatusObserver, |
| (IdpSigninStatusObserver*), |
| (override)); |
| MOCK_METHOD(bool, |
| HasSharingPermission, |
| (const url::Origin&, |
| const url::Origin&, |
| const url::Origin& identity_provider), |
| (override)); |
| MOCK_METHOD(std::optional<base::Time>, |
| GetLastUsedTimestamp, |
| (const url::Origin& relying_party_requester, |
| const url::Origin& relying_party_embedder, |
| const url::Origin& identity_provider, |
| const std::string& account_id), |
| (override)); |
| MOCK_METHOD(bool, HasSharingPermission, (const url::Origin&), (override)); |
| MOCK_METHOD(void, |
| GrantSharingPermission, |
| (const url::Origin&, |
| const url::Origin&, |
| const url::Origin&, |
| const std::string&), |
| (override)); |
| MOCK_METHOD(void, |
| RevokeSharingPermission, |
| (const url::Origin&, |
| const url::Origin&, |
| const url::Origin&, |
| const std::string&), |
| (override)); |
| MOCK_METHOD(void, |
| RefreshExistingSharingPermission, |
| (const url::Origin&, |
| const url::Origin&, |
| const url::Origin&, |
| const std::string&), |
| (override)); |
| MOCK_METHOD(std::optional<bool>, |
| GetIdpSigninStatus, |
| (const url::Origin&), |
| (override)); |
| MOCK_METHOD(base::Value::List, |
| GetAccounts, |
| (const url::Origin& identity_provider), |
| (override)); |
| MOCK_METHOD( |
| void, |
| SetIdpSigninStatus, |
| (const url::Origin&, |
| bool, |
| base::optional_ref<const blink::common::webid::LoginStatusOptions>), |
| (override)); |
| MOCK_METHOD(void, RegisterIdP, (const ::GURL&), (override)); |
| MOCK_METHOD(void, UnregisterIdP, (const ::GURL&), (override)); |
| MOCK_METHOD(std::vector<GURL>, GetRegisteredIdPs, (), (override)); |
| MOCK_METHOD(void, |
| OnSetRequiresUserMediation, |
| (const url::Origin&, base::OnceClosure), |
| (override)); |
| }; |
| |
| } // namespace content |
| |
| #endif // CONTENT_BROWSER_WEBID_TEST_MOCK_PERMISSION_DELEGATE_H_ |