1// Copyright 2013 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_DRIVE_DUMMY_AUTH_SERVICE_H_
6#define GOOGLE_APIS_DRIVE_DUMMY_AUTH_SERVICE_H_
7
8#include "base/compiler_specific.h"
9#include "google_apis/drive/auth_service_interface.h"
10
11namespace google_apis {
12
13// Dummy implementation of AuthServiceInterface that always return a dummy
14// access token.
15class DummyAuthService : public AuthServiceInterface {
16 public:
17  // The constructor presets non-empty tokens. When a test for checking auth
18  // failure case (i.e., empty tokens) is needed, explicitly clear them by the
19  // Clear{Access, Refresh}Token methods.
20  DummyAuthService();
21
22  void set_access_token(const std::string& token) { access_token_ = token; }
23  void set_refresh_token(const std::string& token) { refresh_token_ = token; }
24  const std::string& refresh_token() const { return refresh_token_; }
25
26  // AuthServiceInterface overrides.
27  virtual void AddObserver(AuthServiceObserver* observer) OVERRIDE;
28  virtual void RemoveObserver(AuthServiceObserver* observer) OVERRIDE;
29  virtual void StartAuthentication(const AuthStatusCallback& callback) OVERRIDE;
30  virtual bool HasAccessToken() const OVERRIDE;
31  virtual bool HasRefreshToken() const OVERRIDE;
32  virtual const std::string& access_token() const OVERRIDE;
33  virtual void ClearAccessToken() OVERRIDE;
34  virtual void ClearRefreshToken() OVERRIDE;
35
36 private:
37  std::string access_token_;
38  std::string refresh_token_;
39};
40
41}  // namespace google_apis
42
43#endif  // GOOGLE_APIS_DRIVE_DUMMY_AUTH_SERVICE_H_
44