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

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

Issue 2656663002: Use source parameter too to determine policy priority. (Closed)
Patch Set: Created 3 years, 11 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
« no previous file with comments | « components/policy/core/common/policy_map.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 nullptr); 178 nullptr);
179 a.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 179 a.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
180 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr, 180 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr,
181 CreateExternalDataFetcher("a")); 181 CreateExternalDataFetcher("a"));
182 a.Set(kTestPolicyName4, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, 182 a.Set(kTestPolicyName4, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
183 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(false), 183 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(false),
184 nullptr); 184 nullptr);
185 a.Set(kTestPolicyName5, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE, 185 a.Set(kTestPolicyName5, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE,
186 POLICY_SOURCE_CLOUD, 186 POLICY_SOURCE_CLOUD,
187 base::MakeUnique<base::StringValue>("google.com/q={x}"), nullptr); 187 base::MakeUnique<base::StringValue>("google.com/q={x}"), nullptr);
188 a.Set(kTestPolicyName7, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
189 POLICY_SOURCE_ENTERPRISE_DEFAULT,
190 base::MakeUnique<base::FundamentalValue>(false), nullptr);
188 191
189 PolicyMap b; 192 PolicyMap b;
190 b.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 193 b.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
191 POLICY_SOURCE_CLOUD, 194 POLICY_SOURCE_CLOUD,
192 base::MakeUnique<base::StringValue>("chromium.org"), nullptr); 195 base::MakeUnique<base::StringValue>("chromium.org"), nullptr);
193 b.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 196 b.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
194 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(false), 197 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(false),
195 nullptr); 198 nullptr);
196 b.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 199 b.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
197 POLICY_SOURCE_CLOUD, nullptr, CreateExternalDataFetcher("b")); 200 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr,
201 CreateExternalDataFetcher("b"));
198 b.Set(kTestPolicyName4, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE, 202 b.Set(kTestPolicyName4, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE,
199 POLICY_SOURCE_PUBLIC_SESSION_OVERRIDE, 203 POLICY_SOURCE_PUBLIC_SESSION_OVERRIDE,
200 base::MakeUnique<base::FundamentalValue>(true), nullptr); 204 base::MakeUnique<base::FundamentalValue>(true), nullptr);
201 b.Set(kTestPolicyName5, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 205 b.Set(kTestPolicyName5, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
202 POLICY_SOURCE_PLATFORM, 206 POLICY_SOURCE_PLATFORM,
203 base::MakeUnique<base::StringValue>(std::string()), nullptr); 207 base::MakeUnique<base::StringValue>(std::string()), nullptr);
204 b.Set(kTestPolicyName6, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, 208 b.Set(kTestPolicyName6, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
205 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true), 209 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true),
206 nullptr); 210 nullptr);
211 b.Set(kTestPolicyName7, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
212 POLICY_SOURCE_ACTIVE_DIRECTORY,
213 base::MakeUnique<base::FundamentalValue>(true), nullptr);
207 214
208 a.MergeFrom(b); 215 a.MergeFrom(b);
209 216
210 PolicyMap c; 217 PolicyMap c;
211 // POLICY_SCOPE_MACHINE over POLICY_SCOPE_USER. 218 // POLICY_SCOPE_MACHINE over POLICY_SCOPE_USER.
212 c.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 219 c.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
213 POLICY_SOURCE_CLOUD, 220 POLICY_SOURCE_CLOUD,
214 base::MakeUnique<base::StringValue>("chromium.org"), nullptr); 221 base::MakeUnique<base::StringValue>("chromium.org"), nullptr);
215 // |a| has precedence over |b|. 222 // |a| has precedence over |b|.
216 c.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 223 c.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
217 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true), 224 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true),
218 nullptr); 225 nullptr);
219 c.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 226 c.Set(kTestPolicyName3, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
220 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr, 227 POLICY_SOURCE_ENTERPRISE_DEFAULT, nullptr,
221 CreateExternalDataFetcher("a")); 228 CreateExternalDataFetcher("a"));
222 // POLICY_SCOPE_MACHINE over POLICY_SCOPE_USER for POLICY_LEVEL_RECOMMENDED. 229 // POLICY_SCOPE_MACHINE over POLICY_SCOPE_USER for POLICY_LEVEL_RECOMMENDED.
223 c.Set(kTestPolicyName4, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE, 230 c.Set(kTestPolicyName4, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_MACHINE,
224 POLICY_SOURCE_PUBLIC_SESSION_OVERRIDE, 231 POLICY_SOURCE_PUBLIC_SESSION_OVERRIDE,
225 base::MakeUnique<base::FundamentalValue>(true), nullptr); 232 base::MakeUnique<base::FundamentalValue>(true), nullptr);
226 // POLICY_LEVEL_MANDATORY over POLICY_LEVEL_RECOMMENDED. 233 // POLICY_LEVEL_MANDATORY over POLICY_LEVEL_RECOMMENDED.
227 c.Set(kTestPolicyName5, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 234 c.Set(kTestPolicyName5, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
228 POLICY_SOURCE_PLATFORM, 235 POLICY_SOURCE_PLATFORM,
229 base::MakeUnique<base::StringValue>(std::string()), nullptr); 236 base::MakeUnique<base::StringValue>(std::string()), nullptr);
230 // Merge new ones. 237 // Merge new ones.
231 c.Set(kTestPolicyName6, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER, 238 c.Set(kTestPolicyName6, POLICY_LEVEL_RECOMMENDED, POLICY_SCOPE_USER,
232 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true), 239 POLICY_SOURCE_CLOUD, base::MakeUnique<base::FundamentalValue>(true),
233 nullptr); 240 nullptr);
241 // POLICY_SOURCE_ACTIVE_DIRECTORY over POLICY_SOURCE_ENTERPRISE_DEFAULT.
242 c.Set(kTestPolicyName7, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
243 POLICY_SOURCE_ACTIVE_DIRECTORY,
244 base::MakeUnique<base::FundamentalValue>(true), nullptr);
234 245
235 EXPECT_TRUE(a.Equals(c)); 246 EXPECT_TRUE(a.Equals(c));
236 } 247 }
237 248
238 TEST_F(PolicyMapTest, GetDifferingKeys) { 249 TEST_F(PolicyMapTest, GetDifferingKeys) {
239 PolicyMap a; 250 PolicyMap a;
240 a.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 251 a.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
241 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"), 252 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"),
242 nullptr); 253 nullptr);
243 a.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 254 a.Set(kTestPolicyName2, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 a.EraseNonmatching(base::Bind(&IsMandatory)); 355 a.EraseNonmatching(base::Bind(&IsMandatory));
345 356
346 PolicyMap b; 357 PolicyMap b;
347 b.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 358 b.Set(kTestPolicyName1, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
348 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"), 359 POLICY_SOURCE_CLOUD, base::MakeUnique<base::StringValue>("google.com"),
349 nullptr); 360 nullptr);
350 EXPECT_TRUE(a.Equals(b)); 361 EXPECT_TRUE(a.Equals(b));
351 } 362 }
352 363
353 } // namespace policy 364 } // namespace policy
OLDNEW
« no previous file with comments | « components/policy/core/common/policy_map.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698