From 4d85bde8cee2b8fa99634e38455bf345f3b0c9ef Mon Sep 17 00:00:00 2001 From: Juliet Levesque Date: Wed, 21 Jun 2023 15:43:33 -0700 Subject: [PATCH] [Nearby Presence] Implement FakePresenceService::GetLocalPublicCredentials Implements FakePresenceService::GetLocalPublicCredentials and exposes FakePresenceService::SetLocalPublicCredentialsResult to configure results for testing. PiperOrigin-RevId: 542383663 --- presence/fake_presence_service.cc | 10 ++++++++-- presence/fake_presence_service.h | 8 ++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/presence/fake_presence_service.cc b/presence/fake_presence_service.cc index 67407c70..5c83c996 100644 --- a/presence/fake_presence_service.cc +++ b/presence/fake_presence_service.cc @@ -79,10 +79,16 @@ PresenceDeviceProvider* FakePresenceService::GetLocalDeviceProvider() { return nullptr; } -// Not implemented. void FakePresenceService::GetLocalPublicCredentials( const CredentialSelector& credential_selector, - GetPublicCredentialsResultCallback callback) {} + GetPublicCredentialsResultCallback callback) { + if (get_public_credentials_status_.ok()) { + std::move(callback.credentials_fetched_cb)(shared_credentials_); + return; + } + + std::move(callback.credentials_fetched_cb)(get_public_credentials_status_); +} void FakePresenceService::UpdateRemotePublicCredentials( absl::string_view manager_app_id, absl::string_view account_name, diff --git a/presence/fake_presence_service.h b/presence/fake_presence_service.h index a2731392..b86d2bf6 100644 --- a/presence/fake_presence_service.h +++ b/presence/fake_presence_service.h @@ -89,12 +89,20 @@ class FakePresenceService : public PresenceService { update_remote_public_credentials_status_ = status; } + void SetLocalPublicCredentialsResult( + absl::Status status, + std::vector shared_credentials) { + get_public_credentials_status_ = status; + shared_credentials_ = shared_credentials; + } + private: FakePresenceClient* most_recent_fake_presence_client_ = nullptr; std::vector shared_credentials_; std::vector remote_shared_credentials_; absl::Status gen_credentials_status_; absl::Status update_remote_public_credentials_status_; + absl::Status get_public_credentials_status_; ::nearby::internal::Metadata metadata_; ::nearby::Lender lender_{this}; };