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

Side by Side Diff: components/policy/core/common/schema_map_unittest.cc

Issue 388963002: Get rid of the rest of CreateStringValue (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix bad rebase Created 6 years, 5 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 2013 The Chromium Authors. All rights reserved. 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 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 "components/policy/core/common/schema_map.h" 5 #include "components/policy/core/common/schema_map.h"
6 6
7 #include "base/memory/weak_ptr.h" 7 #include "base/memory/weak_ptr.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "components/policy/core/common/external_data_fetcher.h" 9 #include "components/policy/core/common/external_data_fetcher.h"
10 #include "components/policy/core/common/external_data_manager.h" 10 #include "components/policy/core/common/external_data_manager.h"
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 schema_map->FilterBundle(&bundle); 134 schema_map->FilterBundle(&bundle);
135 const PolicyBundle empty_bundle; 135 const PolicyBundle empty_bundle;
136 EXPECT_TRUE(bundle.Equals(empty_bundle)); 136 EXPECT_TRUE(bundle.Equals(empty_bundle));
137 137
138 // The Chrome namespace isn't filtered. 138 // The Chrome namespace isn't filtered.
139 PolicyBundle expected_bundle; 139 PolicyBundle expected_bundle;
140 PolicyNamespace chrome_ns(POLICY_DOMAIN_CHROME, ""); 140 PolicyNamespace chrome_ns(POLICY_DOMAIN_CHROME, "");
141 expected_bundle.Get(chrome_ns).Set("ChromePolicy", 141 expected_bundle.Get(chrome_ns).Set("ChromePolicy",
142 POLICY_LEVEL_MANDATORY, 142 POLICY_LEVEL_MANDATORY,
143 POLICY_SCOPE_USER, 143 POLICY_SCOPE_USER,
144 base::Value::CreateStringValue("value"), 144 new base::StringValue("value"),
145 NULL); 145 NULL);
146 bundle.CopyFrom(expected_bundle); 146 bundle.CopyFrom(expected_bundle);
147 147
148 // Unknown components are filtered out. 148 // Unknown components are filtered out.
149 PolicyNamespace another_extension_ns(POLICY_DOMAIN_EXTENSIONS, "xyz"); 149 PolicyNamespace another_extension_ns(POLICY_DOMAIN_EXTENSIONS, "xyz");
150 bundle.Get(another_extension_ns).Set( 150 bundle.Get(another_extension_ns).Set("AnotherExtensionPolicy",
151 "AnotherExtensionPolicy", 151 POLICY_LEVEL_MANDATORY,
152 POLICY_LEVEL_MANDATORY, 152 POLICY_SCOPE_USER,
153 POLICY_SCOPE_USER, 153 new base::StringValue("value"),
154 base::Value::CreateStringValue("value"), 154 NULL);
155 NULL);
156 schema_map->FilterBundle(&bundle); 155 schema_map->FilterBundle(&bundle);
157 EXPECT_TRUE(bundle.Equals(expected_bundle)); 156 EXPECT_TRUE(bundle.Equals(expected_bundle));
158 157
159 PolicyNamespace extension_ns(POLICY_DOMAIN_EXTENSIONS, "abc"); 158 PolicyNamespace extension_ns(POLICY_DOMAIN_EXTENSIONS, "abc");
160 PolicyMap& map = expected_bundle.Get(extension_ns); 159 PolicyMap& map = expected_bundle.Get(extension_ns);
161 base::ListValue list; 160 base::ListValue list;
162 list.AppendString("a"); 161 list.AppendString("a");
163 list.AppendString("b"); 162 list.AppendString("b");
164 map.Set("list", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 163 map.Set("list", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
165 list.DeepCopy(), NULL); 164 list.DeepCopy(), NULL);
166 map.Set("boolean", 165 map.Set("boolean",
167 POLICY_LEVEL_MANDATORY, 166 POLICY_LEVEL_MANDATORY,
168 POLICY_SCOPE_USER, 167 POLICY_SCOPE_USER,
169 new base::FundamentalValue(true), 168 new base::FundamentalValue(true),
170 NULL); 169 NULL);
171 map.Set("integer", 170 map.Set("integer",
172 POLICY_LEVEL_MANDATORY, 171 POLICY_LEVEL_MANDATORY,
173 POLICY_SCOPE_USER, 172 POLICY_SCOPE_USER,
174 new base::FundamentalValue(1), 173 new base::FundamentalValue(1),
175 NULL); 174 NULL);
176 map.Set("null", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 175 map.Set("null", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
177 base::Value::CreateNullValue(), NULL); 176 base::Value::CreateNullValue(), NULL);
178 map.Set("double", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 177 map.Set("double", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
179 base::Value::CreateDoubleValue(1.2), NULL); 178 base::Value::CreateDoubleValue(1.2), NULL);
180 base::DictionaryValue dict; 179 base::DictionaryValue dict;
181 dict.SetString("a", "b"); 180 dict.SetString("a", "b");
182 dict.SetInteger("b", 2); 181 dict.SetInteger("b", 2);
183 map.Set("object", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 182 map.Set("object", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
184 dict.DeepCopy(), NULL); 183 dict.DeepCopy(), NULL);
185 map.Set("string", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 184 map.Set("string",
186 base::Value::CreateStringValue("value"), NULL); 185 POLICY_LEVEL_MANDATORY,
186 POLICY_SCOPE_USER,
187 new base::StringValue("value"),
188 NULL);
187 189
188 bundle.MergeFrom(expected_bundle); 190 bundle.MergeFrom(expected_bundle);
189 bundle.Get(extension_ns).Set("Unexpected", 191 bundle.Get(extension_ns).Set("Unexpected",
190 POLICY_LEVEL_MANDATORY, 192 POLICY_LEVEL_MANDATORY,
191 POLICY_SCOPE_USER, 193 POLICY_SCOPE_USER,
192 base::Value::CreateStringValue("to-be-removed"), 194 new base::StringValue("to-be-removed"),
193 NULL); 195 NULL);
194 196
195 schema_map->FilterBundle(&bundle); 197 schema_map->FilterBundle(&bundle);
196 EXPECT_TRUE(bundle.Equals(expected_bundle)); 198 EXPECT_TRUE(bundle.Equals(expected_bundle));
197 199
198 // Mismatched types are also removed. 200 // Mismatched types are also removed.
199 bundle.Clear(); 201 bundle.Clear();
200 PolicyMap& badmap = bundle.Get(extension_ns); 202 PolicyMap& badmap = bundle.Get(extension_ns);
201 badmap.Set("list", 203 badmap.Set("list",
202 POLICY_LEVEL_MANDATORY, 204 POLICY_LEVEL_MANDATORY,
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 scoped_refptr<SchemaMap> schema_map = new SchemaMap(domain_map); 256 scoped_refptr<SchemaMap> schema_map = new SchemaMap(domain_map);
255 257
256 // |bundle| contains policies loaded by a policy provider. 258 // |bundle| contains policies loaded by a policy provider.
257 PolicyBundle bundle; 259 PolicyBundle bundle;
258 260
259 // Known components with schemas are filtered. 261 // Known components with schemas are filtered.
260 PolicyNamespace extension_ns(POLICY_DOMAIN_EXTENSIONS, "with-schema"); 262 PolicyNamespace extension_ns(POLICY_DOMAIN_EXTENSIONS, "with-schema");
261 bundle.Get(extension_ns).Set("String", 263 bundle.Get(extension_ns).Set("String",
262 POLICY_LEVEL_MANDATORY, 264 POLICY_LEVEL_MANDATORY,
263 POLICY_SCOPE_USER, 265 POLICY_SCOPE_USER,
264 base::Value::CreateStringValue("value 1"), 266 new base::StringValue("value 1"),
265 NULL); 267 NULL);
266 268
267 // The Chrome namespace isn't filtered. 269 // The Chrome namespace isn't filtered.
268 PolicyNamespace chrome_ns(POLICY_DOMAIN_CHROME, ""); 270 PolicyNamespace chrome_ns(POLICY_DOMAIN_CHROME, "");
269 bundle.Get(chrome_ns).Set("ChromePolicy", 271 bundle.Get(chrome_ns).Set("ChromePolicy",
270 POLICY_LEVEL_MANDATORY, 272 POLICY_LEVEL_MANDATORY,
271 POLICY_SCOPE_USER, 273 POLICY_SCOPE_USER,
272 base::Value::CreateStringValue("value 3"), 274 new base::StringValue("value 3"),
273 NULL); 275 NULL);
274 276
275 PolicyBundle expected_bundle; 277 PolicyBundle expected_bundle;
276 expected_bundle.MergeFrom(bundle); 278 expected_bundle.MergeFrom(bundle);
277 279
278 // Known components without a schema are filtered out completely. 280 // Known components without a schema are filtered out completely.
279 PolicyNamespace without_schema_ns(POLICY_DOMAIN_EXTENSIONS, "without-schema"); 281 PolicyNamespace without_schema_ns(POLICY_DOMAIN_EXTENSIONS, "without-schema");
280 bundle.Get(without_schema_ns).Set("Schemaless", 282 bundle.Get(without_schema_ns).Set("Schemaless",
281 POLICY_LEVEL_MANDATORY, 283 POLICY_LEVEL_MANDATORY,
282 POLICY_SCOPE_USER, 284 POLICY_SCOPE_USER,
283 base::Value::CreateStringValue("value 2"), 285 new base::StringValue("value 2"),
284 NULL); 286 NULL);
285 287
286 // Unknown policies of known components with a schema are removed. 288 // Unknown policies of known components with a schema are removed.
287 bundle.Get(extension_ns).Set("Surprise", 289 bundle.Get(extension_ns).Set("Surprise",
288 POLICY_LEVEL_MANDATORY, 290 POLICY_LEVEL_MANDATORY,
289 POLICY_SCOPE_USER, 291 POLICY_SCOPE_USER,
290 base::Value::CreateStringValue("value 4"), 292 new base::StringValue("value 4"),
291 NULL); 293 NULL);
292 294
293 // Unknown components are removed. 295 // Unknown components are removed.
294 PolicyNamespace unknown_ns(POLICY_DOMAIN_EXTENSIONS, "unknown"); 296 PolicyNamespace unknown_ns(POLICY_DOMAIN_EXTENSIONS, "unknown");
295 bundle.Get(unknown_ns).Set("Surprise", 297 bundle.Get(unknown_ns).Set("Surprise",
296 POLICY_LEVEL_MANDATORY, 298 POLICY_LEVEL_MANDATORY,
297 POLICY_SCOPE_USER, 299 POLICY_SCOPE_USER,
298 base::Value::CreateStringValue("value 5"), 300 new base::StringValue("value 5"),
299 NULL); 301 NULL);
300 302
301 schema_map->FilterBundle(&bundle); 303 schema_map->FilterBundle(&bundle);
302 EXPECT_TRUE(bundle.Equals(expected_bundle)); 304 EXPECT_TRUE(bundle.Equals(expected_bundle));
303 } 305 }
304 306
305 TEST_F(SchemaMapTest, GetChanges) { 307 TEST_F(SchemaMapTest, GetChanges) {
306 DomainMap map; 308 DomainMap map;
307 map[POLICY_DOMAIN_CHROME][""] = Schema(); 309 map[POLICY_DOMAIN_CHROME][""] = Schema();
308 scoped_refptr<SchemaMap> older = new SchemaMap(map); 310 scoped_refptr<SchemaMap> older = new SchemaMap(map);
(...skipping 19 matching lines...) Expand all
328 newer = new SchemaMap(map); 330 newer = new SchemaMap(map);
329 newer->GetChanges(older, &removed, &added); 331 newer->GetChanges(older, &removed, &added);
330 ASSERT_EQ(2u, removed.size()); 332 ASSERT_EQ(2u, removed.size());
331 EXPECT_EQ(PolicyNamespace(POLICY_DOMAIN_CHROME, ""), removed[0]); 333 EXPECT_EQ(PolicyNamespace(POLICY_DOMAIN_CHROME, ""), removed[0]);
332 EXPECT_EQ(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz"), removed[1]); 334 EXPECT_EQ(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz"), removed[1]);
333 ASSERT_EQ(1u, added.size()); 335 ASSERT_EQ(1u, added.size());
334 EXPECT_EQ(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "abc"), added[0]); 336 EXPECT_EQ(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "abc"), added[0]);
335 } 337 }
336 338
337 } // namespace policy 339 } // namespace policy
OLDNEW
« no previous file with comments | « components/policy/core/common/proxy_policy_provider_unittest.cc ('k') | components/policy/tools/generate_policy_source.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698