Home | History | Annotate | Download | only in policy
      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_POLICY_MOCK_CONFIGURATION_POLICY_PROVIDER_H_
      6 #define CHROME_BROWSER_POLICY_MOCK_CONFIGURATION_POLICY_PROVIDER_H_
      7 
      8 #include "chrome/browser/policy/configuration_policy_provider.h"
      9 #include "chrome/browser/policy/policy_domain_descriptor.h"
     10 #include "chrome/browser/policy/policy_map.h"
     11 #include "testing/gmock/include/gmock/gmock.h"
     12 
     13 namespace policy {
     14 
     15 // Mock ConfigurationPolicyProvider implementation that supplies canned
     16 // values for polices.
     17 // TODO(joaodasilva, mnissler): introduce an implementation that non-policy
     18 // code can use that doesn't require the usual boilerplate.
     19 // http://crbug.com/242087
     20 class MockConfigurationPolicyProvider : public ConfigurationPolicyProvider {
     21  public:
     22   MockConfigurationPolicyProvider();
     23   virtual ~MockConfigurationPolicyProvider();
     24 
     25   MOCK_CONST_METHOD1(IsInitializationComplete, bool(PolicyDomain domain));
     26   MOCK_METHOD0(RefreshPolicies, void());
     27 
     28   MOCK_METHOD1(RegisterPolicyDomain,
     29                void(scoped_refptr<const PolicyDomainDescriptor>));
     30 
     31   // Make public for tests.
     32   using ConfigurationPolicyProvider::UpdatePolicy;
     33 
     34   // Utility method that invokes UpdatePolicy() with a PolicyBundle that maps
     35   // the Chrome namespace to a copy of |policy|.
     36   void UpdateChromePolicy(const PolicyMap& policy);
     37 };
     38 
     39 class MockConfigurationPolicyObserver
     40     : public ConfigurationPolicyProvider::Observer {
     41  public:
     42   MockConfigurationPolicyObserver();
     43   virtual ~MockConfigurationPolicyObserver();
     44 
     45   MOCK_METHOD1(OnUpdatePolicy, void(ConfigurationPolicyProvider*));
     46 };
     47 
     48 }  // namespace policy
     49 
     50 #endif  // CHROME_BROWSER_POLICY_MOCK_CONFIGURATION_POLICY_PROVIDER_H_
     51