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

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

Issue 10562036: Deprecate and re-wire the ClearSiteDataOnExit policy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix nits. Created 8 years, 6 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 | Annotate | Revision Log
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 "chrome/browser/policy/configuration_policy_handler.h" 5 #include "chrome/browser/policy/configuration_policy_handler.h"
6 #include "chrome/browser/policy/policy_error_map.h" 6 #include "chrome/browser/policy/policy_error_map.h"
7 #include "chrome/browser/policy/policy_map.h" 7 #include "chrome/browser/policy/policy_map.h"
8 #include "chrome/browser/prefs/pref_value_map.h" 8 #include "chrome/browser/prefs/pref_value_map.h"
9 #include "chrome/common/pref_names.h" 9 #include "chrome/common/pref_names.h"
10 #include "policy/policy_constants.h" 10 #include "policy/policy_constants.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 12
13 namespace policy { 13 namespace policy {
14 14
15 TEST(ExtensionListPolicyHandlerTest, CheckPolicySettings) { 15 TEST(ExtensionListPolicyHandlerTest, CheckPolicySettings) {
16 base::ListValue list; 16 base::ListValue list;
17 PolicyMap policy_map; 17 PolicyMap policy_map;
18 PolicyErrorMap errors; 18 PolicyErrorMap errors;
19 ExtensionListPolicyHandler handler(key::kExtensionInstallBlacklist, 19 ExtensionListPolicyHandler handler(key::kExtensionInstallBlacklist,
20 prefs::kExtensionInstallDenyList, 20 prefs::kExtensionInstallDenyList,
21 true); 21 true);
22 22
23 policy_map.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY, 23 policy_map.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY,
24 POLICY_SCOPE_USER, list.DeepCopy()); 24 POLICY_SCOPE_USER, list.DeepCopy());
25 errors.Clear();
25 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); 26 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors));
26 EXPECT_TRUE(errors.empty()); 27 EXPECT_TRUE(errors.empty());
27 28
28 list.Append(Value::CreateStringValue("abcdefghijklmnopabcdefghijklmnop")); 29 list.Append(Value::CreateStringValue("abcdefghijklmnopabcdefghijklmnop"));
29 policy_map.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY, 30 policy_map.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY,
30 POLICY_SCOPE_USER, list.DeepCopy()); 31 POLICY_SCOPE_USER, list.DeepCopy());
32 errors.Clear();
31 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); 33 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors));
32 EXPECT_TRUE(errors.empty()); 34 EXPECT_TRUE(errors.empty());
33 35
34 list.Append(Value::CreateStringValue("*")); 36 list.Append(Value::CreateStringValue("*"));
35 policy_map.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY, 37 policy_map.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY,
36 POLICY_SCOPE_USER, list.DeepCopy()); 38 POLICY_SCOPE_USER, list.DeepCopy());
39 errors.Clear();
37 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); 40 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors));
38 EXPECT_TRUE(errors.empty()); 41 EXPECT_TRUE(errors.empty());
39 42
40 list.Append(Value::CreateStringValue("invalid")); 43 list.Append(Value::CreateStringValue("invalid"));
41 policy_map.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY, 44 policy_map.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY,
42 POLICY_SCOPE_USER, list.DeepCopy()); 45 POLICY_SCOPE_USER, list.DeepCopy());
46 errors.Clear();
43 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); 47 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors));
44 EXPECT_FALSE(errors.empty()); 48 EXPECT_FALSE(errors.empty());
45 EXPECT_FALSE(errors.GetErrors(key::kExtensionInstallBlacklist).empty()); 49 EXPECT_FALSE(errors.GetErrors(key::kExtensionInstallBlacklist).empty());
46 } 50 }
47 51
48 TEST(ExtensionListPolicyHandlerTest, ApplyPolicySettings) { 52 TEST(ExtensionListPolicyHandlerTest, ApplyPolicySettings) {
49 base::ListValue list; 53 base::ListValue list;
50 PolicyMap policy_map; 54 PolicyMap policy_map;
51 PrefValueMap prefs; 55 PrefValueMap prefs;
52 base::Value* value = NULL; 56 base::Value* value = NULL;
(...skipping 12 matching lines...) Expand all
65 TEST(ExtensionURLPatternListPolicyHandlerTest, CheckPolicySettings) { 69 TEST(ExtensionURLPatternListPolicyHandlerTest, CheckPolicySettings) {
66 base::ListValue list; 70 base::ListValue list;
67 PolicyMap policy_map; 71 PolicyMap policy_map;
68 PolicyErrorMap errors; 72 PolicyErrorMap errors;
69 ExtensionURLPatternListPolicyHandler handler( 73 ExtensionURLPatternListPolicyHandler handler(
70 key::kExtensionInstallSources, 74 key::kExtensionInstallSources,
71 prefs::kExtensionAllowedInstallSites); 75 prefs::kExtensionAllowedInstallSites);
72 76
73 policy_map.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY, 77 policy_map.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY,
74 POLICY_SCOPE_USER, list.DeepCopy()); 78 POLICY_SCOPE_USER, list.DeepCopy());
79 errors.Clear();
75 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); 80 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors));
76 EXPECT_TRUE(errors.empty()); 81 EXPECT_TRUE(errors.empty());
77 82
78 list.Append(Value::CreateStringValue("http://*.google.com/*")); 83 list.Append(Value::CreateStringValue("http://*.google.com/*"));
79 policy_map.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY, 84 policy_map.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY,
80 POLICY_SCOPE_USER, list.DeepCopy()); 85 POLICY_SCOPE_USER, list.DeepCopy());
86 errors.Clear();
81 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); 87 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors));
82 EXPECT_TRUE(errors.empty()); 88 EXPECT_TRUE(errors.empty());
83 89
84 list.Append(Value::CreateStringValue("<all_urls>")); 90 list.Append(Value::CreateStringValue("<all_urls>"));
85 policy_map.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY, 91 policy_map.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY,
86 POLICY_SCOPE_USER, list.DeepCopy()); 92 POLICY_SCOPE_USER, list.DeepCopy());
93 errors.Clear();
87 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); 94 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors));
88 EXPECT_TRUE(errors.empty()); 95 EXPECT_TRUE(errors.empty());
89 96
90 list.Append(Value::CreateStringValue("invalid")); 97 list.Append(Value::CreateStringValue("invalid"));
91 policy_map.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY, 98 policy_map.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY,
92 POLICY_SCOPE_USER, list.DeepCopy()); 99 POLICY_SCOPE_USER, list.DeepCopy());
100 errors.Clear();
93 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); 101 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors));
94 EXPECT_FALSE(errors.empty()); 102 EXPECT_FALSE(errors.empty());
95 EXPECT_FALSE(errors.GetErrors(key::kExtensionInstallSources).empty()); 103 EXPECT_FALSE(errors.GetErrors(key::kExtensionInstallSources).empty());
96 104
97 // URLPattern syntax has a different way to express 'all urls'. Though '*' 105 // URLPattern syntax has a different way to express 'all urls'. Though '*'
98 // would be compatible today, it would be brittle, so we disallow. 106 // would be compatible today, it would be brittle, so we disallow.
99 list.Append(Value::CreateStringValue("*")); 107 list.Append(Value::CreateStringValue("*"));
100 policy_map.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY, 108 policy_map.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY,
101 POLICY_SCOPE_USER, list.DeepCopy()); 109 POLICY_SCOPE_USER, list.DeepCopy());
110 errors.Clear();
102 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); 111 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors));
103 EXPECT_FALSE(errors.empty()); 112 EXPECT_FALSE(errors.empty());
104 EXPECT_FALSE(errors.GetErrors(key::kExtensionInstallSources).empty()); 113 EXPECT_FALSE(errors.GetErrors(key::kExtensionInstallSources).empty());
105 } 114 }
106 115
107 TEST(ExtensionURLPatternListPolicyHandlerTest, ApplyPolicySettings) { 116 TEST(ExtensionURLPatternListPolicyHandlerTest, ApplyPolicySettings) {
108 base::ListValue list; 117 base::ListValue list;
109 PolicyMap policy_map; 118 PolicyMap policy_map;
110 PrefValueMap prefs; 119 PrefValueMap prefs;
111 base::Value* value = NULL; 120 base::Value* value = NULL;
112 ExtensionURLPatternListPolicyHandler handler( 121 ExtensionURLPatternListPolicyHandler handler(
113 key::kExtensionInstallSources, 122 key::kExtensionInstallSources,
114 prefs::kExtensionAllowedInstallSites); 123 prefs::kExtensionAllowedInstallSites);
115 124
116 list.Append(Value::CreateStringValue("https://corp.monkey.net/*")); 125 list.Append(Value::CreateStringValue("https://corp.monkey.net/*"));
117 policy_map.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY, 126 policy_map.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY,
118 POLICY_SCOPE_USER, list.DeepCopy()); 127 POLICY_SCOPE_USER, list.DeepCopy());
119 handler.ApplyPolicySettings(policy_map, &prefs); 128 handler.ApplyPolicySettings(policy_map, &prefs);
120 EXPECT_TRUE(prefs.GetValue(prefs::kExtensionAllowedInstallSites, &value)); 129 ASSERT_TRUE(prefs.GetValue(prefs::kExtensionAllowedInstallSites, &value));
121 EXPECT_TRUE(base::Value::Equals(&list, value)); 130 EXPECT_TRUE(base::Value::Equals(&list, value));
122 } 131 }
123 132
133 TEST(ClearSiteDataOnExitPolicyHandlerTest, CheckPolicySettings) {
134 ClearSiteDataOnExitPolicyHandler handler;
135 PolicyMap policy_map;
136 PolicyErrorMap errors;
137
138 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors));
139 EXPECT_TRUE(errors.empty());
140
141 policy_map.Set(key::kClearSiteDataOnExit, POLICY_LEVEL_MANDATORY,
142 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
143 errors.Clear();
144 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors));
145 EXPECT_TRUE(errors.empty());
146
147 policy_map.Set(key::kDefaultCookiesSetting, POLICY_LEVEL_MANDATORY,
148 POLICY_SCOPE_USER,
149 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW));
150 errors.Clear();
151 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors));
152 EXPECT_FALSE(errors.empty());
153 EXPECT_FALSE(errors.GetErrors(key::kDefaultCookiesSetting).empty());
154 }
155
156 TEST(ClearSiteDataOnExitPolicyHandlerTest, ApplyPolicySettings) {
157 ClearSiteDataOnExitPolicyHandler handler;
158 PolicyMap policy_map;
159 PrefValueMap prefs;
160 const base::Value* val = NULL;
161
162 handler.ApplyPolicySettings(policy_map, &prefs);
163 EXPECT_FALSE(prefs.GetValue(prefs::kManagedDefaultCookiesSetting, &val));
164
165 policy_map.Set(key::kClearSiteDataOnExit, POLICY_LEVEL_MANDATORY,
166 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
167 prefs.Clear();
168 handler.ApplyPolicySettings(policy_map, &prefs);
169 ASSERT_TRUE(prefs.GetValue(prefs::kManagedDefaultCookiesSetting, &val));
170 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_SESSION_ONLY).Equals(val));
171
172 policy_map.Set(key::kDefaultCookiesSetting, POLICY_LEVEL_MANDATORY,
173 POLICY_SCOPE_USER,
174 base::Value::CreateIntegerValue(CONTENT_SETTING_ALLOW));
175 prefs.Clear();
176 handler.ApplyPolicySettings(policy_map, &prefs);
177 ASSERT_TRUE(prefs.GetValue(prefs::kManagedDefaultCookiesSetting, &val));
178 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_SESSION_ONLY).Equals(val));
179
180 policy_map.Clear();
181 prefs.Clear();
182 handler.ApplyPolicySettings(policy_map, &prefs);
183 EXPECT_FALSE(prefs.GetValue(prefs::kManagedDefaultCookiesSetting, &val));
184 }
185
124 } // namespace policy 186 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698