From 44fb63f49802424e4e8a410415d42aa55f52bc42 Mon Sep 17 00:00:00 2001 From: Anay Wadhera Date: Fri, 13 Jan 2023 15:21:47 -0800 Subject: [PATCH] Use CredentialSelector for GenerateCredentials() PiperOrigin-RevId: 501951868 --- presence/implementation/credential_manager.h | 3 ++- .../implementation/credential_manager_impl.cc | 14 ++++------- .../implementation/credential_manager_impl.h | 3 ++- .../credential_manager_impl_test.cc | 25 +++---------------- 4 files changed, 13 insertions(+), 32 deletions(-) diff --git a/presence/implementation/credential_manager.h b/presence/implementation/credential_manager.h index f16876d2..ffd9fb89 100644 --- a/presence/implementation/credential_manager.h +++ b/presence/implementation/credential_manager.h @@ -45,7 +45,8 @@ class CredentialManager { // storage. virtual void GenerateCredentials( const nearby::internal::DeviceMetadata& device_metadata, - const std::vector& credential_selectors, + absl::string_view manager_app_id, + const std::vector& identity_types, int credential_life_cycle_days, int contiguous_copy_of_credentials, GenerateCredentialsResultCallback credentials_generated_cb) = 0; diff --git a/presence/implementation/credential_manager_impl.cc b/presence/implementation/credential_manager_impl.cc index 7c16c05b..c51d9eed 100644 --- a/presence/implementation/credential_manager_impl.cc +++ b/presence/implementation/credential_manager_impl.cc @@ -55,14 +55,14 @@ constexpr absl::Duration kTimeout = absl::Seconds(3); } // namespace void CredentialManagerImpl::GenerateCredentials( - const DeviceMetadata& device_metadata, - const std::vector& credential_selectors, + const DeviceMetadata& device_metadata, absl::string_view manager_app_id, + const std::vector& identity_types, int credential_life_cycle_days, int contiguous_copy_of_credentials, GenerateCredentialsResultCallback credentials_generated_cb) { std::vector public_credentials; std::vector private_credentials; - for (const auto& credential_selector : credential_selectors) { + for (auto identity_type : identity_types) { // TODO(b/241587906): Get linux time from the platform (like Android) uint64_t start_time_millis = 0; const uint64_t gap_millis = credential_life_cycle_days * 24 * 3600 * 1000; @@ -70,8 +70,7 @@ void CredentialManagerImpl::GenerateCredentials( for (int index = 0; index < contiguous_copy_of_credentials; index++) { auto public_private_credentials = CreatePrivateCredential( - device_metadata, credential_selector.identity_type, start_time_millis, - end_time_millis); + device_metadata, identity_type, start_time_millis, end_time_millis); if (public_private_credentials.second.identity_type() != IdentityType::IDENTITY_TYPE_UNSPECIFIED) { private_credentials.push_back(public_private_credentials.first); @@ -83,11 +82,8 @@ void CredentialManagerImpl::GenerateCredentials( } // Create credential_storage object and invoke SaveCredentials. - // Assume that all credential selectors are for the same manager app and - // account name credential_storage_ptr_->SaveCredentials( - credential_selectors[0].manager_app_id, - credential_selectors[0].account_name, private_credentials, + manager_app_id, device_metadata.account_name(), private_credentials, public_credentials, PublicCredentialType::kLocalPublicCredential, SaveCredentialsResultCallback{ .credentials_saved_cb = diff --git a/presence/implementation/credential_manager_impl.h b/presence/implementation/credential_manager_impl.h index 141fa65a..32303909 100644 --- a/presence/implementation/credential_manager_impl.h +++ b/presence/implementation/credential_manager_impl.h @@ -53,7 +53,8 @@ class CredentialManagerImpl : public CredentialManager { void GenerateCredentials( const nearby::internal::DeviceMetadata& device_metadata, - const std::vector& credential_selectors, + absl::string_view manager_app_id, + const std::vector& identity_types, int credential_life_cycle_days, int contiguous_copy_of_credentials, GenerateCredentialsResultCallback credentials_generated_cb) override; diff --git a/presence/implementation/credential_manager_impl_test.cc b/presence/implementation/credential_manager_impl_test.cc index 747acbea..2601cb73 100644 --- a/presence/implementation/credential_manager_impl_test.cc +++ b/presence/implementation/credential_manager_impl_test.cc @@ -61,21 +61,6 @@ CredentialSelector BuildDefaultCredentialSelector() { return credential_selector; } -std::vector BuildCredentialSelectors( - absl::string_view manager_app_id, - std::vector& identity_types) { - std::vector selectors; - for (auto& identity_type : identity_types) { - CredentialSelector credential_selector{ - .manager_app_id = std::string(manager_app_id), - .account_name = "test_account", - .identity_type = identity_type, - }; - selectors.push_back(credential_selector); - } - return selectors; -} - class CredentialManagerImplTest : public ::testing::Test { public: class MockCredentialStorage : public nearby::CredentialStorageImpl { @@ -174,7 +159,7 @@ TEST(CredentialManagerImpl, GenerateCredentialsSuccessfully) { credential_manager.GenerateCredentials( device_metadata, - BuildCredentialSelectors("TEST_MANAGER_APP", identityTypes), 1, 2, + /* manager_app_id= */ "TEST_MANAGER_APP", identityTypes, 1, 2, {.credentials_generated_cb = [&](absl::StatusOr> credentials) { @@ -214,7 +199,7 @@ TEST(CredentialManagerImpl, GenerateCredentialsSuccessfullyButStoreFailed) { credential_manager.GenerateCredentials( device_metadata, - BuildCredentialSelectors("TEST_MANAGER_APP", identityTypes), 1, 2, + /* manager_app_id= */ "TEST_MANAGER_APP", identityTypes, 1, 2, {.credentials_generated_cb = [&](absl::StatusOr> credentials) { @@ -297,8 +282,7 @@ TEST(CredentialManagerImpl, GetCredentialsSuccessfully) { CredentialSelector credential_selector = BuildDefaultCredentialSelector(); credential_manager.GenerateCredentials( - device_metadata, - BuildCredentialSelectors("TEST_MANAGER_APP", identity_types), 1, 1, + device_metadata, "TEST_MANAGER_APP", identity_types, 1, 1, {.credentials_generated_cb = [&](absl::StatusOr> credentials) { @@ -331,8 +315,7 @@ TEST(CredentialManagerImpl, PublicCredentialsFailEncryption) { std::vector identity_types{IDENTITY_TYPE_PRIVATE}; credential_manager_ptr->GenerateCredentials( - device_metadata, - BuildCredentialSelectors("TEST_MANAGER_APP", identity_types), 1, 1, + device_metadata, "TEST_MANAGER_APP", identity_types, 1, 1, {.credentials_generated_cb = [&](absl::StatusOr> credentials) {