fake_identity_provider.h revision 0529e5d033099cbfc42635f6f6183833b09dff6e
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. 4 5#ifndef GOOGLE_APIS_GAIA_FAKE_IDENTITY_PROVIDER_H_ 6#define GOOGLE_APIS_GAIA_FAKE_IDENTITY_PROVIDER_H_ 7 8#include <string> 9 10#include "base/compiler_specific.h" 11#include "base/macros.h" 12#include "google_apis/gaia/identity_provider.h" 13 14class OAuth2TokenService; 15 16// Fake identity provider implementation. 17class FakeIdentityProvider : public IdentityProvider { 18 public: 19 explicit FakeIdentityProvider(OAuth2TokenService* token_service); 20 virtual ~FakeIdentityProvider(); 21 22 void LogIn(const std::string& account_id); 23 void LogOut(); 24 25 // IdentityProvider: 26 virtual std::string GetActiveUsername() OVERRIDE; 27 virtual std::string GetActiveAccountId() OVERRIDE; 28 virtual OAuth2TokenService* GetTokenService() OVERRIDE; 29 virtual bool RequestLogin() OVERRIDE; 30 31 private: 32 std::string account_id_; 33 OAuth2TokenService* token_service_; 34 35 DISALLOW_COPY_AND_ASSIGN(FakeIdentityProvider); 36}; 37 38#endif // GOOGLE_APIS_GAIA_FAKE_IDENTITY_PROVIDER_H_ 39