1// Copyright 2014 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#include "components/policy/core/browser/configuration_policy_pref_store_test.h"
6
7#include <string>
8
9#include "base/bind.h"
10#include "base/bind_helpers.h"
11#include "base/run_loop.h"
12#include "components/policy/core/browser/configuration_policy_handler_parameters.h"
13#include "components/policy/core/browser/configuration_policy_pref_store.h"
14#include "components/policy/core/common/policy_details.h"
15#include "components/policy/core/common/policy_map.h"
16#include "components/policy/core/common/policy_service_impl.h"
17#include "testing/gmock/include/gmock/gmock.h"
18
19using testing::Return;
20using testing::_;
21
22namespace policy {
23
24ConfigurationPolicyPrefStoreTest::ConfigurationPolicyPrefStoreTest()
25    : handler_list_(base::Bind(&ConfigurationPolicyPrefStoreTest::
26                                   PopulatePolicyHandlerParameters,
27                               base::Unretained(this)),
28                    GetChromePolicyDetailsCallback()) {
29  EXPECT_CALL(provider_, IsInitializationComplete(_))
30      .WillRepeatedly(Return(false));
31  provider_.Init();
32  providers_.push_back(&provider_);
33  policy_service_.reset(new PolicyServiceImpl(providers_));
34  store_ = new ConfigurationPolicyPrefStore(
35      policy_service_.get(), &handler_list_, POLICY_LEVEL_MANDATORY);
36}
37
38ConfigurationPolicyPrefStoreTest::~ConfigurationPolicyPrefStoreTest() {}
39
40void ConfigurationPolicyPrefStoreTest::PopulatePolicyHandlerParameters(
41    PolicyHandlerParameters* parameters) {}
42
43void ConfigurationPolicyPrefStoreTest::TearDown() {
44  provider_.Shutdown();
45}
46
47void ConfigurationPolicyPrefStoreTest::UpdateProviderPolicy(
48    const PolicyMap& policy) {
49  provider_.UpdateChromePolicy(policy);
50  base::RunLoop loop;
51  loop.RunUntilIdle();
52}
53
54}  // namespace policy
55