Commit 0a56cb94 authored by Julie Jeongeun Kim's avatar Julie Jeongeun Kim Committed by Commit Bot

Introduce OnAccessTokenRequested in O2ATMtest

This CL is a part of moving access token management to
OAuth2AccessTokenManager.

It is specifically a step toward folding O2TS into PO2TS
now that O2TS is only one subclass of PO2TS.

It introduces OnAccessTokenRequested in O2ATMtest to
test that StartRequest triggers
DiagnosticsObserver::OnAccessTokenRequested.

Bug: 967598
Change-Id: Ia6b9a85d646571d7039d94a1d047cfed02fef1b7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1727112
Commit-Queue: Julie Jeongeun Kim <jkim@igalia.com>
Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683148}
parent 30f24996
...@@ -165,6 +165,40 @@ class FakeOAuth2AccessTokenManagerConsumer ...@@ -165,6 +165,40 @@ class FakeOAuth2AccessTokenManagerConsumer
base::OnceClosure closure_; base::OnceClosure closure_;
}; };
class DiagnosticsObserverForTesting
: public OAuth2AccessTokenManager::DiagnosticsObserver {
public:
// OAuth2AccessTokenManager::DiagnosticsObserver:
void OnAccessTokenRequested(
const CoreAccountId& account_id,
const std::string& consumer_id,
const OAuth2AccessTokenManager::ScopeSet& scopes) override {
if (!access_token_requested_callback_)
return;
EXPECT_EQ(access_token_requested_account_id_, account_id);
EXPECT_EQ(access_token_requested_consumer_id_, consumer_id);
EXPECT_EQ(access_token_requested_scopes_, scopes);
std::move(access_token_requested_callback_).Run();
}
void SetOnAccessTokenRequested(
const CoreAccountId& account_id,
const std::string& consumer_id,
const OAuth2AccessTokenManager::ScopeSet& scopes,
base::OnceClosure callback) {
access_token_requested_account_id_ = account_id;
access_token_requested_consumer_id_ = consumer_id;
access_token_requested_scopes_ = scopes;
access_token_requested_callback_ = std::move(callback);
}
private:
CoreAccountId access_token_requested_account_id_;
std::string access_token_requested_consumer_id_;
OAuth2AccessTokenManager::ScopeSet access_token_requested_scopes_;
base::OnceClosure access_token_requested_callback_;
};
} // namespace } // namespace
// Any public API surfaces that are wrapped by ProfileOAuth2TokenService are // Any public API surfaces that are wrapped by ProfileOAuth2TokenService are
...@@ -413,3 +447,19 @@ TEST_F(OAuth2AccessTokenManagerTest, OnAccessTokenFetchedOnRequestCompleted) { ...@@ -413,3 +447,19 @@ TEST_F(OAuth2AccessTokenManagerTest, OnAccessTokenFetchedOnRequestCompleted) {
SimulateOAuthTokenResponse(GetValidTokenResponse("token", 3600)); SimulateOAuthTokenResponse(GetValidTokenResponse("token", 3600));
run_loop.Run(); run_loop.Run();
} }
// Test that StartRequest triggers DiagnosticsObserver::OnAccessTokenRequested.
TEST_F(OAuth2AccessTokenManagerTest, OnAccessTokenRequested) {
DiagnosticsObserverForTesting observer;
OAuth2AccessTokenManager::ScopeSet scopeset;
scopeset.insert("scope");
base::RunLoop run_loop;
observer.SetOnAccessTokenRequested(account_id_, consumer_.id(), scopeset,
run_loop.QuitClosure());
token_manager_.AddDiagnosticsObserver(&observer);
std::unique_ptr<OAuth2AccessTokenManager::Request> request(
token_manager_.StartRequest(account_id_, scopeset, &consumer_));
run_loop.Run();
token_manager_.RemoveDiagnosticsObserver(&observer);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment