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

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

Issue 1940153002: Use std::unique_ptr to express ownership of base::Value in PolicyMap::Entry (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: another-fix Created 4 years, 7 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/configuration_policy_provider_test.h" 5 #include "components/policy/core/common/configuration_policy_provider_test.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/memory/ptr_util.h"
9 #include "base/values.h" 10 #include "base/values.h"
10 #include "components/policy/core/common/configuration_policy_provider.h" 11 #include "components/policy/core/common/configuration_policy_provider.h"
11 #include "components/policy/core/common/external_data_fetcher.h" 12 #include "components/policy/core/common/external_data_fetcher.h"
12 #include "components/policy/core/common/mock_configuration_policy_provider.h" 13 #include "components/policy/core/common/mock_configuration_policy_provider.h"
13 #include "components/policy/core/common/policy_bundle.h" 14 #include "components/policy/core/common/policy_bundle.h"
14 #include "components/policy/core/common/policy_map.h" 15 #include "components/policy/core/common/policy_map.h"
15 #include "components/policy/core/common/policy_namespace.h" 16 #include "components/policy/core/common/policy_namespace.h"
16 #include "components/policy/core/common/policy_types.h" 17 #include "components/policy/core/common/policy_types.h"
17 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
18 19
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 void ConfigurationPolicyProviderTest::CheckValue( 221 void ConfigurationPolicyProviderTest::CheckValue(
221 const char* policy_name, 222 const char* policy_name,
222 const base::Value& expected_value, 223 const base::Value& expected_value,
223 base::Closure install_value) { 224 base::Closure install_value) {
224 // Install the value, reload policy and check the provider for the value. 225 // Install the value, reload policy and check the provider for the value.
225 install_value.Run(); 226 install_value.Run();
226 provider_->RefreshPolicies(); 227 provider_->RefreshPolicies();
227 loop_.RunUntilIdle(); 228 loop_.RunUntilIdle();
228 PolicyBundle expected_bundle; 229 PolicyBundle expected_bundle;
229 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) 230 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
230 .Set(policy_name, 231 .Set(policy_name, test_harness_->policy_level(),
231 test_harness_->policy_level(), 232 test_harness_->policy_scope(), test_harness_->policy_source(),
232 test_harness_->policy_scope(), 233 expected_value.CreateDeepCopy(), nullptr);
233 test_harness_->policy_source(),
234 expected_value.DeepCopy(),
235 NULL);
236 EXPECT_TRUE(provider_->policies().Equals(expected_bundle)); 234 EXPECT_TRUE(provider_->policies().Equals(expected_bundle));
237 // TODO(joaodasilva): set the policy in the POLICY_DOMAIN_EXTENSIONS too, 235 // TODO(joaodasilva): set the policy in the POLICY_DOMAIN_EXTENSIONS too,
238 // and extend the |expected_bundle|, once all providers are ready. 236 // and extend the |expected_bundle|, once all providers are ready.
239 } 237 }
240 238
241 TEST_P(ConfigurationPolicyProviderTest, Empty) { 239 TEST_P(ConfigurationPolicyProviderTest, Empty) {
242 provider_->RefreshPolicies(); 240 provider_->RefreshPolicies();
243 loop_.RunUntilIdle(); 241 loop_.RunUntilIdle();
244 const PolicyBundle kEmptyBundle; 242 const PolicyBundle kEmptyBundle;
245 EXPECT_TRUE(provider_->policies().Equals(kEmptyBundle)); 243 EXPECT_TRUE(provider_->policies().Equals(kEmptyBundle));
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 EXPECT_TRUE(provider_->policies().Equals(bundle)); 335 EXPECT_TRUE(provider_->policies().Equals(bundle));
338 336
339 // OnUpdatePolicy is called when there are changes. 337 // OnUpdatePolicy is called when there are changes.
340 test_harness_->InstallStringPolicy(test_keys::kKeyString, "value"); 338 test_harness_->InstallStringPolicy(test_keys::kKeyString, "value");
341 EXPECT_CALL(observer, OnUpdatePolicy(provider_.get())).Times(1); 339 EXPECT_CALL(observer, OnUpdatePolicy(provider_.get())).Times(1);
342 provider_->RefreshPolicies(); 340 provider_->RefreshPolicies();
343 loop_.RunUntilIdle(); 341 loop_.RunUntilIdle();
344 Mock::VerifyAndClearExpectations(&observer); 342 Mock::VerifyAndClearExpectations(&observer);
345 343
346 bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) 344 bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
347 .Set(test_keys::kKeyString, 345 .Set(test_keys::kKeyString, test_harness_->policy_level(),
348 test_harness_->policy_level(), 346 test_harness_->policy_scope(), test_harness_->policy_source(),
349 test_harness_->policy_scope(), 347 base::WrapUnique(new base::StringValue("value")), nullptr);
350 test_harness_->policy_source(),
351 new base::StringValue("value"),
352 NULL);
353 EXPECT_TRUE(provider_->policies().Equals(bundle)); 348 EXPECT_TRUE(provider_->policies().Equals(bundle));
354 provider_->RemoveObserver(&observer); 349 provider_->RemoveObserver(&observer);
355 } 350 }
356 351
357 Configuration3rdPartyPolicyProviderTest:: 352 Configuration3rdPartyPolicyProviderTest::
358 Configuration3rdPartyPolicyProviderTest() {} 353 Configuration3rdPartyPolicyProviderTest() {}
359 354
360 Configuration3rdPartyPolicyProviderTest:: 355 Configuration3rdPartyPolicyProviderTest::
361 ~Configuration3rdPartyPolicyProviderTest() {} 356 ~Configuration3rdPartyPolicyProviderTest() {}
362 357
(...skipping 27 matching lines...) Expand all
390 // help detecting memory leaks in the code paths that detect invalid input. 385 // help detecting memory leaks in the code paths that detect invalid input.
391 policy_3rdparty.Set("invalid-domain.component", policy_dict.DeepCopy()); 386 policy_3rdparty.Set("invalid-domain.component", policy_dict.DeepCopy());
392 policy_3rdparty.Set("extensions.cccccccccccccccccccccccccccccccc", 387 policy_3rdparty.Set("extensions.cccccccccccccccccccccccccccccccc",
393 new base::StringValue("invalid-value")); 388 new base::StringValue("invalid-value"));
394 test_harness_->Install3rdPartyPolicy(&policy_3rdparty); 389 test_harness_->Install3rdPartyPolicy(&policy_3rdparty);
395 390
396 provider_->RefreshPolicies(); 391 provider_->RefreshPolicies();
397 loop_.RunUntilIdle(); 392 loop_.RunUntilIdle();
398 393
399 PolicyMap expected_policy; 394 PolicyMap expected_policy;
400 expected_policy.Set(test_keys::kKeyDictionary, 395 expected_policy.Set(test_keys::kKeyDictionary, test_harness_->policy_level(),
401 test_harness_->policy_level(),
402 test_harness_->policy_scope(), 396 test_harness_->policy_scope(),
403 test_harness_->policy_source(), 397 test_harness_->policy_source(),
404 policy_dict.DeepCopy(), 398 policy_dict.CreateDeepCopy(), nullptr);
405 NULL);
406 PolicyBundle expected_bundle; 399 PolicyBundle expected_bundle;
407 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) 400 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
408 .CopyFrom(expected_policy); 401 .CopyFrom(expected_policy);
409 expected_policy.Clear(); 402 expected_policy.Clear();
410 expected_policy.LoadFrom(&policy_dict, 403 expected_policy.LoadFrom(&policy_dict,
411 test_harness_->policy_level(), 404 test_harness_->policy_level(),
412 test_harness_->policy_scope(), 405 test_harness_->policy_scope(),
413 test_harness_->policy_source()); 406 test_harness_->policy_source());
414 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, 407 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS,
415 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")) 408 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"))
416 .CopyFrom(expected_policy); 409 .CopyFrom(expected_policy);
417 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS, 410 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_EXTENSIONS,
418 "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")) 411 "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"))
419 .CopyFrom(expected_policy); 412 .CopyFrom(expected_policy);
420 EXPECT_TRUE(provider_->policies().Equals(expected_bundle)); 413 EXPECT_TRUE(provider_->policies().Equals(expected_bundle));
421 } 414 }
422 415
423 } // namespace policy 416 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698