19ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved.
29ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
39ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch// found in the LICENSE file.
49ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch
5a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#ifndef GOOGLE_APIS_DRIVE_DUMMY_AUTH_SERVICE_H_
6a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#define GOOGLE_APIS_DRIVE_DUMMY_AUTH_SERVICE_H_
79ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch
89ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "base/compiler_specific.h"
9a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "google_apis/drive/auth_service_interface.h"
109ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch
119ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochnamespace google_apis {
129ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch
139ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch// Dummy implementation of AuthServiceInterface that always return a dummy
149ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch// access token.
159ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochclass DummyAuthService : public AuthServiceInterface {
169ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch public:
174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  // The constructor presets non-empty tokens. When a test for checking auth
184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  // failure case (i.e., empty tokens) is needed, explicitly clear them by the
194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  // Clear{Access, Refresh}Token methods.
209ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch  DummyAuthService();
219ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch
224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  void set_access_token(const std::string& token) { access_token_ = token; }
234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  void set_refresh_token(const std::string& token) { refresh_token_ = token; }
244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  const std::string& refresh_token() const { return refresh_token_; }
254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
269ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch  // AuthServiceInterface overrides.
279ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch  virtual void AddObserver(AuthServiceObserver* observer) OVERRIDE;
289ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch  virtual void RemoveObserver(AuthServiceObserver* observer) OVERRIDE;
299ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch  virtual void StartAuthentication(const AuthStatusCallback& callback) OVERRIDE;
309ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch  virtual bool HasAccessToken() const OVERRIDE;
319ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch  virtual bool HasRefreshToken() const OVERRIDE;
329ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch  virtual const std::string& access_token() const OVERRIDE;
339ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch  virtual void ClearAccessToken() OVERRIDE;
349ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch  virtual void ClearRefreshToken() OVERRIDE;
359ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch
369ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch private:
374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  std::string access_token_;
384e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  std::string refresh_token_;
399ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch};
409ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch
419ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch}  // namespace google_apis
429ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch
43a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#endif  // GOOGLE_APIS_DRIVE_DUMMY_AUTH_SERVICE_H_
44