Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Side by Side Diff: chrome/browser/policy/asynchronous_policy_provider_unittest.cc

Issue 10384145: Removed ConfigurationPolicyProvider::Provide(). (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebased Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/values.h" 5 #include "base/values.h"
6 #include "chrome/browser/policy/asynchronous_policy_loader.h" 6 #include "chrome/browser/policy/asynchronous_policy_loader.h"
7 #include "chrome/browser/policy/asynchronous_policy_provider.h" 7 #include "chrome/browser/policy/asynchronous_policy_provider.h"
8 #include "chrome/browser/policy/asynchronous_policy_test_base.h" 8 #include "chrome/browser/policy/asynchronous_policy_test_base.h"
9 #include "chrome/browser/policy/configuration_policy_pref_store.h" 9 #include "chrome/browser/policy/configuration_policy_pref_store.h"
10 #include "chrome/browser/policy/configuration_policy_provider.h" 10 #include "chrome/browser/policy/configuration_policy_provider.h"
11 #include "chrome/browser/policy/mock_configuration_policy_provider.h" 11 #include "chrome/browser/policy/mock_configuration_policy_provider.h"
12 #include "chrome/browser/policy/policy_map.h" 12 #include "chrome/browser/policy/policy_map.h"
13 #include "policy/policy_constants.h" 13 #include "policy/policy_constants.h"
14 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 16
17 using ::testing::InSequence; 17 using ::testing::InSequence;
18 using ::testing::Return; 18 using ::testing::Return;
19 using ::testing::_; 19 using ::testing::_;
20 20
21 namespace policy { 21 namespace policy {
22 22
23 // Creating the provider should provide initial policy. 23 // Creating the provider should provide initial policy.
24 TEST_F(AsynchronousPolicyTestBase, Provide) { 24 TEST_F(AsynchronousPolicyTestBase, Provide) {
25 InSequence s; 25 InSequence s;
26 PolicyMap* policies = new PolicyMap(); 26 PolicyBundle* bundle = new PolicyBundle();
27 policies->Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 27 bundle->Get(POLICY_DOMAIN_CHROME, "")
28 Value::CreateBooleanValue(true)); 28 .Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
29 base::Value::CreateBooleanValue(true));
29 ProviderDelegateMock* delegate = new ProviderDelegateMock(); 30 ProviderDelegateMock* delegate = new ProviderDelegateMock();
30 EXPECT_CALL(*delegate, Load()).WillOnce(Return(policies)); 31 EXPECT_CALL(*delegate, MockLoad()).WillOnce(Return(bundle));
31 AsynchronousPolicyProvider provider( 32 AsynchronousPolicyProvider provider(
32 GetChromePolicyDefinitionList(), 33 GetChromePolicyDefinitionList(),
33 new AsynchronousPolicyLoader(delegate, 10)); 34 new AsynchronousPolicyLoader(delegate, 10));
34 PolicyMap policy_map;
35 provider.Provide(&policy_map);
36 base::FundamentalValue expected(true); 35 base::FundamentalValue expected(true);
37 EXPECT_TRUE(Value::Equals(&expected, 36 const PolicyMap& policies = provider.policies().Get(POLICY_DOMAIN_CHROME, "");
38 policy_map.GetValue(key::kSyncDisabled))); 37 EXPECT_TRUE(base::Value::Equals(&expected,
39 EXPECT_EQ(1U, policy_map.size()); 38 policies.GetValue(key::kSyncDisabled)));
39 EXPECT_EQ(1U, policies.size());
Mattias Nissler (ping if slow) 2012/05/14 16:55:59 Might want to check that other namespaces are empt
Joao da Silva 2012/05/15 13:07:05 Done.
40 } 40 }
41 41
42
43 // Trigger a refresh manually and ensure that policy gets reloaded. 42 // Trigger a refresh manually and ensure that policy gets reloaded.
44 TEST_F(AsynchronousPolicyTestBase, ProvideAfterRefresh) { 43 TEST_F(AsynchronousPolicyTestBase, ProvideAfterRefresh) {
45 InSequence s; 44 InSequence s;
46 PolicyMap* original_policies = new PolicyMap(); 45 PolicyBundle* original_policies = new PolicyBundle();
47 original_policies->Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, 46 original_policies->Get(POLICY_DOMAIN_CHROME, "")
48 POLICY_SCOPE_USER, Value::CreateBooleanValue(true)); 47 .Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
48 base::Value::CreateBooleanValue(true));
49 ProviderDelegateMock* delegate = new ProviderDelegateMock(); 49 ProviderDelegateMock* delegate = new ProviderDelegateMock();
50 EXPECT_CALL(*delegate, Load()).WillOnce(Return(original_policies)); 50 EXPECT_CALL(*delegate, MockLoad()).WillOnce(Return(original_policies));
51 PolicyMap* refresh_policies = new PolicyMap(); 51 PolicyBundle* refresh_policies = new PolicyBundle();
52 refresh_policies->Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, 52 refresh_policies->Get(POLICY_DOMAIN_CHROME, "")
53 POLICY_SCOPE_USER, Value::CreateBooleanValue(true)); 53 .Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
54 EXPECT_CALL(*delegate, Load()).WillOnce(Return(refresh_policies)); 54 base::Value::CreateBooleanValue(true));
55 EXPECT_CALL(*delegate, MockLoad()).WillOnce(Return(refresh_policies));
55 AsynchronousPolicyLoader* loader = new AsynchronousPolicyLoader(delegate, 10); 56 AsynchronousPolicyLoader* loader = new AsynchronousPolicyLoader(delegate, 10);
56 AsynchronousPolicyProvider provider(GetChromePolicyDefinitionList(), 57 AsynchronousPolicyProvider provider(GetChromePolicyDefinitionList(), loader);
57 loader);
58 // The original policies have been loaded. 58 // The original policies have been loaded.
59 PolicyMap policy_map; 59 PolicyMap expected;
60 provider.Provide(&policy_map); 60 expected.Set(key::kSyncDisabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
61 EXPECT_EQ(1U, policy_map.size()); 61 base::Value::CreateBooleanValue(true));
62 base::FundamentalValue expected(true); 62 EXPECT_TRUE(
63 EXPECT_TRUE(Value::Equals(&expected, 63 expected.Equals(provider.policies().Get(POLICY_DOMAIN_CHROME, "")));
Mattias Nissler (ping if slow) 2012/05/14 16:55:59 Would be nice if we could just compare the policy
Joao da Silva 2012/05/15 13:07:05 Done.
64 policy_map.GetValue(key::kSyncDisabled)));
65 EXPECT_FALSE(policy_map.Get(key::kJavascriptEnabled));
66 64
67 MockConfigurationPolicyObserver observer; 65 MockConfigurationPolicyObserver observer;
68 ConfigurationPolicyObserverRegistrar registrar; 66 ConfigurationPolicyObserverRegistrar registrar;
69 registrar.Init(&provider, &observer); 67 registrar.Init(&provider, &observer);
70 EXPECT_CALL(observer, OnUpdatePolicy(&provider)).Times(1); 68 EXPECT_CALL(observer, OnUpdatePolicy(&provider)).Times(1);
71 provider.RefreshPolicies(); 69 provider.RefreshPolicies();
72 loop_.RunAllPending(); 70 loop_.RunAllPending();
73 // The refreshed policies are now provided. 71 // The refreshed policies are now provided.
74 policy_map.Clear(); 72 expected.Clear();
75 provider.Provide(&policy_map); 73 expected.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY,
76 EXPECT_EQ(1U, policy_map.size()); 74 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
77 EXPECT_TRUE(Value::Equals(&expected, 75 EXPECT_TRUE(
78 policy_map.GetValue(key::kJavascriptEnabled))); 76 expected.Equals(provider.policies().Get(POLICY_DOMAIN_CHROME, "")));
79 EXPECT_FALSE(policy_map.Get(key::kSyncDisabled));
80 } 77 }
81 78
82 } // namespace policy 79 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698