1// Copyright (c) 2012 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 CHROME_BROWSER_CHROMEOS_LOGIN_TEST_LOGIN_UTILS_H_
6#define CHROME_BROWSER_CHROMEOS_LOGIN_TEST_LOGIN_UTILS_H_
7
8#include "base/memory/ref_counted.h"
9#include "chrome/browser/chromeos/login/login_utils.h"
10#include "chromeos/login/auth/authenticator.h"
11#include "chromeos/login/auth/user_context.h"
12#include "google_apis/gaia/google_service_auth_error.h"
13#include "testing/gtest/include/gtest/gtest.h"
14
15class Profile;
16
17namespace chromeos {
18
19class AuthStatusConsumer;
20
21class TestLoginUtils : public LoginUtils {
22 public:
23  explicit TestLoginUtils(const UserContext& user_context);
24  virtual ~TestLoginUtils();
25
26  // LoginUtils:
27  virtual void RespectLocalePreference(Profile* profile,
28                                       const base::Closure& callback) OVERRIDE;
29  virtual void DoBrowserLaunch(Profile* profile,
30                               LoginDisplayHost* login_host) OVERRIDE {}
31  virtual void PrepareProfile(const UserContext& user_context,
32                              bool has_auth_cookies,
33                              bool has_active_session,
34                              Delegate* delegate) OVERRIDE;
35  virtual void DelegateDeleted(Delegate* delegate) OVERRIDE;
36  virtual void CompleteOffTheRecordLogin(const GURL& start_url) OVERRIDE {}
37  virtual scoped_refptr<Authenticator> CreateAuthenticator(
38      AuthStatusConsumer* consumer) OVERRIDE;
39  virtual bool RestartToApplyPerSessionFlagsIfNeed(Profile* profile,
40                                                   bool early_restart) OVERRIDE;
41
42 private:
43  UserContext expected_user_context_;
44
45  DISALLOW_COPY_AND_ASSIGN(TestLoginUtils);
46};
47
48}  // namespace chromeos
49
50#endif  // CHROME_BROWSER_CHROMEOS_LOGIN_TEST_LOGIN_UTILS_H_
51