1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_SIGNIN_CORE_BROWSER_FAKE_AUTH_STATUS_PROVIDER_H_
6 #define COMPONENTS_SIGNIN_CORE_BROWSER_FAKE_AUTH_STATUS_PROVIDER_H_
8 #include "components/signin/core/browser/signin_error_controller.h"
10 // Helper class that reports auth errors to SigninErrorController. Automatically
11 // registers and de-registers itself as an AuthStatusProvider in the
12 // constructor and destructor.
13 class FakeAuthStatusProvider
14 : public SigninErrorController::AuthStatusProvider
{
16 explicit FakeAuthStatusProvider(SigninErrorController
* error
);
17 ~FakeAuthStatusProvider() override
;
19 // Sets the auth error that this provider reports to SigninErrorController.
20 // Also notifies SigninErrorController via AuthStatusChanged().
21 void SetAuthError(const std::string
& account_id
,
22 const std::string
& username
,
23 const GoogleServiceAuthError
& error
);
25 void set_error_without_status_change(const GoogleServiceAuthError
& error
) {
29 // AuthStatusProvider implementation.
30 std::string
GetAccountId() const override
;
31 std::string
GetUsername() const override
;
32 GoogleServiceAuthError
GetAuthStatus() const override
;
35 SigninErrorController
* error_provider_
;
36 std::string account_id_
;
37 std::string username_
;
38 GoogleServiceAuthError auth_error_
;
41 #endif // COMPONENTS_SIGNIN_CORE_BROWSER_FAKE_AUTH_STATUS_PROVIDER_H_