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_POLICY_CORE_COMMON_MOCK_POLICY_SERVICE_H_
6#define COMPONENTS_POLICY_CORE_COMMON_MOCK_POLICY_SERVICE_H_
7
8#include "components/policy/core/common/policy_service.h"
9#include "testing/gmock/include/gmock/gmock.h"
10
11namespace policy {
12
13class MockPolicyServiceObserver : public PolicyService::Observer {
14 public:
15  MockPolicyServiceObserver();
16  virtual ~MockPolicyServiceObserver();
17
18  MOCK_METHOD3(OnPolicyUpdated, void(const PolicyNamespace&,
19                                     const PolicyMap& previous,
20                                     const PolicyMap& current));
21  MOCK_METHOD1(OnPolicyServiceInitialized, void(PolicyDomain));
22};
23
24class MockPolicyService : public PolicyService {
25 public:
26  MockPolicyService();
27  virtual ~MockPolicyService();
28
29  MOCK_METHOD2(AddObserver, void(PolicyDomain, Observer*));
30  MOCK_METHOD2(RemoveObserver, void(PolicyDomain, Observer*));
31
32  MOCK_CONST_METHOD1(GetPolicies, const PolicyMap&(const PolicyNamespace&));
33  MOCK_CONST_METHOD1(IsInitializationComplete, bool(PolicyDomain domain));
34  MOCK_METHOD1(RefreshPolicies, void(const base::Closure&));
35};
36
37}  // namespace policy
38
39#endif  // COMPONENTS_POLICY_CORE_COMMON_MOCK_POLICY_SERVICE_H_
40