diff --git a/internal/platform/implementation/account_manager.h b/internal/platform/implementation/account_manager.h index c462b45d..366efdd8 100644 --- a/internal/platform/implementation/account_manager.h +++ b/internal/platform/implementation/account_manager.h @@ -17,6 +17,7 @@ #include #include +#include #include "absl/functional/any_invocable.h" #include "absl/status/status.h" @@ -89,6 +90,11 @@ class AccountManager { absl::AnyInvocable success_callback, absl::AnyInvocable failure_callback) = 0; + // Returns a pair containing the client id and client secret used in the most + // recent Login request. + // If no current user is logged in, returns empty string for both. + virtual std::pair GetOAuthClientCredential() = 0; + virtual void AddObserver(Observer* observer) = 0; virtual void RemoveObserver(Observer* observer) = 0; }; diff --git a/internal/test/fake_account_manager.cc b/internal/test/fake_account_manager.cc index dfb98f90..918fdb0d 100644 --- a/internal/test/fake_account_manager.cc +++ b/internal/test/fake_account_manager.cc @@ -16,6 +16,7 @@ #include #include +#include #include "absl/functional/any_invocable.h" #include "absl/status/status.h" @@ -89,6 +90,11 @@ bool FakeAccountManager::GetAccessToken( return true; } +std::pair +FakeAccountManager::GetOAuthClientCredential() { + return {"", ""}; +} + void FakeAccountManager::SetAccount(std::optional account) { account_ = account; if (account_.has_value()) { diff --git a/internal/test/fake_account_manager.h b/internal/test/fake_account_manager.h index d53fa0c2..e61165ee 100644 --- a/internal/test/fake_account_manager.h +++ b/internal/test/fake_account_manager.h @@ -17,6 +17,7 @@ #include #include +#include #include "absl/functional/any_invocable.h" #include "absl/status/status.h" @@ -50,6 +51,7 @@ class FakeAccountManager : public AccountManager { absl::string_view account_id, absl::AnyInvocable success_callback, absl::AnyInvocable failure_callback) override; + std::pair GetOAuthClientCredential() override; void AddObserver(Observer* observer) override; void RemoveObserver(Observer* observer) override; diff --git a/internal/test/mock_account_manager.h b/internal/test/mock_account_manager.h index 41765c01..6b087504 100644 --- a/internal/test/mock_account_manager.h +++ b/internal/test/mock_account_manager.h @@ -16,6 +16,8 @@ #define THIRD_PARTY_NEARBY_INTERNAL_TEST_MOCK_ACCOUNT_MANAGER_H_ #include +#include +#include #include "gmock/gmock.h" #include "absl/functional/any_invocable.h" @@ -45,6 +47,8 @@ class MockAccountManager : public AccountManager { absl::AnyInvocable success_callback, absl::AnyInvocable failure_callback), (override)); + MOCK_METHOD((std::pair), GetOAuthClientCredential, + (), (override)); MOCK_METHOD(void, AddObserver, (Observer * observer), (override)); MOCK_METHOD(void, RemoveObserver, (Observer * observer), (override)); };