• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2010 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_POLICY_MOCK_CONFIGURATION_POLICY_STORE_H_
6 #define CHROME_BROWSER_POLICY_MOCK_CONFIGURATION_POLICY_STORE_H_
7 #pragma once
8 
9 #include <map>
10 #include <utility>
11 
12 #include "base/stl_util-inl.h"
13 #include "base/values.h"
14 #include "chrome/browser/policy/configuration_policy_store_interface.h"
15 #include "chrome/browser/policy/policy_map.h"
16 #include "testing/gmock/include/gmock/gmock.h"
17 
18 namespace policy {
19 
20 // Mock ConfigurationPolicyStore implementation that records values for policy
21 // settings as they get set.
22 class MockConfigurationPolicyStore : public ConfigurationPolicyStoreInterface {
23  public:
24   MockConfigurationPolicyStore();
25   virtual ~MockConfigurationPolicyStore();
26 
policy_map()27   const PolicyMap& policy_map() const { return policy_map_; }
28 
29   // Get a value for the given policy. Returns NULL if that key doesn't exist.
30   const Value* Get(ConfigurationPolicyType type) const;
31   // ConfigurationPolicyStore implementation.
32   void ApplyToMap(ConfigurationPolicyType policy, Value* value);
33 
34   MOCK_METHOD2(Apply, void(ConfigurationPolicyType policy, Value* value));
35 
36  private:
37   PolicyMap policy_map_;
38 
39   DISALLOW_COPY_AND_ASSIGN(MockConfigurationPolicyStore);
40 };
41 
42 }  // namespace policy
43 
44 #endif  // CHROME_BROWSER_POLICY_MOCK_CONFIGURATION_POLICY_STORE_H_
45