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

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

Issue 185413025: Moved policy unittests into the policy component. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 9 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
(Empty)
1 // Copyright 2013 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 "base/memory/scoped_ptr.h"
6 #include "base/prefs/pref_value_map.h"
7 #include "base/values.h"
8 #include "components/policy/core/browser/policy_error_map.h"
9 #include "components/policy/core/browser/url_blacklist_policy_handler.h"
10 #include "components/policy/core/common/policy_map.h"
11 #include "components/policy/core/common/policy_pref_names.h"
12 #include "policy/policy_constants.h"
13 #include "testing/gtest/include/gtest/gtest.h"
14
15 // Note: this file should move to components/policy/core/browser, but the
16 // components_unittests runner does not load the ResourceBundle as
17 // ChromeTestSuite::Initialize does, which leads to failures using
18 // PolicyErrorMap.
19
20 namespace policy {
21
22 namespace {
23
24 const char kTestDisabledScheme[] = "kTestDisabledScheme";
25 const char kTestBlacklistValue[] = "kTestBlacklistValue";
26
27 } // namespace
28
29 class URLBlacklistPolicyHandlerTest : public testing::Test {
30 protected:
31 void SetPolicy(const std::string& key, base::Value* value) {
32 policies_.Set(key, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, value, NULL);
33 }
34 bool CheckPolicy(const std::string& key, base::Value* value) {
35 SetPolicy(key, value);
36 return handler_.CheckPolicySettings(policies_, &errors_);
37 }
38 void ApplyPolicies() {
39 handler_.ApplyPolicySettings(policies_, &prefs_);
40 }
41
42 URLBlacklistPolicyHandler handler_;
43 PolicyErrorMap errors_;
44 PolicyMap policies_;
45 PrefValueMap prefs_;
46 };
47
48 TEST_F(URLBlacklistPolicyHandlerTest,
49 CheckPolicySettings_DisabledSchemesUnspecified) {
50 EXPECT_TRUE(CheckPolicy(key::kURLBlacklist, new base::ListValue));
51 EXPECT_EQ(0U, errors_.size());
52 }
53
54 TEST_F(URLBlacklistPolicyHandlerTest,
55 CheckPolicySettings_URLBlacklistUnspecified) {
56 EXPECT_TRUE(CheckPolicy(key::kDisabledSchemes, new base::ListValue));
57 EXPECT_EQ(0U, errors_.size());
58 }
59
60 TEST_F(URLBlacklistPolicyHandlerTest,
61 CheckPolicySettings_DisabledSchemesWrongType) {
62 // The policy expects a list. Give it a boolean.
63 EXPECT_TRUE(CheckPolicy(key::kDisabledSchemes,
64 base::Value::CreateBooleanValue(false)));
65 EXPECT_EQ(1U, errors_.size());
66 const std::string expected = key::kDisabledSchemes;
67 const std::string actual = errors_.begin()->first;
68 EXPECT_EQ(expected, actual);
69 }
70
71 TEST_F(URLBlacklistPolicyHandlerTest,
72 CheckPolicySettings_URLBlacklistWrongType) {
73 // The policy expects a list. Give it a boolean.
74 EXPECT_TRUE(CheckPolicy(key::kURLBlacklist,
75 base::Value::CreateBooleanValue(false)));
76 EXPECT_EQ(1U, errors_.size());
77 const std::string expected = key::kURLBlacklist;
78 const std::string actual = errors_.begin()->first;
79 EXPECT_EQ(expected, actual);
80 }
81
82 TEST_F(URLBlacklistPolicyHandlerTest, ApplyPolicySettings_NothingSpecified) {
83 ApplyPolicies();
84 EXPECT_FALSE(prefs_.GetValue(policy_prefs::kUrlBlacklist, NULL));
85 }
86
87 TEST_F(URLBlacklistPolicyHandlerTest,
88 ApplyPolicySettings_DisabledSchemesWrongType) {
89 // The policy expects a list. Give it a boolean.
90 SetPolicy(key::kDisabledSchemes, base::Value::CreateBooleanValue(false));
91 ApplyPolicies();
92 EXPECT_FALSE(prefs_.GetValue(policy_prefs::kUrlBlacklist, NULL));
93 }
94
95 TEST_F(URLBlacklistPolicyHandlerTest,
96 ApplyPolicySettings_URLBlacklistWrongType) {
97 // The policy expects a list. Give it a boolean.
98 SetPolicy(key::kURLBlacklist, base::Value::CreateBooleanValue(false));
99 ApplyPolicies();
100 EXPECT_FALSE(prefs_.GetValue(policy_prefs::kUrlBlacklist, NULL));
101 }
102
103 TEST_F(URLBlacklistPolicyHandlerTest,
104 ApplyPolicySettings_DisabledSchemesEmpty) {
105 SetPolicy(key::kDisabledSchemes, new base::ListValue);
106 ApplyPolicies();
107 base::Value* out;
108 EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlacklist, &out));
109 base::ListValue* out_list;
110 EXPECT_TRUE(out->GetAsList(&out_list));
111 EXPECT_EQ(0U, out_list->GetSize());
112 }
113
114 TEST_F(URLBlacklistPolicyHandlerTest,
115 ApplyPolicySettings_URLBlacklistEmpty) {
116 SetPolicy(key::kURLBlacklist, new base::ListValue);
117 ApplyPolicies();
118 base::Value* out;
119 EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlacklist, &out));
120 base::ListValue* out_list;
121 EXPECT_TRUE(out->GetAsList(&out_list));
122 EXPECT_EQ(0U, out_list->GetSize());
123 }
124
125 TEST_F(URLBlacklistPolicyHandlerTest,
126 ApplyPolicySettings_DisabledSchemesWrongElementType) {
127 // The policy expects string-valued elements. Give it booleans.
128 scoped_ptr<base::ListValue> in(new base::ListValue);
129 in->AppendBoolean(false);
130 SetPolicy(key::kDisabledSchemes, in.release());
131 ApplyPolicies();
132
133 // The element should be skipped.
134 base::Value* out;
135 EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlacklist, &out));
136 base::ListValue* out_list;
137 EXPECT_TRUE(out->GetAsList(&out_list));
138 EXPECT_EQ(0U, out_list->GetSize());
139 }
140
141 TEST_F(URLBlacklistPolicyHandlerTest,
142 ApplyPolicySettings_URLBlacklistWrongElementType) {
143 // The policy expects string-valued elements. Give it booleans.
144 scoped_ptr<base::ListValue> in(new base::ListValue);
145 in->AppendBoolean(false);
146 SetPolicy(key::kURLBlacklist, in.release());
147 ApplyPolicies();
148
149 // The element should be skipped.
150 base::Value* out;
151 EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlacklist, &out));
152 base::ListValue* out_list;
153 EXPECT_TRUE(out->GetAsList(&out_list));
154 EXPECT_EQ(0U, out_list->GetSize());
155 }
156
157 TEST_F(URLBlacklistPolicyHandlerTest,
158 ApplyPolicySettings_DisabledSchemesSuccessful) {
159 scoped_ptr<base::ListValue> in_disabled_schemes(new base::ListValue);
160 in_disabled_schemes->AppendString(kTestDisabledScheme);
161 SetPolicy(key::kDisabledSchemes, in_disabled_schemes.release());
162 ApplyPolicies();
163
164 base::Value* out;
165 EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlacklist, &out));
166 base::ListValue* out_list;
167 EXPECT_TRUE(out->GetAsList(&out_list));
168 EXPECT_EQ(1U, out_list->GetSize());
169
170 std::string out_string;
171 EXPECT_TRUE(out_list->GetString(0U, &out_string));
172 EXPECT_EQ(kTestDisabledScheme + std::string("://*"), out_string);
173 }
174
175 TEST_F(URLBlacklistPolicyHandlerTest,
176 ApplyPolicySettings_URLBlacklistSuccessful) {
177 scoped_ptr<base::ListValue> in_url_blacklist(new base::ListValue);
178 in_url_blacklist->AppendString(kTestBlacklistValue);
179 SetPolicy(key::kURLBlacklist, in_url_blacklist.release());
180 ApplyPolicies();
181
182 base::Value* out;
183 EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlacklist, &out));
184 base::ListValue* out_list;
185 EXPECT_TRUE(out->GetAsList(&out_list));
186 EXPECT_EQ(1U, out_list->GetSize());
187
188 std::string out_string;
189 EXPECT_TRUE(out_list->GetString(0U, &out_string));
190 EXPECT_EQ(kTestBlacklistValue, out_string);
191 }
192
193 TEST_F(URLBlacklistPolicyHandlerTest, ApplyPolicySettings_MergeSuccessful) {
194 scoped_ptr<base::ListValue> in_disabled_schemes(new base::ListValue);
195 in_disabled_schemes->AppendString(kTestDisabledScheme);
196 SetPolicy(key::kDisabledSchemes, in_disabled_schemes.release());
197
198 scoped_ptr<base::ListValue> in_url_blacklist(new base::ListValue);
199 in_url_blacklist->AppendString(kTestBlacklistValue);
200 SetPolicy(key::kURLBlacklist, in_url_blacklist.release());
201
202 ApplyPolicies();
203
204 base::Value* out;
205 EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlacklist, &out));
206 base::ListValue* out_list;
207 EXPECT_TRUE(out->GetAsList(&out_list));
208 EXPECT_EQ(2U, out_list->GetSize());
209
210 std::string out1;
211 EXPECT_TRUE(out_list->GetString(0U, &out1));
212 EXPECT_EQ(kTestDisabledScheme + std::string("://*"), out1);
213
214 std::string out2;
215 EXPECT_TRUE(out_list->GetString(1U, &out2));
216 EXPECT_EQ(kTestBlacklistValue, out2);
217 }
218
219 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698