1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 28bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 38bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)// found in the LICENSE file. 48bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) 5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#ifndef COMPONENTS_POLICY_CORE_BROWSER_CONFIGURATION_POLICY_PREF_STORE_TEST_H_ 6a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define COMPONENTS_POLICY_CORE_BROWSER_CONFIGURATION_POLICY_PREF_STORE_TEST_H_ 78bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) 8a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "base/basictypes.h" 98bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)#include "base/memory/ref_counted.h" 108bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 118bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)#include "base/message_loop/message_loop.h" 12a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "components/policy/core/browser/configuration_policy_handler_list.h" 13a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "components/policy/core/common/mock_configuration_policy_provider.h" 14a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "components/policy/core/common/policy_service_impl.h" 158bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 168bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) 178bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)namespace policy { 188bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) 19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)struct PolicyHandlerParameters; 208bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)class PolicyMap; 218bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)class PolicyService; 228bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)class ConfigurationPolicyPrefStore; 238bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) 248bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)class ConfigurationPolicyPrefStoreTest : public testing::Test { 258bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) protected: 268bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) ConfigurationPolicyPrefStoreTest(); 278bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) virtual ~ConfigurationPolicyPrefStoreTest(); 288bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) virtual void TearDown() OVERRIDE; 298bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) void UpdateProviderPolicy(const PolicyMap& policy); 308bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) 31a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // A unit test can override this method to populate the policy handler 32a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // parameters as suited to its needs. 33a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) virtual void PopulatePolicyHandlerParameters( 34a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) PolicyHandlerParameters* parameters); 35a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) PolicyServiceImpl::Providers providers_; 378bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) ConfigurationPolicyHandlerList handler_list_; 388bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) MockConfigurationPolicyProvider provider_; 398bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) scoped_ptr<PolicyService> policy_service_; 408bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) scoped_refptr<ConfigurationPolicyPrefStore> store_; 418bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) base::MessageLoop loop_; 428bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) 438bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) private: 448bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyPrefStoreTest); 458bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)}; 468bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) 478bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)} // namespace policy 488bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) 49a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#endif // COMPONENTS_POLICY_CORE_BROWSER_CONFIGURATION_POLICY_PREF_STORE_TEST_H_ 50