Commit 8a73187b authored by Kush Sinha's avatar Kush Sinha Committed by Commit Bot

Rename ProfileOAuth2TokenServiceDelegateChromeOS's tests

|CrOSOAuthDelegate| was renamed to
|ProfileOAuth2TokenServiceDelegateChromeOS| but its unit tests were not.

Rename the unit tests for consistency.

Bug: 967602
Change-Id: I85fd3bc5dd601bea8301dd091194f391a07693b9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1771597
Commit-Queue: Kush Sinha <sinhak@chromium.org>
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: default avatarSylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#690348}
parent 4627b9ff
...@@ -66,9 +66,9 @@ class ProfileOAuth2TokenServiceDelegateChromeOS ...@@ -66,9 +66,9 @@ class ProfileOAuth2TokenServiceDelegateChromeOS
void OnConnectionChanged(network::mojom::ConnectionType type) override; void OnConnectionChanged(network::mojom::ConnectionType type) override;
private: private:
FRIEND_TEST_ALL_PREFIXES(CrOSOAuthDelegateTest, FRIEND_TEST_ALL_PREFIXES(ProfileOAuth2TokenServiceDelegateChromeOSTest,
BackOffIsTriggerredForTransientErrors); BackOffIsTriggerredForTransientErrors);
FRIEND_TEST_ALL_PREFIXES(CrOSOAuthDelegateTest, FRIEND_TEST_ALL_PREFIXES(ProfileOAuth2TokenServiceDelegateChromeOSTest,
BackOffIsResetOnNetworkChange); BackOffIsResetOnNetworkChange);
// A utility class to keep track of |GoogleServiceAuthError|s for an account. // A utility class to keep track of |GoogleServiceAuthError|s for an account.
......
...@@ -146,10 +146,10 @@ class TestOAuth2TokenServiceObserver ...@@ -146,10 +146,10 @@ class TestOAuth2TokenServiceObserver
} // namespace } // namespace
class CrOSOAuthDelegateTest : public testing::Test { class ProfileOAuth2TokenServiceDelegateChromeOSTest : public testing::Test {
public: public:
CrOSOAuthDelegateTest() {} ProfileOAuth2TokenServiceDelegateChromeOSTest() {}
~CrOSOAuthDelegateTest() override = default; ~ProfileOAuth2TokenServiceDelegateChromeOSTest() override = default;
protected: protected:
void SetUp() override { void SetUp() override {
...@@ -223,12 +223,13 @@ class CrOSOAuthDelegateTest : public testing::Test { ...@@ -223,12 +223,13 @@ class CrOSOAuthDelegateTest : public testing::Test {
std::unique_ptr<TestSigninClient> client_; std::unique_ptr<TestSigninClient> client_;
private: private:
DISALLOW_COPY_AND_ASSIGN(CrOSOAuthDelegateTest); DISALLOW_COPY_AND_ASSIGN(ProfileOAuth2TokenServiceDelegateChromeOSTest);
}; };
// Refresh tokens should load successfully for non-regular (Signin and Lock // Refresh tokens should load successfully for non-regular (Signin and Lock
// Screen) Profiles. // Screen) Profiles.
TEST_F(CrOSOAuthDelegateTest, RefreshTokensAreLoadedForNonRegularProfiles) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
RefreshTokensAreLoadedForNonRegularProfiles) {
// Create an instance of Account Manager but do not // Create an instance of Account Manager but do not
// |AccountManager::Initialize| it. This mimics Signin and Lock Screen Profile // |AccountManager::Initialize| it. This mimics Signin and Lock Screen Profile
// behaviour. // behaviour.
...@@ -248,7 +249,7 @@ TEST_F(CrOSOAuthDelegateTest, RefreshTokensAreLoadedForNonRegularProfiles) { ...@@ -248,7 +249,7 @@ TEST_F(CrOSOAuthDelegateTest, RefreshTokensAreLoadedForNonRegularProfiles) {
delegate->load_credentials_state()); delegate->load_credentials_state());
} }
TEST_F(CrOSOAuthDelegateTest, TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
RefreshTokenIsAvailableReturnsTrueForValidGaiaTokens) { RefreshTokenIsAvailableReturnsTrueForValidGaiaTokens) {
EXPECT_EQ(LoadCredentialsState::LOAD_CREDENTIALS_FINISHED_WITH_SUCCESS, EXPECT_EQ(LoadCredentialsState::LOAD_CREDENTIALS_FINISHED_WITH_SUCCESS,
delegate_->load_credentials_state()); delegate_->load_credentials_state());
...@@ -264,7 +265,7 @@ TEST_F(CrOSOAuthDelegateTest, ...@@ -264,7 +265,7 @@ TEST_F(CrOSOAuthDelegateTest,
base::Contains(delegate_->GetAccounts(), account_info_.account_id)); base::Contains(delegate_->GetAccounts(), account_info_.account_id));
} }
TEST_F(CrOSOAuthDelegateTest, TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
RefreshTokenIsAvailableReturnsTrueForInvalidGaiaTokens) { RefreshTokenIsAvailableReturnsTrueForInvalidGaiaTokens) {
EXPECT_EQ(LoadCredentialsState::LOAD_CREDENTIALS_FINISHED_WITH_SUCCESS, EXPECT_EQ(LoadCredentialsState::LOAD_CREDENTIALS_FINISHED_WITH_SUCCESS,
delegate_->load_credentials_state()); delegate_->load_credentials_state());
...@@ -281,7 +282,8 @@ TEST_F(CrOSOAuthDelegateTest, ...@@ -281,7 +282,8 @@ TEST_F(CrOSOAuthDelegateTest,
base::Contains(delegate_->GetAccounts(), account_info_.account_id)); base::Contains(delegate_->GetAccounts(), account_info_.account_id));
} }
TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedOnAuthErrorChange) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
ObserversAreNotifiedOnAuthErrorChange) {
TestOAuth2TokenServiceObserver observer(delegate_.get()); TestOAuth2TokenServiceObserver observer(delegate_.get());
auto error = auto error =
GoogleServiceAuthError(GoogleServiceAuthError::State::SERVICE_ERROR); GoogleServiceAuthError(GoogleServiceAuthError::State::SERVICE_ERROR);
...@@ -292,7 +294,8 @@ TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedOnAuthErrorChange) { ...@@ -292,7 +294,8 @@ TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedOnAuthErrorChange) {
EXPECT_EQ(error, observer.last_err_); EXPECT_EQ(error, observer.last_err_);
} }
TEST_F(CrOSOAuthDelegateTest, ObserversAreNotNotifiedIfErrorDidntChange) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
ObserversAreNotNotifiedIfErrorDidntChange) {
TestOAuth2TokenServiceObserver observer(delegate_.get()); TestOAuth2TokenServiceObserver observer(delegate_.get());
auto error = auto error =
GoogleServiceAuthError(GoogleServiceAuthError::State::SERVICE_ERROR); GoogleServiceAuthError(GoogleServiceAuthError::State::SERVICE_ERROR);
...@@ -303,7 +306,8 @@ TEST_F(CrOSOAuthDelegateTest, ObserversAreNotNotifiedIfErrorDidntChange) { ...@@ -303,7 +306,8 @@ TEST_F(CrOSOAuthDelegateTest, ObserversAreNotNotifiedIfErrorDidntChange) {
EXPECT_EQ(1, observer.on_auth_error_changed_calls); EXPECT_EQ(1, observer.on_auth_error_changed_calls);
} }
TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedIfErrorDidChange) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
ObserversAreNotifiedIfErrorDidChange) {
TestOAuth2TokenServiceObserver observer(delegate_.get()); TestOAuth2TokenServiceObserver observer(delegate_.get());
delegate_->UpdateAuthError( delegate_->UpdateAuthError(
account_info_.account_id, account_info_.account_id,
...@@ -317,7 +321,8 @@ TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedIfErrorDidChange) { ...@@ -317,7 +321,8 @@ TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedIfErrorDidChange) {
EXPECT_EQ(2, observer.on_auth_error_changed_calls); EXPECT_EQ(2, observer.on_auth_error_changed_calls);
} }
TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedOnCredentialsInsertion) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
ObserversAreNotifiedOnCredentialsInsertion) {
TestOAuth2TokenServiceObserver observer(delegate_.get()); TestOAuth2TokenServiceObserver observer(delegate_.get());
delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken); delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken);
...@@ -327,7 +332,7 @@ TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedOnCredentialsInsertion) { ...@@ -327,7 +332,7 @@ TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedOnCredentialsInsertion) {
EXPECT_EQ(GoogleServiceAuthError::AuthErrorNone(), observer.last_err_); EXPECT_EQ(GoogleServiceAuthError::AuthErrorNone(), observer.last_err_);
} }
TEST_F(CrOSOAuthDelegateTest, TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
ObserversDoNotSeeCachedErrorsOnCredentialsUpdate) { ObserversDoNotSeeCachedErrorsOnCredentialsUpdate) {
TestOAuth2TokenServiceObserver observer(delegate_.get()); TestOAuth2TokenServiceObserver observer(delegate_.get());
auto error = auto error =
...@@ -340,7 +345,8 @@ TEST_F(CrOSOAuthDelegateTest, ...@@ -340,7 +345,8 @@ TEST_F(CrOSOAuthDelegateTest,
delegate_->UpdateCredentials(account_info_.account_id, "new-token"); delegate_->UpdateCredentials(account_info_.account_id, "new-token");
} }
TEST_F(CrOSOAuthDelegateTest, DummyTokensArePreEmptivelyRejected) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
DummyTokensArePreEmptivelyRejected) {
TestOAuth2TokenServiceObserver observer(delegate_.get()); TestOAuth2TokenServiceObserver observer(delegate_.get());
delegate_->UpdateCredentials(account_info_.account_id, delegate_->UpdateCredentials(account_info_.account_id,
chromeos::AccountManager::kInvalidToken); chromeos::AccountManager::kInvalidToken);
...@@ -358,7 +364,8 @@ TEST_F(CrOSOAuthDelegateTest, DummyTokensArePreEmptivelyRejected) { ...@@ -358,7 +364,8 @@ TEST_F(CrOSOAuthDelegateTest, DummyTokensArePreEmptivelyRejected) {
EXPECT_EQ(account_info_.account_id, observer.last_err_account_id_); EXPECT_EQ(account_info_.account_id, observer.last_err_account_id_);
} }
TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedOnCredentialsUpdate) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
ObserversAreNotifiedOnCredentialsUpdate) {
TestOAuth2TokenServiceObserver observer(delegate_.get()); TestOAuth2TokenServiceObserver observer(delegate_.get());
delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken); delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken);
...@@ -368,7 +375,7 @@ TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedOnCredentialsUpdate) { ...@@ -368,7 +375,7 @@ TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedOnCredentialsUpdate) {
EXPECT_EQ(GoogleServiceAuthError::AuthErrorNone(), observer.last_err_); EXPECT_EQ(GoogleServiceAuthError::AuthErrorNone(), observer.last_err_);
} }
TEST_F(CrOSOAuthDelegateTest, TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
ObserversAreNotNotifiedIfCredentialsAreNotUpdated) { ObserversAreNotNotifiedIfCredentialsAreNotUpdated) {
TestOAuth2TokenServiceObserver observer(delegate_.get()); TestOAuth2TokenServiceObserver observer(delegate_.get());
...@@ -381,7 +388,7 @@ TEST_F(CrOSOAuthDelegateTest, ...@@ -381,7 +388,7 @@ TEST_F(CrOSOAuthDelegateTest,
EXPECT_EQ(std::string(), observer.last_err_account_id_); EXPECT_EQ(std::string(), observer.last_err_account_id_);
} }
TEST_F(CrOSOAuthDelegateTest, TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
BatchChangeObserversAreNotifiedOnCredentialsUpdate) { BatchChangeObserversAreNotifiedOnCredentialsUpdate) {
TestOAuth2TokenServiceObserver observer(delegate_.get()); TestOAuth2TokenServiceObserver observer(delegate_.get());
delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken); delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken);
...@@ -394,7 +401,8 @@ TEST_F(CrOSOAuthDelegateTest, ...@@ -394,7 +401,8 @@ TEST_F(CrOSOAuthDelegateTest,
// If observers register themselves with |ProfileOAuth2TokenServiceDelegate| // If observers register themselves with |ProfileOAuth2TokenServiceDelegate|
// before |chromeos::AccountManager| has been initialized, they should receive // before |chromeos::AccountManager| has been initialized, they should receive
// all the accounts stored in |chromeos::AccountManager| in a single batch. // all the accounts stored in |chromeos::AccountManager| in a single batch.
TEST_F(CrOSOAuthDelegateTest, BatchChangeObserversAreNotifiedOncePerBatch) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
BatchChangeObserversAreNotifiedOncePerBatch) {
// Setup // Setup
AccountInfo account1 = CreateAccountInfoTestFixture( AccountInfo account1 = CreateAccountInfoTestFixture(
"1" /* gaia_id */, "user1@example.com" /* email */); "1" /* gaia_id */, "user1@example.com" /* email */);
...@@ -447,7 +455,8 @@ TEST_F(CrOSOAuthDelegateTest, BatchChangeObserversAreNotifiedOncePerBatch) { ...@@ -447,7 +455,8 @@ TEST_F(CrOSOAuthDelegateTest, BatchChangeObserversAreNotifiedOncePerBatch) {
EXPECT_TRUE(base::Contains(first_batch, account2.account_id)); EXPECT_TRUE(base::Contains(first_batch, account2.account_id));
} }
TEST_F(CrOSOAuthDelegateTest, GetAccountsShouldNotReturnAdAccounts) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
GetAccountsShouldNotReturnAdAccounts) {
EXPECT_TRUE(delegate_->GetAccounts().empty()); EXPECT_TRUE(delegate_->GetAccounts().empty());
// Insert an Active Directory account into chromeos::AccountManager. // Insert an Active Directory account into chromeos::AccountManager.
...@@ -459,7 +468,8 @@ TEST_F(CrOSOAuthDelegateTest, GetAccountsShouldNotReturnAdAccounts) { ...@@ -459,7 +468,8 @@ TEST_F(CrOSOAuthDelegateTest, GetAccountsShouldNotReturnAdAccounts) {
EXPECT_TRUE(delegate_->GetAccounts().empty()); EXPECT_TRUE(delegate_->GetAccounts().empty());
} }
TEST_F(CrOSOAuthDelegateTest, GetAccountsReturnsGaiaAccounts) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
GetAccountsReturnsGaiaAccounts) {
EXPECT_TRUE(delegate_->GetAccounts().empty()); EXPECT_TRUE(delegate_->GetAccounts().empty());
account_manager_.UpsertAccount(gaia_account_key_, kUserEmail, kGaiaToken); account_manager_.UpsertAccount(gaia_account_key_, kUserEmail, kGaiaToken);
...@@ -471,7 +481,8 @@ TEST_F(CrOSOAuthDelegateTest, GetAccountsReturnsGaiaAccounts) { ...@@ -471,7 +481,8 @@ TEST_F(CrOSOAuthDelegateTest, GetAccountsReturnsGaiaAccounts) {
// |GetAccounts| should return all known Gaia accounts, whether or not they have // |GetAccounts| should return all known Gaia accounts, whether or not they have
// a "valid" refresh token stored against them. // a "valid" refresh token stored against them.
TEST_F(CrOSOAuthDelegateTest, GetAccountsReturnsGaiaAccountsWithInvalidTokens) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
GetAccountsReturnsGaiaAccountsWithInvalidTokens) {
EXPECT_TRUE(delegate_->GetAccounts().empty()); EXPECT_TRUE(delegate_->GetAccounts().empty());
account_manager_.UpsertAccount(gaia_account_key_, kUserEmail, account_manager_.UpsertAccount(gaia_account_key_, kUserEmail,
...@@ -482,7 +493,7 @@ TEST_F(CrOSOAuthDelegateTest, GetAccountsReturnsGaiaAccountsWithInvalidTokens) { ...@@ -482,7 +493,7 @@ TEST_F(CrOSOAuthDelegateTest, GetAccountsReturnsGaiaAccountsWithInvalidTokens) {
EXPECT_EQ(account_info_.account_id, accounts[0]); EXPECT_EQ(account_info_.account_id, accounts[0]);
} }
TEST_F(CrOSOAuthDelegateTest, TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
RefreshTokenMustBeAvailableForAllAccountsReturnedByGetAccounts) { RefreshTokenMustBeAvailableForAllAccountsReturnedByGetAccounts) {
EXPECT_EQ(LoadCredentialsState::LOAD_CREDENTIALS_FINISHED_WITH_SUCCESS, EXPECT_EQ(LoadCredentialsState::LOAD_CREDENTIALS_FINISHED_WITH_SUCCESS,
delegate_->load_credentials_state()); delegate_->load_credentials_state());
...@@ -515,7 +526,8 @@ TEST_F(CrOSOAuthDelegateTest, ...@@ -515,7 +526,8 @@ TEST_F(CrOSOAuthDelegateTest,
} }
} }
TEST_F(CrOSOAuthDelegateTest, UpdateCredentialsSucceeds) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
UpdateCredentialsSucceeds) {
EXPECT_TRUE(delegate_->GetAccounts().empty()); EXPECT_TRUE(delegate_->GetAccounts().empty());
delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken); delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken);
...@@ -525,7 +537,8 @@ TEST_F(CrOSOAuthDelegateTest, UpdateCredentialsSucceeds) { ...@@ -525,7 +537,8 @@ TEST_F(CrOSOAuthDelegateTest, UpdateCredentialsSucceeds) {
EXPECT_EQ(account_info_.account_id, accounts[0]); EXPECT_EQ(account_info_.account_id, accounts[0]);
} }
TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedOnAccountRemoval) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
ObserversAreNotifiedOnAccountRemoval) {
delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken); delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken);
TestOAuth2TokenServiceObserver observer(delegate_.get()); TestOAuth2TokenServiceObserver observer(delegate_.get());
...@@ -537,7 +550,7 @@ TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedOnAccountRemoval) { ...@@ -537,7 +550,7 @@ TEST_F(CrOSOAuthDelegateTest, ObserversAreNotifiedOnAccountRemoval) {
EXPECT_TRUE(observer.account_ids_.empty()); EXPECT_TRUE(observer.account_ids_.empty());
} }
TEST_F(CrOSOAuthDelegateTest, TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
SigninErrorObserversAreNotifiedOnAuthErrorChange) { SigninErrorObserversAreNotifiedOnAuthErrorChange) {
auto error = auto error =
GoogleServiceAuthError(GoogleServiceAuthError::State::SERVICE_ERROR); GoogleServiceAuthError(GoogleServiceAuthError::State::SERVICE_ERROR);
...@@ -547,7 +560,8 @@ TEST_F(CrOSOAuthDelegateTest, ...@@ -547,7 +560,8 @@ TEST_F(CrOSOAuthDelegateTest,
EXPECT_EQ(error, delegate_->GetAuthError(account_info_.account_id)); EXPECT_EQ(error, delegate_->GetAuthError(account_info_.account_id));
} }
TEST_F(CrOSOAuthDelegateTest, TransientErrorsAreNotShown) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
TransientErrorsAreNotShown) {
auto transient_error = GoogleServiceAuthError( auto transient_error = GoogleServiceAuthError(
GoogleServiceAuthError::State::SERVICE_UNAVAILABLE); GoogleServiceAuthError::State::SERVICE_UNAVAILABLE);
EXPECT_EQ(GoogleServiceAuthError::AuthErrorNone(), EXPECT_EQ(GoogleServiceAuthError::AuthErrorNone(),
...@@ -559,7 +573,8 @@ TEST_F(CrOSOAuthDelegateTest, TransientErrorsAreNotShown) { ...@@ -559,7 +573,8 @@ TEST_F(CrOSOAuthDelegateTest, TransientErrorsAreNotShown) {
delegate_->GetAuthError(account_info_.account_id)); delegate_->GetAuthError(account_info_.account_id));
} }
TEST_F(CrOSOAuthDelegateTest, BackOffIsTriggerredForTransientErrors) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
BackOffIsTriggerredForTransientErrors) {
delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken); delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken);
auto transient_error = GoogleServiceAuthError( auto transient_error = GoogleServiceAuthError(
GoogleServiceAuthError::State::SERVICE_UNAVAILABLE); GoogleServiceAuthError::State::SERVICE_UNAVAILABLE);
...@@ -596,7 +611,8 @@ TEST_F(CrOSOAuthDelegateTest, BackOffIsTriggerredForTransientErrors) { ...@@ -596,7 +611,8 @@ TEST_F(CrOSOAuthDelegateTest, BackOffIsTriggerredForTransientErrors) {
EXPECT_EQ(1, access_token_consumer.num_access_token_fetch_failure_); EXPECT_EQ(1, access_token_consumer.num_access_token_fetch_failure_);
} }
TEST_F(CrOSOAuthDelegateTest, BackOffIsResetOnNetworkChange) { TEST_F(ProfileOAuth2TokenServiceDelegateChromeOSTest,
BackOffIsResetOnNetworkChange) {
delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken); delegate_->UpdateCredentials(account_info_.account_id, kGaiaToken);
auto transient_error = GoogleServiceAuthError( auto transient_error = GoogleServiceAuthError(
GoogleServiceAuthError::State::SERVICE_UNAVAILABLE); GoogleServiceAuthError::State::SERVICE_UNAVAILABLE);
......
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