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

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: tweaks 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", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 165 map.Set("boolean", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
167 base::Value::CreateBooleanValue(true), NULL); 166 base::Value::CreateBooleanValue(true), NULL);
168 map.Set("integer", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 167 map.Set("integer", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
169 base::Value::CreateIntegerValue(1), NULL); 168 base::Value::CreateIntegerValue(1), NULL);
170 map.Set("null", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 169 map.Set("null", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
171 base::Value::CreateNullValue(), NULL); 170 base::Value::CreateNullValue(), NULL);
172 map.Set("double", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 171 map.Set("double", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
173 base::Value::CreateDoubleValue(1.2), NULL); 172 base::Value::CreateDoubleValue(1.2), NULL);
174 base::DictionaryValue dict; 173 base::DictionaryValue dict;
175 dict.SetString("a", "b"); 174 dict.SetString("a", "b");
176 dict.SetInteger("b", 2); 175 dict.SetInteger("b", 2);
177 map.Set("object", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 176 map.Set("object", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
178 dict.DeepCopy(), NULL); 177 dict.DeepCopy(), NULL);
179 map.Set("string", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 178 map.Set("string",
180 base::Value::CreateStringValue("value"), NULL); 179 POLICY_LEVEL_MANDATORY,
180 POLICY_SCOPE_USER,
181 new base::StringValue("value"),
182 NULL);
181 183
182 bundle.MergeFrom(expected_bundle); 184 bundle.MergeFrom(expected_bundle);
183 bundle.Get(extension_ns).Set("Unexpected", 185 bundle.Get(extension_ns).Set("Unexpected",
184 POLICY_LEVEL_MANDATORY, 186 POLICY_LEVEL_MANDATORY,
185 POLICY_SCOPE_USER, 187 POLICY_SCOPE_USER,
186 base::Value::CreateStringValue("to-be-removed"), 188 new base::StringValue("to-be-removed"),
187 NULL); 189 NULL);
188 190
189 schema_map->FilterBundle(&bundle); 191 schema_map->FilterBundle(&bundle);
190 EXPECT_TRUE(bundle.Equals(expected_bundle)); 192 EXPECT_TRUE(bundle.Equals(expected_bundle));
191 193
192 // Mismatched types are also removed. 194 // Mismatched types are also removed.
193 bundle.Clear(); 195 bundle.Clear();
194 PolicyMap& badmap = bundle.Get(extension_ns); 196 PolicyMap& badmap = bundle.Get(extension_ns);
195 badmap.Set("list", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 197 badmap.Set("list", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
196 base::Value::CreateBooleanValue(false), NULL); 198 base::Value::CreateBooleanValue(false), NULL);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 scoped_refptr<SchemaMap> schema_map = new SchemaMap(domain_map); 232 scoped_refptr<SchemaMap> schema_map = new SchemaMap(domain_map);
231 233
232 // |bundle| contains policies loaded by a policy provider. 234 // |bundle| contains policies loaded by a policy provider.
233 PolicyBundle bundle; 235 PolicyBundle bundle;
234 236
235 // Known components with schemas are filtered. 237 // Known components with schemas are filtered.
236 PolicyNamespace extension_ns(POLICY_DOMAIN_EXTENSIONS, "with-schema"); 238 PolicyNamespace extension_ns(POLICY_DOMAIN_EXTENSIONS, "with-schema");
237 bundle.Get(extension_ns).Set("String", 239 bundle.Get(extension_ns).Set("String",
238 POLICY_LEVEL_MANDATORY, 240 POLICY_LEVEL_MANDATORY,
239 POLICY_SCOPE_USER, 241 POLICY_SCOPE_USER,
240 base::Value::CreateStringValue("value 1"), 242 new base::StringValue("value 1"),
241 NULL); 243 NULL);
242 244
243 // The Chrome namespace isn't filtered. 245 // The Chrome namespace isn't filtered.
244 PolicyNamespace chrome_ns(POLICY_DOMAIN_CHROME, ""); 246 PolicyNamespace chrome_ns(POLICY_DOMAIN_CHROME, "");
245 bundle.Get(chrome_ns).Set("ChromePolicy", 247 bundle.Get(chrome_ns).Set("ChromePolicy",
246 POLICY_LEVEL_MANDATORY, 248 POLICY_LEVEL_MANDATORY,
247 POLICY_SCOPE_USER, 249 POLICY_SCOPE_USER,
248 base::Value::CreateStringValue("value 3"), 250 new base::StringValue("value 3"),
249 NULL); 251 NULL);
250 252
251 PolicyBundle expected_bundle; 253 PolicyBundle expected_bundle;
252 expected_bundle.MergeFrom(bundle); 254 expected_bundle.MergeFrom(bundle);
253 255
254 // Known components without a schema are filtered out completely. 256 // Known components without a schema are filtered out completely.
255 PolicyNamespace without_schema_ns(POLICY_DOMAIN_EXTENSIONS, "without-schema"); 257 PolicyNamespace without_schema_ns(POLICY_DOMAIN_EXTENSIONS, "without-schema");
256 bundle.Get(without_schema_ns).Set("Schemaless", 258 bundle.Get(without_schema_ns).Set("Schemaless",
257 POLICY_LEVEL_MANDATORY, 259 POLICY_LEVEL_MANDATORY,
258 POLICY_SCOPE_USER, 260 POLICY_SCOPE_USER,
259 base::Value::CreateStringValue("value 2"), 261 new base::StringValue("value 2"),
260 NULL); 262 NULL);
261 263
262 // Unknown policies of known components with a schema are removed. 264 // Unknown policies of known components with a schema are removed.
263 bundle.Get(extension_ns).Set("Surprise", 265 bundle.Get(extension_ns).Set("Surprise",
264 POLICY_LEVEL_MANDATORY, 266 POLICY_LEVEL_MANDATORY,
265 POLICY_SCOPE_USER, 267 POLICY_SCOPE_USER,
266 base::Value::CreateStringValue("value 4"), 268 new base::StringValue("value 4"),
267 NULL); 269 NULL);
268 270
269 // Unknown components are removed. 271 // Unknown components are removed.
270 PolicyNamespace unknown_ns(POLICY_DOMAIN_EXTENSIONS, "unknown"); 272 PolicyNamespace unknown_ns(POLICY_DOMAIN_EXTENSIONS, "unknown");
271 bundle.Get(unknown_ns).Set("Surprise", 273 bundle.Get(unknown_ns).Set("Surprise",
272 POLICY_LEVEL_MANDATORY, 274 POLICY_LEVEL_MANDATORY,
273 POLICY_SCOPE_USER, 275 POLICY_SCOPE_USER,
274 base::Value::CreateStringValue("value 5"), 276 new base::StringValue("value 5"),
275 NULL); 277 NULL);
276 278
277 schema_map->FilterBundle(&bundle); 279 schema_map->FilterBundle(&bundle);
278 EXPECT_TRUE(bundle.Equals(expected_bundle)); 280 EXPECT_TRUE(bundle.Equals(expected_bundle));
279 } 281 }
280 282
281 TEST_F(SchemaMapTest, GetChanges) { 283 TEST_F(SchemaMapTest, GetChanges) {
282 DomainMap map; 284 DomainMap map;
283 map[POLICY_DOMAIN_CHROME][""] = Schema(); 285 map[POLICY_DOMAIN_CHROME][""] = Schema();
284 scoped_refptr<SchemaMap> older = new SchemaMap(map); 286 scoped_refptr<SchemaMap> older = new SchemaMap(map);
(...skipping 19 matching lines...) Expand all
304 newer = new SchemaMap(map); 306 newer = new SchemaMap(map);
305 newer->GetChanges(older, &removed, &added); 307 newer->GetChanges(older, &removed, &added);
306 ASSERT_EQ(2u, removed.size()); 308 ASSERT_EQ(2u, removed.size());
307 EXPECT_EQ(PolicyNamespace(POLICY_DOMAIN_CHROME, ""), removed[0]); 309 EXPECT_EQ(PolicyNamespace(POLICY_DOMAIN_CHROME, ""), removed[0]);
308 EXPECT_EQ(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz"), removed[1]); 310 EXPECT_EQ(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "xyz"), removed[1]);
309 ASSERT_EQ(1u, added.size()); 311 ASSERT_EQ(1u, added.size());
310 EXPECT_EQ(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "abc"), added[0]); 312 EXPECT_EQ(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, "abc"), added[0]);
311 } 313 }
312 314
313 } // namespace policy 315 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698