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 COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_MOCK_PASSWORD_STORE_H_
6#define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_MOCK_PASSWORD_STORE_H_
7
8#include "components/autofill/core/common/password_form.h"
9#include "components/password_manager/core/browser/password_store.h"
10#include "testing/gmock/include/gmock/gmock.h"
11
12namespace content {
13class BrowserContext;
14}
15
16namespace password_manager {
17
18class MockPasswordStore : public PasswordStore {
19 public:
20  MockPasswordStore();
21
22  MOCK_METHOD1(RemoveLogin, void(const autofill::PasswordForm&));
23  MOCK_METHOD3(GetLogins, void(
24      const autofill::PasswordForm&,
25      PasswordStore::AuthorizationPromptPolicy prompt_policy,
26      PasswordStoreConsumer*));
27  MOCK_METHOD1(AddLogin, void(const autofill::PasswordForm&));
28  MOCK_METHOD1(UpdateLogin, void(const autofill::PasswordForm&));
29  MOCK_METHOD1(ReportMetrics, void(const std::string&));
30  MOCK_METHOD1(ReportMetricsImpl, void(const std::string&));
31  MOCK_METHOD1(AddLoginImpl,
32               PasswordStoreChangeList(const autofill::PasswordForm&));
33  MOCK_METHOD1(UpdateLoginImpl,
34               PasswordStoreChangeList(const autofill::PasswordForm&));
35  MOCK_METHOD1(RemoveLoginImpl,
36               PasswordStoreChangeList(const autofill::PasswordForm&));
37  MOCK_METHOD2(RemoveLoginsCreatedBetweenImpl,
38               PasswordStoreChangeList(base::Time, base::Time));
39  MOCK_METHOD2(RemoveLoginsSyncedBetweenImpl,
40               PasswordStoreChangeList(base::Time, base::Time));
41  MOCK_METHOD3(GetLoginsImpl,
42               void(const autofill::PasswordForm& form,
43                    PasswordStore::AuthorizationPromptPolicy prompt_policy,
44                    const ConsumerCallbackRunner& callback_runner));
45  MOCK_METHOD1(GetAutofillableLoginsImpl, void(GetLoginsRequest*));
46  MOCK_METHOD1(GetBlacklistLoginsImpl, void(GetLoginsRequest*));
47  MOCK_METHOD1(FillAutofillableLogins,
48      bool(std::vector<autofill::PasswordForm*>*));
49  MOCK_METHOD1(FillBlacklistLogins,
50      bool(std::vector<autofill::PasswordForm*>*));
51  MOCK_METHOD1(NotifyLoginsChanged, void(const PasswordStoreChangeList&));
52
53  PasswordStoreSync* GetSyncInterface() { return this; }
54
55 protected:
56  virtual ~MockPasswordStore();
57};
58
59}  // namespace password_manager
60
61#endif  // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_MOCK_PASSWORD_STORE_H_
62