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

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

Issue 2666093002: Remove base::FundamentalValue (Closed)
Patch Set: Rebase Created 3 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
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/policy_map.h" 5 #include "components/policy/core/common/policy_map.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 88
89 TEST_F(PolicyMapTest, Equals) { 89 TEST_F(PolicyMapTest, Equals) {
90 PolicyMap a; 90 PolicyMap a;
91 SetPolicy(&a, kTestPolicyName1, base::MakeUnique<base::StringValue>("aaa")); 91 SetPolicy(&a, kTestPolicyName1, base::MakeUnique<base::StringValue>("aaa"));
92 PolicyMap a2; 92 PolicyMap a2;
93 SetPolicy(&a2, kTestPolicyName1, base::MakeUnique<base::StringValue>("aaa")); 93 SetPolicy(&a2, kTestPolicyName1, base::MakeUnique<base::StringValue>("aaa"));
94 PolicyMap b; 94 PolicyMap b;
95 SetPolicy(&b, kTestPolicyName1, base::MakeUnique<base::StringValue>("bbb")); 95 SetPolicy(&b, kTestPolicyName1, base::MakeUnique<base::StringValue>("bbb"));
96 PolicyMap c; 96 PolicyMap c;
97 SetPolicy(&c, kTestPolicyName1, base::MakeUnique<base::StringValue>("aaa")); 97 SetPolicy(&c, kTestPolicyName1, base::MakeUnique<base::StringValue>("aaa"));
98 SetPolicy(&c, kTestPolicyName2, 98 SetPolicy(&c, kTestPolicyName2, base::MakeUnique<base::Value>(true));
99 base::MakeUnique<base::FundamentalValue>(true));
100 PolicyMap d; 99 PolicyMap d;
101 SetPolicy(&d, kTestPolicyName1, CreateExternalDataFetcher("ddd")); 100 SetPolicy(&d, kTestPolicyName1, CreateExternalDataFetcher("ddd"));
102 PolicyMap d2; 101 PolicyMap d2;
103 SetPolicy(&d2, kTestPolicyName1, CreateExternalDataFetcher("ddd")); 102 SetPolicy(&d2, kTestPolicyName1, CreateExternalDataFetcher("ddd"));
104 PolicyMap e; 103 PolicyMap e;
105 SetPolicy(&e, kTestPolicyName1, CreateExternalDataFetcher("eee")); 104 SetPolicy(&e, kTestPolicyName1, CreateExternalDataFetcher("eee"));
106 EXPECT_FALSE(a.Equals(b)); 105 EXPECT_FALSE(a.Equals(b));
107 EXPECT_FALSE(a.Equals(c)); 106 EXPECT_FALSE(a.Equals(c));
108 EXPECT_FALSE(a.Equals(d)); 107 EXPECT_FALSE(a.Equals(d));
109 EXPECT_FALSE(a.Equals(e)); 108 EXPECT_FALSE(a.Equals(e));
(...skipping 24 matching lines...) Expand all
134 EXPECT_FALSE(empty1.Equals(a)); 133 EXPECT_FALSE(empty1.Equals(a));
135 EXPECT_FALSE(a.Equals(empty1)); 134 EXPECT_FALSE(a.Equals(empty1));
136 } 135 }
137 136
138 TEST_F(PolicyMapTest, Swap) { 137 TEST_F(PolicyMapTest, Swap) {
139 PolicyMap a; 138 PolicyMap a;
140 SetPolicy(&a, kTestPolicyName1, base::MakeUnique<base::StringValue>("aaa")); 139 SetPolicy(&a, kTestPolicyName1, base::MakeUnique<base::StringValue>("aaa"));
141 SetPolicy(&a, kTestPolicyName2, CreateExternalDataFetcher("dummy")); 140 SetPolicy(&a, kTestPolicyName2, CreateExternalDataFetcher("dummy"));
142 PolicyMap b; 141 PolicyMap b;
143 SetPolicy(&b, kTestPolicyName1, base::MakeUnique<base::StringValue>("bbb")); 142 SetPolicy(&b, kTestPolicyName1, base::MakeUnique<base::StringValue>("bbb"));
144 SetPolicy(&b, kTestPolicyName3, 143 SetPolicy(&b, kTestPolicyName3, base::MakeUnique<base::Value>(true));
145 base::MakeUnique<base::FundamentalValue>(true));
146 144
147 a.Swap(&b); 145 a.Swap(&b);
148 base::StringValue expected("bbb"); 146 base::StringValue expected("bbb");
149 EXPECT_TRUE(expected.Equals(a.GetValue(kTestPolicyName1))); 147 EXPECT_TRUE(expected.Equals(a.GetValue(kTestPolicyName1)));
150 base::FundamentalValue expected_bool(true); 148 base::Value expected_bool(true);
151 EXPECT_TRUE(expected_bool.Equals(a.GetValue(kTestPolicyName3))); 149 EXPECT_TRUE(expected_bool.Equals(a.GetValue(kTestPolicyName3)));
152 EXPECT_FALSE(a.GetValue(kTestPolicyName2)); 150 EXPECT_FALSE(a.GetValue(kTestPolicyName2));
153 EXPECT_FALSE(a.Get(kTestPolicyName2)); 151 EXPECT_FALSE(a.Get(kTestPolicyName2));
154 base::StringValue expected_a("aaa"); 152 base::StringValue expected_a("aaa");
155 EXPECT_TRUE(expected_a.Equals(b.GetValue(kTestPolicyName1))); 153 EXPECT_TRUE(expected_a.Equals(b.GetValue(kTestPolicyName1)));
156 EXPECT_FALSE(b.GetValue(kTestPolicyName3)); 154 EXPECT_FALSE(b.GetValue(kTestPolicyName3));
157 EXPECT_FALSE(a.GetValue(kTestPolicyName2)); 155 EXPECT_FALSE(a.GetValue(kTestPolicyName2));
158 const PolicyMap::Entry* entry = b.Get(kTestPolicyName2); 156 const PolicyMap::Entry* entry = b.Get(kTestPolicyName2);
159 ASSERT_TRUE(entry); 157 ASSERT_TRUE(entry);
160 EXPECT_TRUE( 158 EXPECT_TRUE(
161 ExternalDataFetcher::Equals(CreateExternalDataFetcher("dummy").get(), 159 ExternalDataFetcher::Equals(CreateExternalDataFetcher("dummy").get(),
162 entry->external_data_fetcher.get())); 160 entry->external_data_fetcher.get()));
163 161
164 b.Clear(); 162 b.Clear();
165 a.Swap(&b); 163 a.Swap(&b);
166 PolicyMap empty; 164 PolicyMap empty;
167 EXPECT_TRUE(a.Equals(empty)); 165 EXPECT_TRUE(a.Equals(empty));
168 EXPECT_FALSE(b.Equals(empty)); 166 EXPECT_FALSE(b.Equals(empty));
169 } 167 }
170 168
171 TEST_F(PolicyMapTest, MergeFrom) { 169 TEST_F(PolicyMapTest, MergeFrom) {
172 PolicyMap a; 170 PolicyMap a;
173 a.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 171 a.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
174 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"), 172 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"),
175 nullptr); 173 nullptr);
176 a.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 174 a.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
177 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true), 175 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(true), nullptr);
178 nullptr);
179 a.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 176 a.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
180 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr, 177 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr,
181 CreateExternalDataFetcher("a")); 178 CreateExternalDataFetcher("a"));
182 a.Set(kTestPolicyName4, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, 179 a.Set(kTestPolicyName4, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
183 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(false), 180 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(false), nullptr);
184 nullptr);
185 a.Set(kTestPolicyName5, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE, 181 a.Set(kTestPolicyName5, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE,
186 POLICY_SOURCE_CLOUD, 182 POLICY_SOURCE_CLOUD,
187 base::MakeUnique<base::StringValue>("google.com/q={x}"), nullptr); 183 base::MakeUnique<base::StringValue>("google.com/q={x}"), nullptr);
188 a.Set(kTestPolicyName7, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 184 a.Set(kTestPolicyName7, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
189 POLICY_SOURCE_ENTERPRISE_DEFAULT, 185 POLICY_SOURCE_ENTERPRISE_DEFAULT, base::MakeUnique<base::Value>(false),
190 base::MakeUnique<base::FundamentalValue>(false), nullptr); 186 nullptr);
191 187
192 PolicyMap b; 188 PolicyMap b;
193 b.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 189 b.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
194 POLICY_SOURCE_CLOUD, 190 POLICY_SOURCE_CLOUD,
195 base::MakeUnique<base::StringValue>("chromium.org"), nullptr); 191 base::MakeUnique<base::StringValue>("chromium.org"), nullptr);
196 b.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 192 b.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
197 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(false), 193 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(false), nullptr);
198 nullptr);
199 b.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 194 b.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
200 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr, 195 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr,
201 CreateExternalDataFetcher("b")); 196 CreateExternalDataFetcher("b"));
202 b.Set(kTestPolicyName4, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE, 197 b.Set(kTestPolicyName4, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE,
203 POLICY_SOURCE_PUBLIC_SESSION_OVERRIDE, 198 POLICY_SOURCE_PUBLIC_SESSION_OVERRIDE,
204 base::MakeUnique<base::FundamentalValue>(true), nullptr); 199 base::MakeUnique<base::Value>(true), nullptr);
205 b.Set(kTestPolicyName5, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 200 b.Set(kTestPolicyName5, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
206 POLICY_SOURCE_PLATFORM, 201 POLICY_SOURCE_PLATFORM,
207 base::MakeUnique<base::StringValue>(std::string()), nullptr); 202 base::MakeUnique<base::StringValue>(std::string()), nullptr);
208 b.Set(kTestPolicyName6, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, 203 b.Set(kTestPolicyName6, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
209 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true), 204 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(true), nullptr);
205 b.Set(kTestPolicyName7, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
206 POLICY_SOURCE_ACTIVE_DIRECTORY, base::MakeUnique<base::Value>(true),
210 nullptr); 207 nullptr);
211 b.Set(kTestPolicyName7, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
212 POLICY_SOURCE_ACTIVE_DIRECTORY,
213 base::MakeUnique<base::FundamentalValue>(true), nullptr);
214 208
215 a.MergeFrom(b); 209 a.MergeFrom(b);
216 210
217 PolicyMap c; 211 PolicyMap c;
218 // POLICY_SCOPE_MACHINE over POLICY_SCOPE_USER. 212 // POLICY_SCOPE_MACHINE over POLICY_SCOPE_USER.
219 c.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 213 c.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
220 POLICY_SOURCE_CLOUD, 214 POLICY_SOURCE_CLOUD,
221 base::MakeUnique<base::StringValue>("chromium.org"), nullptr); 215 base::MakeUnique<base::StringValue>("chromium.org"), nullptr);
222 // |a| has precedence over |b|. 216 // |a| has precedence over |b|.
223 c.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 217 c.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
224 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true), 218 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(true), nullptr);
225 nullptr);
226 c.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 219 c.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
227 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr, 220 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr,
228 CreateExternalDataFetcher("a")); 221 CreateExternalDataFetcher("a"));
229 // POLICY_SCOPE_MACHINE over POLICY_SCOPE_USER for POLICY_LEVEL_RECOMMENDED. 222 // POLICY_SCOPE_MACHINE over POLICY_SCOPE_USER for POLICY_LEVEL_RECOMMENDED.
230 c.Set(kTestPolicyName4, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE, 223 c.Set(kTestPolicyName4, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE,
231 POLICY_SOURCE_PUBLIC_SESSION_OVERRIDE, 224 POLICY_SOURCE_PUBLIC_SESSION_OVERRIDE,
232 base::MakeUnique<base::FundamentalValue>(true), nullptr); 225 base::MakeUnique<base::Value>(true), nullptr);
233 // POLICY_LEVEL_MANDATORY over POLICY_LEVEL_RECOMMENDED. 226 // POLICY_LEVEL_MANDATORY over POLICY_LEVEL_RECOMMENDED.
234 c.Set(kTestPolicyName5, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 227 c.Set(kTestPolicyName5, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
235 POLICY_SOURCE_PLATFORM, 228 POLICY_SOURCE_PLATFORM,
236 base::MakeUnique<base::StringValue>(std::string()), nullptr); 229 base::MakeUnique<base::StringValue>(std::string()), nullptr);
237 // Merge new ones. 230 // Merge new ones.
238 c.Set(kTestPolicyName6, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, 231 c.Set(kTestPolicyName6, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
239 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true), 232 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(true), nullptr);
240 nullptr);
241 // POLICY_SOURCE_ACTIVE_DIRECTORY over POLICY_SOURCE_ENTERPRISE_DEFAULT. 233 // POLICY_SOURCE_ACTIVE_DIRECTORY over POLICY_SOURCE_ENTERPRISE_DEFAULT.
242 c.Set(kTestPolicyName7, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 234 c.Set(kTestPolicyName7, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
243 POLICY_SOURCE_ACTIVE_DIRECTORY, 235 POLICY_SOURCE_ACTIVE_DIRECTORY, base::MakeUnique<base::Value>(true),
244 base::MakeUnique<base::FundamentalValue>(true), nullptr); 236 nullptr);
245 237
246 EXPECT_TRUE(a.Equals(c)); 238 EXPECT_TRUE(a.Equals(c));
247 } 239 }
248 240
249 TEST_F(PolicyMapTest, GetDifferingKeys) { 241 TEST_F(PolicyMapTest, GetDifferingKeys) {
250 PolicyMap a; 242 PolicyMap a;
251 a.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 243 a.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
252 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"), 244 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"),
253 nullptr); 245 nullptr);
254 a.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 246 a.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
255 POLICY_SOURCE_CLOUD, nullptr, CreateExternalDataFetcher("dummy")); 247 POLICY_SOURCE_CLOUD, nullptr, CreateExternalDataFetcher("dummy"));
256 a.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 248 a.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
257 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true), 249 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(true), nullptr);
258 nullptr);
259 a.Set(kTestPolicyName4, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 250 a.Set(kTestPolicyName4, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
260 POLICY_SOURCE_CLOUD, nullptr, CreateExternalDataFetcher("a")); 251 POLICY_SOURCE_CLOUD, nullptr, CreateExternalDataFetcher("a"));
261 a.Set(kTestPolicyName5, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, 252 a.Set(kTestPolicyName5, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
262 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(false), 253 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(false), nullptr);
263 nullptr);
264 a.Set(kTestPolicyName6, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE, 254 a.Set(kTestPolicyName6, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE,
265 POLICY_SOURCE_CLOUD, 255 POLICY_SOURCE_CLOUD,
266 base::MakeUnique<base::StringValue>("google.com/q={x}"), nullptr); 256 base::MakeUnique<base::StringValue>("google.com/q={x}"), nullptr);
267 a.Set(kTestPolicyName7, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 257 a.Set(kTestPolicyName7, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
268 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true), 258 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(true), nullptr);
269 nullptr);
270 259
271 PolicyMap b; 260 PolicyMap b;
272 b.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 261 b.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
273 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"), 262 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"),
274 nullptr); 263 nullptr);
275 b.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 264 b.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
276 POLICY_SOURCE_CLOUD, nullptr, CreateExternalDataFetcher("dummy")); 265 POLICY_SOURCE_CLOUD, nullptr, CreateExternalDataFetcher("dummy"));
277 b.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 266 b.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
278 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(false), 267 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(false), nullptr);
279 nullptr);
280 b.Set(kTestPolicyName4, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 268 b.Set(kTestPolicyName4, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
281 POLICY_SOURCE_CLOUD, nullptr, CreateExternalDataFetcher("b")); 269 POLICY_SOURCE_CLOUD, nullptr, CreateExternalDataFetcher("b"));
282 b.Set(kTestPolicyName5, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 270 b.Set(kTestPolicyName5, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
283 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(false), 271 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(false), nullptr);
284 nullptr);
285 b.Set(kTestPolicyName6, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, 272 b.Set(kTestPolicyName6, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
286 POLICY_SOURCE_CLOUD, 273 POLICY_SOURCE_CLOUD,
287 base::MakeUnique<base::StringValue>("google.com/q={x}"), nullptr); 274 base::MakeUnique<base::StringValue>("google.com/q={x}"), nullptr);
288 b.Set(kTestPolicyName8, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, 275 b.Set(kTestPolicyName8, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
289 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true), 276 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(true), nullptr);
290 nullptr);
291 277
292 std::set<std::string> diff; 278 std::set<std::string> diff;
293 std::set<std::string> diff2; 279 std::set<std::string> diff2;
294 a.GetDifferingKeys(b, &diff); 280 a.GetDifferingKeys(b, &diff);
295 b.GetDifferingKeys(a, &diff2); 281 b.GetDifferingKeys(a, &diff2);
296 // Order shouldn't matter. 282 // Order shouldn't matter.
297 EXPECT_EQ(diff, diff2); 283 EXPECT_EQ(diff, diff2);
298 // No change. 284 // No change.
299 EXPECT_TRUE(diff.find(kTestPolicyName1) == diff.end()); 285 EXPECT_TRUE(diff.find(kTestPolicyName1) == diff.end());
300 EXPECT_TRUE(diff.find(kTestPolicyName2) == diff.end()); 286 EXPECT_TRUE(diff.find(kTestPolicyName2) == diff.end());
(...skipping 23 matching lines...) Expand all
324 loaded.LoadFrom(&policies, 310 loaded.LoadFrom(&policies,
325 POLICY_LEVEL_MANDATORY, 311 POLICY_LEVEL_MANDATORY,
326 POLICY_SCOPE_USER, 312 POLICY_SCOPE_USER,
327 POLICY_SOURCE_PLATFORM); 313 POLICY_SOURCE_PLATFORM);
328 314
329 PolicyMap expected; 315 PolicyMap expected;
330 expected.Set("TestPolicy1", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 316 expected.Set("TestPolicy1", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
331 POLICY_SOURCE_PLATFORM, 317 POLICY_SOURCE_PLATFORM,
332 base::MakeUnique<base::StringValue>("google.com"), nullptr); 318 base::MakeUnique<base::StringValue>("google.com"), nullptr);
333 expected.Set("TestPolicy2", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 319 expected.Set("TestPolicy2", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
334 POLICY_SOURCE_PLATFORM, 320 POLICY_SOURCE_PLATFORM, base::MakeUnique<base::Value>(true),
335 base::MakeUnique<base::FundamentalValue>(true), nullptr); 321 nullptr);
336 expected.Set("TestPolicy3", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 322 expected.Set("TestPolicy3", POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
337 POLICY_SOURCE_PLATFORM, 323 POLICY_SOURCE_PLATFORM, base::MakeUnique<base::Value>(-12321),
338 base::MakeUnique<base::FundamentalValue>(-12321), nullptr); 324 nullptr);
339 EXPECT_TRUE(loaded.Equals(expected)); 325 EXPECT_TRUE(loaded.Equals(expected));
340 } 326 }
341 327
342 bool IsMandatory(const PolicyMap::PolicyMapType::const_iterator iter) { 328 bool IsMandatory(const PolicyMap::PolicyMapType::const_iterator iter) {
343 return iter->second.level == POLICY_LEVEL_MANDATORY; 329 return iter->second.level == POLICY_LEVEL_MANDATORY;
344 } 330 }
345 331
346 TEST_F(PolicyMapTest, EraseNonmatching) { 332 TEST_F(PolicyMapTest, EraseNonmatching) {
347 PolicyMap a; 333 PolicyMap a;
348 a.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 334 a.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
349 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"), 335 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"),
350 nullptr); 336 nullptr);
351 a.Set(kTestPolicyName2, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE, 337 a.Set(kTestPolicyName2, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE,
352 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true), 338 POLICY_SOURCE_CLOUD, base::MakeUnique<base::Value>(true), nullptr);
353 nullptr);
354 339
355 a.EraseNonmatching(base::Bind(&IsMandatory)); 340 a.EraseNonmatching(base::Bind(&IsMandatory));
356 341
357 PolicyMap b; 342 PolicyMap b;
358 b.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 343 b.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
359 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"), 344 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"),
360 nullptr); 345 nullptr);
361 EXPECT_TRUE(a.Equals(b)); 346 EXPECT_TRUE(a.Equals(b));
362 } 347 }
363 348
364 } // namespace policy 349 } // namespace policy
OLDNEW
« no previous file with comments | « components/policy/core/common/policy_bundle_unittest.cc ('k') | components/policy/core/common/policy_service_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698