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

Side by Side Diff: chrome/browser/policy/policy_loader_mac_unittest.cc

Issue 58313002: Removed the PolicyDefinitionList. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@chrome-policy-schema-10-use-registry
Patch Set: Created 7 years, 1 month 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <CoreFoundation/CoreFoundation.h> 5 #include <CoreFoundation/CoreFoundation.h>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/mac/scoped_cftyperef.h" 10 #include "base/mac/scoped_cftyperef.h"
11 #include "base/strings/sys_string_conversions.h" 11 #include "base/strings/sys_string_conversions.h"
12 #include "base/values.h" 12 #include "base/values.h"
13 #include "chrome/browser/policy/async_policy_provider.h" 13 #include "chrome/browser/policy/async_policy_provider.h"
14 #include "chrome/browser/policy/configuration_policy_provider_test.h" 14 #include "chrome/browser/policy/configuration_policy_provider_test.h"
15 #include "chrome/browser/policy/external_data_fetcher.h" 15 #include "chrome/browser/policy/external_data_fetcher.h"
16 #include "chrome/browser/policy/policy_bundle.h" 16 #include "chrome/browser/policy/policy_bundle.h"
17 #include "chrome/browser/policy/policy_loader_mac.h" 17 #include "chrome/browser/policy/policy_loader_mac.h"
18 #include "chrome/browser/policy/policy_map.h" 18 #include "chrome/browser/policy/policy_map.h"
19 #include "chrome/browser/policy/preferences_mock_mac.h" 19 #include "chrome/browser/policy/preferences_mock_mac.h"
20 #include "policy/policy_constants.h" 20 #include "policy/policy_constants.h"
bartfab (slow) 2013/11/05 18:18:33 Nit: Is this still used?
Joao da Silva 2013/11/07 20:27:27 Good catch, removed
21 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
22 22
23 using base::ScopedCFTypeRef; 23 using base::ScopedCFTypeRef;
24 24
25 namespace policy { 25 namespace policy {
26 26
27 namespace { 27 namespace {
28 28
29 // Converts a base::Value to the equivalent CFPropertyListRef. 29 // Converts a base::Value to the equivalent CFPropertyListRef.
30 // The returned value is owned by the caller. 30 // The returned value is owned by the caller.
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 121
122 class TestHarness : public PolicyProviderTestHarness { 122 class TestHarness : public PolicyProviderTestHarness {
123 public: 123 public:
124 TestHarness(); 124 TestHarness();
125 virtual ~TestHarness(); 125 virtual ~TestHarness();
126 126
127 virtual void SetUp() OVERRIDE; 127 virtual void SetUp() OVERRIDE;
128 128
129 virtual ConfigurationPolicyProvider* CreateProvider( 129 virtual ConfigurationPolicyProvider* CreateProvider(
130 SchemaRegistry* registry, 130 SchemaRegistry* registry,
131 scoped_refptr<base::SequencedTaskRunner> task_runner, 131 scoped_refptr<base::SequencedTaskRunner> task_runner) OVERRIDE;
132 const PolicyDefinitionList* policy_definition_list) OVERRIDE;
133 132
134 virtual void InstallEmptyPolicy() OVERRIDE; 133 virtual void InstallEmptyPolicy() OVERRIDE;
135 virtual void InstallStringPolicy(const std::string& policy_name, 134 virtual void InstallStringPolicy(const std::string& policy_name,
136 const std::string& policy_value) OVERRIDE; 135 const std::string& policy_value) OVERRIDE;
137 virtual void InstallIntegerPolicy(const std::string& policy_name, 136 virtual void InstallIntegerPolicy(const std::string& policy_name,
138 int policy_value) OVERRIDE; 137 int policy_value) OVERRIDE;
139 virtual void InstallBooleanPolicy(const std::string& policy_name, 138 virtual void InstallBooleanPolicy(const std::string& policy_name,
140 bool policy_value) OVERRIDE; 139 bool policy_value) OVERRIDE;
141 virtual void InstallStringListPolicy( 140 virtual void InstallStringListPolicy(
142 const std::string& policy_name, 141 const std::string& policy_name,
(...skipping 12 matching lines...) Expand all
155 154
156 TestHarness::TestHarness() 155 TestHarness::TestHarness()
157 : PolicyProviderTestHarness(POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER) {} 156 : PolicyProviderTestHarness(POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER) {}
158 157
159 TestHarness::~TestHarness() {} 158 TestHarness::~TestHarness() {}
160 159
161 void TestHarness::SetUp() {} 160 void TestHarness::SetUp() {}
162 161
163 ConfigurationPolicyProvider* TestHarness::CreateProvider( 162 ConfigurationPolicyProvider* TestHarness::CreateProvider(
164 SchemaRegistry* registry, 163 SchemaRegistry* registry,
165 scoped_refptr<base::SequencedTaskRunner> task_runner, 164 scoped_refptr<base::SequencedTaskRunner> task_runner) {
166 const PolicyDefinitionList* policy_definition_list) {
167 prefs_ = new MockPreferences(); 165 prefs_ = new MockPreferences();
168 scoped_ptr<AsyncPolicyLoader> loader(new PolicyLoaderMac( 166 scoped_ptr<AsyncPolicyLoader> loader(
169 task_runner, policy_definition_list, base::FilePath(), prefs_)); 167 new PolicyLoaderMac(task_runner, base::FilePath(), prefs_));
170 return new AsyncPolicyProvider(registry, loader.Pass()); 168 return new AsyncPolicyProvider(registry, loader.Pass());
171 } 169 }
172 170
173 void TestHarness::InstallEmptyPolicy() {} 171 void TestHarness::InstallEmptyPolicy() {}
174 172
175 void TestHarness::InstallStringPolicy(const std::string& policy_name, 173 void TestHarness::InstallStringPolicy(const std::string& policy_name,
176 const std::string& policy_value) { 174 const std::string& policy_value) {
177 ScopedCFTypeRef<CFStringRef> name(base::SysUTF8ToCFStringRef(policy_name)); 175 ScopedCFTypeRef<CFStringRef> name(base::SysUTF8ToCFStringRef(policy_name));
178 ScopedCFTypeRef<CFStringRef> value(base::SysUTF8ToCFStringRef(policy_value)); 176 ScopedCFTypeRef<CFStringRef> value(base::SysUTF8ToCFStringRef(policy_value));
179 prefs_->AddTestItem(name, value, true); 177 prefs_->AddTestItem(name, value, true);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 230
233 // Special test cases for some mac preferences details. 231 // Special test cases for some mac preferences details.
234 class PolicyLoaderMacTest : public PolicyTestBase { 232 class PolicyLoaderMacTest : public PolicyTestBase {
235 protected: 233 protected:
236 PolicyLoaderMacTest() 234 PolicyLoaderMacTest()
237 : prefs_(new MockPreferences()) {} 235 : prefs_(new MockPreferences()) {}
238 virtual ~PolicyLoaderMacTest() {} 236 virtual ~PolicyLoaderMacTest() {}
239 237
240 virtual void SetUp() OVERRIDE { 238 virtual void SetUp() OVERRIDE {
241 PolicyTestBase::SetUp(); 239 PolicyTestBase::SetUp();
242 scoped_ptr<AsyncPolicyLoader> loader( 240 scoped_ptr<AsyncPolicyLoader> loader(new PolicyLoaderMac(
243 new PolicyLoaderMac(loop_.message_loop_proxy(), 241 loop_.message_loop_proxy(), base::FilePath(), prefs_));
244 &test_policy_definitions::kList,
245 base::FilePath(),
246 prefs_));
247 provider_.reset(new AsyncPolicyProvider(&schema_registry_, loader.Pass())); 242 provider_.reset(new AsyncPolicyProvider(&schema_registry_, loader.Pass()));
248 provider_->Init(&schema_registry_); 243 provider_->Init(&schema_registry_);
249 } 244 }
250 245
251 virtual void TearDown() OVERRIDE { 246 virtual void TearDown() OVERRIDE {
252 provider_->Shutdown(); 247 provider_->Shutdown();
253 PolicyTestBase::TearDown(); 248 PolicyTestBase::TearDown();
254 } 249 }
255 250
256 MockPreferences* prefs_; 251 MockPreferences* prefs_;
257 scoped_ptr<AsyncPolicyProvider> provider_; 252 scoped_ptr<AsyncPolicyProvider> provider_;
258 }; 253 };
259 254
260 TEST_F(PolicyLoaderMacTest, Invalid) { 255 TEST_F(PolicyLoaderMacTest, Invalid) {
261 ScopedCFTypeRef<CFStringRef> name( 256 ScopedCFTypeRef<CFStringRef> name(
262 base::SysUTF8ToCFStringRef(test_policy_definitions::kKeyString)); 257 base::SysUTF8ToCFStringRef(test_keys::kKeyString));
263 const char buffer[] = "binary \xde\xad\xbe\xef data"; 258 const char buffer[] = "binary \xde\xad\xbe\xef data";
264 ScopedCFTypeRef<CFDataRef> invalid_data( 259 ScopedCFTypeRef<CFDataRef> invalid_data(
265 CFDataCreate(kCFAllocatorDefault, 260 CFDataCreate(kCFAllocatorDefault,
266 reinterpret_cast<const UInt8 *>(buffer), 261 reinterpret_cast<const UInt8 *>(buffer),
267 arraysize(buffer))); 262 arraysize(buffer)));
268 ASSERT_TRUE(invalid_data); 263 ASSERT_TRUE(invalid_data);
269 prefs_->AddTestItem(name, invalid_data.get(), true); 264 prefs_->AddTestItem(name, invalid_data.get(), true);
270 prefs_->AddTestItem(name, invalid_data.get(), false); 265 prefs_->AddTestItem(name, invalid_data.get(), false);
271 266
272 // Make the provider read the updated |prefs_|. 267 // Make the provider read the updated |prefs_|.
273 provider_->RefreshPolicies(); 268 provider_->RefreshPolicies();
274 loop_.RunUntilIdle(); 269 loop_.RunUntilIdle();
275 const PolicyBundle kEmptyBundle; 270 const PolicyBundle kEmptyBundle;
276 EXPECT_TRUE(provider_->policies().Equals(kEmptyBundle)); 271 EXPECT_TRUE(provider_->policies().Equals(kEmptyBundle));
277 } 272 }
278 273
279 TEST_F(PolicyLoaderMacTest, TestNonForcedValue) { 274 TEST_F(PolicyLoaderMacTest, TestNonForcedValue) {
280 ScopedCFTypeRef<CFStringRef> name( 275 ScopedCFTypeRef<CFStringRef> name(
281 base::SysUTF8ToCFStringRef(test_policy_definitions::kKeyString)); 276 base::SysUTF8ToCFStringRef(test_keys::kKeyString));
282 ScopedCFTypeRef<CFPropertyListRef> test_value( 277 ScopedCFTypeRef<CFPropertyListRef> test_value(
283 base::SysUTF8ToCFStringRef("string value")); 278 base::SysUTF8ToCFStringRef("string value"));
284 ASSERT_TRUE(test_value.get()); 279 ASSERT_TRUE(test_value.get());
285 prefs_->AddTestItem(name, test_value.get(), false); 280 prefs_->AddTestItem(name, test_value.get(), false);
286 281
287 // Make the provider read the updated |prefs_|. 282 // Make the provider read the updated |prefs_|.
288 provider_->RefreshPolicies(); 283 provider_->RefreshPolicies();
289 loop_.RunUntilIdle(); 284 loop_.RunUntilIdle();
290 PolicyBundle expected_bundle; 285 PolicyBundle expected_bundle;
291 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())) 286 expected_bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
292 .Set(test_policy_definitions::kKeyString, 287 .Set(test_keys::kKeyString,
293 POLICY_LEVEL_RECOMMENDED, 288 POLICY_LEVEL_RECOMMENDED,
294 POLICY_SCOPE_USER, 289 POLICY_SCOPE_USER,
295 base::Value::CreateStringValue("string value"), 290 base::Value::CreateStringValue("string value"),
296 NULL); 291 NULL);
297 EXPECT_TRUE(provider_->policies().Equals(expected_bundle)); 292 EXPECT_TRUE(provider_->policies().Equals(expected_bundle));
298 } 293 }
299 294
300 TEST_F(PolicyLoaderMacTest, TestConversions) { 295 TEST_F(PolicyLoaderMacTest, TestConversions) {
301 base::DictionaryValue root; 296 base::DictionaryValue root;
302 297
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 ScopedCFTypeRef<CFPropertyListRef> property(CreatePropertyFromValue(&root)); 332 ScopedCFTypeRef<CFPropertyListRef> property(CreatePropertyFromValue(&root));
338 ASSERT_TRUE(property); 333 ASSERT_TRUE(property);
339 scoped_ptr<base::Value> value( 334 scoped_ptr<base::Value> value(
340 PolicyLoaderMac::CreateValueFromProperty(property)); 335 PolicyLoaderMac::CreateValueFromProperty(property));
341 ASSERT_TRUE(value.get()); 336 ASSERT_TRUE(value.get());
342 337
343 EXPECT_TRUE(root.Equals(value.get())); 338 EXPECT_TRUE(root.Equals(value.get()));
344 } 339 }
345 340
346 } // namespace policy 341 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698