Cleanup AuthenticationManager and AccoutManager interface.

PiperOrigin-RevId: 803516888
This commit is contained in:
Francis Tsui
2025-09-05 10:36:09 -07:00
committed by Copybara-Service
parent dca5a4b6ec
commit 296b135f54
6 changed files with 18 additions and 18 deletions
+1
View File
@@ -52,6 +52,7 @@ cc_library(
":signin_attempt",
"@com_google_absl//absl/functional:any_invocable",
"@com_google_absl//absl/status",
"@com_google_absl//absl/status:statusor",
"@com_google_absl//absl/strings:string_view",
],
)
@@ -22,6 +22,7 @@
#include "absl/functional/any_invocable.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "internal/platform/implementation/account_info.h"
#include "internal/platform/implementation/signin_attempt.h"
@@ -64,14 +65,11 @@ class AccountManager {
absl::AnyInvocable<void(absl::Status)> logout_callback) = 0;
// Gets access token for the active account.
// |success_callback| is called when an access token is fetched successfully.
// |failure_callback| is called when fetching an access token failed.
// |callback| is called with the access token or error status.
//
// Returns false if account_id is empty or callback is null.
// Returns false if callback is null.
virtual bool GetAccessToken(
absl::string_view account_id,
absl::AnyInvocable<void(absl::string_view)> success_callback,
absl::AnyInvocable<void(absl::Status)> failure_callback) = 0;
absl::AnyInvocable<void(absl::StatusOr<std::string>)> callback) = 0;
// Returns a pair containing the client id and client secret used in the most
// recent Login request.
+1
View File
@@ -30,6 +30,7 @@ cc_library(
"//internal/platform/implementation:signin_attempt",
"@com_google_absl//absl/functional:any_invocable",
"@com_google_absl//absl/status",
"@com_google_absl//absl/status:statusor",
"@com_google_absl//absl/strings:string_view",
"@com_google_googletest//:gtest_for_library_testonly",
],
+8 -6
View File
@@ -21,6 +21,7 @@
#include "absl/functional/any_invocable.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "internal/platform/implementation/account_manager.h"
#include "internal/platform/implementation/signin_attempt.h"
@@ -52,14 +53,15 @@ void FakeAccountManager::Logout(
}
bool FakeAccountManager::GetAccessToken(
absl::string_view account_id,
absl::AnyInvocable<void(absl::string_view)> success_callback,
absl::AnyInvocable<void(absl::Status)> failure_callback) {
if (!account_.has_value()) {
failure_callback(absl::UnavailableError("No current user."));
absl::AnyInvocable<void(absl::StatusOr<std::string>)> callback) {
if (!callback) {
return false;
}
success_callback(account_id);
if (!account_.has_value()) {
callback(absl::UnavailableError("No current user."));
return true;
}
callback("FAKE_ACCESS_TOKEN");
return true;
}
+2 -3
View File
@@ -22,6 +22,7 @@
#include "absl/functional/any_invocable.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "internal/base/observer_list.h"
#include "internal/platform/implementation/account_manager.h"
@@ -44,9 +45,7 @@ class FakeAccountManager : public AccountManager {
void Logout(absl::AnyInvocable<void(absl::Status)> logout_callback) override;
bool GetAccessToken(
absl::string_view account_id,
absl::AnyInvocable<void(absl::string_view)> success_callback,
absl::AnyInvocable<void(absl::Status)> failure_callback) override;
absl::AnyInvocable<void(absl::StatusOr<std::string>)> callback) override;
std::pair<std::string, std::string> GetOAuthClientCredential() override;
void AddObserver(Observer* observer) override;
void RemoveObserver(Observer* observer) override;
+2 -3
View File
@@ -23,6 +23,7 @@
#include "gmock/gmock.h"
#include "absl/functional/any_invocable.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "internal/platform/implementation/account_manager.h"
#include "internal/platform/implementation/signin_attempt.h"
@@ -39,9 +40,7 @@ class MockAccountManager : public AccountManager {
(absl::AnyInvocable<void(absl::Status)> logout_callback),
(override));
MOCK_METHOD(bool, GetAccessToken,
(absl::string_view account_id,
absl::AnyInvocable<void(absl::string_view)> success_callback,
absl::AnyInvocable<void(absl::Status)> failure_callback),
(absl::AnyInvocable<void(absl::StatusOr<std::string>)> callback),
(override));
MOCK_METHOD((std::pair<std::string, std::string>), GetOAuthClientCredential,
(), (override));