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

Side by Side Diff: chrome/browser/extensions/extension_management_unittest.cc

Issue 2782553004: Move TestingPrefService to use unique_ptr<Value> (Closed)
Patch Set: comments Created 3 years, 8 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/extensions/extension_management.h" 5 #include "chrome/browser/extensions/extension_management.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 pref_service_->registry()->RegisterListPref(pref_names::kInstallDenyList); 94 pref_service_->registry()->RegisterListPref(pref_names::kInstallDenyList);
95 pref_service_->registry()->RegisterListPref(pref_names::kInstallAllowList); 95 pref_service_->registry()->RegisterListPref(pref_names::kInstallAllowList);
96 pref_service_->registry()->RegisterDictionaryPref( 96 pref_service_->registry()->RegisterDictionaryPref(
97 pref_names::kInstallForceList); 97 pref_names::kInstallForceList);
98 pref_service_->registry()->RegisterDictionaryPref( 98 pref_service_->registry()->RegisterDictionaryPref(
99 pref_names::kExtensionManagement); 99 pref_names::kExtensionManagement);
100 extension_management_.reset( 100 extension_management_.reset(
101 new ExtensionManagement(pref_service_.get(), false)); 101 new ExtensionManagement(pref_service_.get(), false));
102 } 102 }
103 103
104 void SetPref(bool managed, const char* path, base::Value* value) { 104 void SetPref(bool managed,
105 const char* path,
106 std::unique_ptr<base::Value> value) {
105 if (managed) 107 if (managed)
106 pref_service_->SetManagedPref(path, value); 108 pref_service_->SetManagedPref(path, std::move(value));
107 else 109 else
108 pref_service_->SetUserPref(path, value); 110 pref_service_->SetUserPref(path, std::move(value));
109 } 111 }
110 112
111 void RemovePref(bool managed, const char* path) { 113 void RemovePref(bool managed, const char* path) {
112 if (managed) 114 if (managed)
113 pref_service_->RemoveManagedPref(path); 115 pref_service_->RemoveManagedPref(path);
114 else 116 else
115 pref_service_->RemoveUserPref(path); 117 pref_service_->RemoveUserPref(path);
116 } 118 }
117 119
118 const internal::GlobalSettings* ReadGlobalSettings() { 120 const internal::GlobalSettings* ReadGlobalSettings() {
(...skipping 30 matching lines...) Expand all
149 return GetBlockedAPIPermissions(kNonExistingExtension, update_url); 151 return GetBlockedAPIPermissions(kNonExistingExtension, update_url);
150 } 152 }
151 153
152 void SetExampleDictPref() { 154 void SetExampleDictPref() {
153 std::string error_msg; 155 std::string error_msg;
154 std::unique_ptr<base::Value> parsed = base::JSONReader::ReadAndReturnError( 156 std::unique_ptr<base::Value> parsed = base::JSONReader::ReadAndReturnError(
155 kExampleDictPreference, 157 kExampleDictPreference,
156 base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS, NULL, &error_msg); 158 base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS, NULL, &error_msg);
157 ASSERT_TRUE(parsed && parsed->IsType(base::Value::Type::DICTIONARY)) 159 ASSERT_TRUE(parsed && parsed->IsType(base::Value::Type::DICTIONARY))
158 << error_msg; 160 << error_msg;
159 SetPref(true, pref_names::kExtensionManagement, parsed.release()); 161 SetPref(true, pref_names::kExtensionManagement, std::move(parsed));
160 } 162 }
161 163
162 // Wrapper of ExtensionManagement::GetInstallationMode, |id| and 164 // Wrapper of ExtensionManagement::GetInstallationMode, |id| and
163 // |update_url| are used to construct an Extension for testing. 165 // |update_url| are used to construct an Extension for testing.
164 ExtensionManagement::InstallationMode GetInstallationMode( 166 ExtensionManagement::InstallationMode GetInstallationMode(
165 const std::string& id, 167 const std::string& id,
166 const std::string& update_url) { 168 const std::string& update_url) {
167 scoped_refptr<const Extension> extension = 169 scoped_refptr<const Extension> extension =
168 CreateExtension(Manifest::UNPACKED, "0.1", id, update_url); 170 CreateExtension(Manifest::UNPACKED, "0.1", id, update_url);
169 return extension_management_->GetInstallationMode(extension.get()); 171 return extension_management_->GetInstallationMode(extension.get());
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 265
264 protected: 266 protected:
265 std::unique_ptr<StandardManagementPolicyProvider> provider_; 267 std::unique_ptr<StandardManagementPolicyProvider> provider_;
266 scoped_refptr<Extension> extension_; 268 scoped_refptr<Extension> extension_;
267 }; 269 };
268 270
269 bool ExtensionAdminPolicyTest::BlacklistedByDefault( 271 bool ExtensionAdminPolicyTest::BlacklistedByDefault(
270 const base::ListValue* blacklist) { 272 const base::ListValue* blacklist) {
271 SetUpPolicyProvider(); 273 SetUpPolicyProvider();
272 if (blacklist) 274 if (blacklist)
273 SetPref(true, pref_names::kInstallDenyList, blacklist->DeepCopy()); 275 SetPref(true, pref_names::kInstallDenyList, blacklist->CreateDeepCopy());
274 return extension_management_->BlacklistedByDefault(); 276 return extension_management_->BlacklistedByDefault();
275 } 277 }
276 278
277 bool ExtensionAdminPolicyTest::UserMayLoad( 279 bool ExtensionAdminPolicyTest::UserMayLoad(
278 const base::ListValue* blacklist, 280 const base::ListValue* blacklist,
279 const base::ListValue* whitelist, 281 const base::ListValue* whitelist,
280 const base::DictionaryValue* forcelist, 282 const base::DictionaryValue* forcelist,
281 const base::ListValue* allowed_types, 283 const base::ListValue* allowed_types,
282 const Extension* extension, 284 const Extension* extension,
283 base::string16* error) { 285 base::string16* error) {
284 SetUpPolicyProvider(); 286 SetUpPolicyProvider();
285 if (blacklist) 287 if (blacklist)
286 SetPref(true, pref_names::kInstallDenyList, blacklist->DeepCopy()); 288 SetPref(true, pref_names::kInstallDenyList, blacklist->CreateDeepCopy());
287 if (whitelist) 289 if (whitelist)
288 SetPref(true, pref_names::kInstallAllowList, whitelist->DeepCopy()); 290 SetPref(true, pref_names::kInstallAllowList, whitelist->CreateDeepCopy());
289 if (forcelist) 291 if (forcelist)
290 SetPref(true, pref_names::kInstallForceList, forcelist->DeepCopy()); 292 SetPref(true, pref_names::kInstallForceList, forcelist->CreateDeepCopy());
291 if (allowed_types) 293 if (allowed_types)
292 SetPref(true, pref_names::kAllowedTypes, allowed_types->DeepCopy()); 294 SetPref(true, pref_names::kAllowedTypes, allowed_types->CreateDeepCopy());
293 return provider_->UserMayLoad(extension, error); 295 return provider_->UserMayLoad(extension, error);
294 } 296 }
295 297
296 bool ExtensionAdminPolicyTest::UserMayModifySettings(const Extension* extension, 298 bool ExtensionAdminPolicyTest::UserMayModifySettings(const Extension* extension,
297 base::string16* error) { 299 base::string16* error) {
298 SetUpPolicyProvider(); 300 SetUpPolicyProvider();
299 return provider_->UserMayModifySettings(extension, error); 301 return provider_->UserMayModifySettings(extension, error);
300 } 302 }
301 303
302 bool ExtensionAdminPolicyTest::MustRemainEnabled(const Extension* extension, 304 bool ExtensionAdminPolicyTest::MustRemainEnabled(const Extension* extension,
303 base::string16* error) { 305 base::string16* error) {
304 SetUpPolicyProvider(); 306 SetUpPolicyProvider();
305 return provider_->MustRemainEnabled(extension, error); 307 return provider_->MustRemainEnabled(extension, error);
306 } 308 }
307 309
308 // Verify that preference controlled by legacy ExtensionInstallSources policy is 310 // Verify that preference controlled by legacy ExtensionInstallSources policy is
309 // handled well. 311 // handled well.
310 TEST_F(ExtensionManagementServiceTest, LegacyInstallSources) { 312 TEST_F(ExtensionManagementServiceTest, LegacyInstallSources) {
311 base::ListValue allowed_sites_pref; 313 base::ListValue allowed_sites_pref;
312 allowed_sites_pref.AppendString("https://www.example.com/foo"); 314 allowed_sites_pref.AppendString("https://www.example.com/foo");
313 allowed_sites_pref.AppendString("https://corp.mycompany.com/*"); 315 allowed_sites_pref.AppendString("https://corp.mycompany.com/*");
314 SetPref( 316 SetPref(true, pref_names::kAllowedInstallSites,
315 true, pref_names::kAllowedInstallSites, allowed_sites_pref.DeepCopy()); 317 allowed_sites_pref.CreateDeepCopy());
316 const URLPatternSet& allowed_sites = ReadGlobalSettings()->install_sources; 318 const URLPatternSet& allowed_sites = ReadGlobalSettings()->install_sources;
317 ASSERT_TRUE(ReadGlobalSettings()->has_restricted_install_sources); 319 ASSERT_TRUE(ReadGlobalSettings()->has_restricted_install_sources);
318 EXPECT_FALSE(allowed_sites.is_empty()); 320 EXPECT_FALSE(allowed_sites.is_empty());
319 EXPECT_TRUE(allowed_sites.MatchesURL(GURL("https://www.example.com/foo"))); 321 EXPECT_TRUE(allowed_sites.MatchesURL(GURL("https://www.example.com/foo")));
320 EXPECT_FALSE(allowed_sites.MatchesURL(GURL("https://www.example.com/bar"))); 322 EXPECT_FALSE(allowed_sites.MatchesURL(GURL("https://www.example.com/bar")));
321 EXPECT_TRUE( 323 EXPECT_TRUE(
322 allowed_sites.MatchesURL(GURL("https://corp.mycompany.com/entry"))); 324 allowed_sites.MatchesURL(GURL("https://corp.mycompany.com/entry")));
323 EXPECT_FALSE( 325 EXPECT_FALSE(
324 allowed_sites.MatchesURL(GURL("https://www.mycompany.com/entry"))); 326 allowed_sites.MatchesURL(GURL("https://www.mycompany.com/entry")));
325 } 327 }
326 328
327 // Verify that preference controlled by legacy ExtensionAllowedTypes policy is 329 // Verify that preference controlled by legacy ExtensionAllowedTypes policy is
328 // handled well. 330 // handled well.
329 TEST_F(ExtensionManagementServiceTest, LegacyAllowedTypes) { 331 TEST_F(ExtensionManagementServiceTest, LegacyAllowedTypes) {
330 base::ListValue allowed_types_pref; 332 base::ListValue allowed_types_pref;
331 allowed_types_pref.AppendInteger(Manifest::TYPE_THEME); 333 allowed_types_pref.AppendInteger(Manifest::TYPE_THEME);
332 allowed_types_pref.AppendInteger(Manifest::TYPE_USER_SCRIPT); 334 allowed_types_pref.AppendInteger(Manifest::TYPE_USER_SCRIPT);
333 335
334 SetPref(true, pref_names::kAllowedTypes, allowed_types_pref.DeepCopy()); 336 SetPref(true, pref_names::kAllowedTypes, allowed_types_pref.CreateDeepCopy());
335 const std::vector<Manifest::Type>& allowed_types = 337 const std::vector<Manifest::Type>& allowed_types =
336 ReadGlobalSettings()->allowed_types; 338 ReadGlobalSettings()->allowed_types;
337 ASSERT_TRUE(ReadGlobalSettings()->has_restricted_allowed_types); 339 ASSERT_TRUE(ReadGlobalSettings()->has_restricted_allowed_types);
338 EXPECT_EQ(allowed_types.size(), 2u); 340 EXPECT_EQ(allowed_types.size(), 2u);
339 EXPECT_FALSE(std::find(allowed_types.begin(), 341 EXPECT_FALSE(std::find(allowed_types.begin(),
340 allowed_types.end(), 342 allowed_types.end(),
341 Manifest::TYPE_EXTENSION) != allowed_types.end()); 343 Manifest::TYPE_EXTENSION) != allowed_types.end());
342 EXPECT_TRUE(std::find(allowed_types.begin(), 344 EXPECT_TRUE(std::find(allowed_types.begin(),
343 allowed_types.end(), 345 allowed_types.end(),
344 Manifest::TYPE_THEME) != allowed_types.end()); 346 Manifest::TYPE_THEME) != allowed_types.end());
345 EXPECT_TRUE(std::find(allowed_types.begin(), 347 EXPECT_TRUE(std::find(allowed_types.begin(),
346 allowed_types.end(), 348 allowed_types.end(),
347 Manifest::TYPE_USER_SCRIPT) != allowed_types.end()); 349 Manifest::TYPE_USER_SCRIPT) != allowed_types.end());
348 } 350 }
349 351
350 // Verify that preference controlled by legacy ExtensionInstallBlacklist policy 352 // Verify that preference controlled by legacy ExtensionInstallBlacklist policy
351 // is handled well. 353 // is handled well.
352 TEST_F(ExtensionManagementServiceTest, LegacyInstallBlacklist) { 354 TEST_F(ExtensionManagementServiceTest, LegacyInstallBlacklist) {
353 base::ListValue denied_list_pref; 355 base::ListValue denied_list_pref;
354 denied_list_pref.AppendString(kTargetExtension); 356 denied_list_pref.AppendString(kTargetExtension);
355 357
356 SetPref(true, pref_names::kInstallDenyList, denied_list_pref.DeepCopy()); 358 SetPref(true, pref_names::kInstallDenyList,
359 denied_list_pref.CreateDeepCopy());
357 EXPECT_EQ(GetInstallationModeById(kTargetExtension), 360 EXPECT_EQ(GetInstallationModeById(kTargetExtension),
358 ExtensionManagement::INSTALLATION_BLOCKED); 361 ExtensionManagement::INSTALLATION_BLOCKED);
359 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension), 362 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension),
360 ExtensionManagement::INSTALLATION_ALLOWED); 363 ExtensionManagement::INSTALLATION_ALLOWED);
361 } 364 }
362 365
363 // Verify that preference controlled by legacy ExtensionInstallWhitelist policy 366 // Verify that preference controlled by legacy ExtensionInstallWhitelist policy
364 // is handled well. 367 // is handled well.
365 TEST_F(ExtensionManagementServiceTest, LegacyInstallWhitelist) { 368 TEST_F(ExtensionManagementServiceTest, LegacyInstallWhitelist) {
366 base::ListValue denied_list_pref; 369 base::ListValue denied_list_pref;
367 denied_list_pref.AppendString("*"); 370 denied_list_pref.AppendString("*");
368 base::ListValue allowed_list_pref; 371 base::ListValue allowed_list_pref;
369 allowed_list_pref.AppendString(kTargetExtension); 372 allowed_list_pref.AppendString(kTargetExtension);
370 373
371 SetPref(true, pref_names::kInstallDenyList, denied_list_pref.DeepCopy()); 374 SetPref(true, pref_names::kInstallDenyList,
372 SetPref(true, pref_names::kInstallAllowList, allowed_list_pref.DeepCopy()); 375 denied_list_pref.CreateDeepCopy());
376 SetPref(true, pref_names::kInstallAllowList,
377 allowed_list_pref.CreateDeepCopy());
373 EXPECT_EQ(GetInstallationModeById(kTargetExtension), 378 EXPECT_EQ(GetInstallationModeById(kTargetExtension),
374 ExtensionManagement::INSTALLATION_ALLOWED); 379 ExtensionManagement::INSTALLATION_ALLOWED);
375 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension), 380 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension),
376 ExtensionManagement::INSTALLATION_BLOCKED); 381 ExtensionManagement::INSTALLATION_BLOCKED);
377 382
378 // Verify that install whitelist preference set by user is ignored. 383 // Verify that install whitelist preference set by user is ignored.
379 RemovePref(true, pref_names::kInstallAllowList); 384 RemovePref(true, pref_names::kInstallAllowList);
380 SetPref(false, pref_names::kInstallAllowList, allowed_list_pref.DeepCopy()); 385 SetPref(false, pref_names::kInstallAllowList,
386 allowed_list_pref.CreateDeepCopy());
381 EXPECT_EQ(GetInstallationModeById(kTargetExtension), 387 EXPECT_EQ(GetInstallationModeById(kTargetExtension),
382 ExtensionManagement::INSTALLATION_BLOCKED); 388 ExtensionManagement::INSTALLATION_BLOCKED);
383 } 389 }
384 390
385 // Verify that preference controlled by legacy ExtensionInstallForcelist policy 391 // Verify that preference controlled by legacy ExtensionInstallForcelist policy
386 // is handled well. 392 // is handled well.
387 TEST_F(ExtensionManagementServiceTest, LegacyInstallForcelist) { 393 TEST_F(ExtensionManagementServiceTest, LegacyInstallForcelist) {
388 base::DictionaryValue forced_list_pref; 394 base::DictionaryValue forced_list_pref;
389 ExternalPolicyLoader::AddExtension( 395 ExternalPolicyLoader::AddExtension(
390 &forced_list_pref, kTargetExtension, kExampleUpdateUrl); 396 &forced_list_pref, kTargetExtension, kExampleUpdateUrl);
391 397
392 SetPref(true, pref_names::kInstallForceList, forced_list_pref.DeepCopy()); 398 SetPref(true, pref_names::kInstallForceList,
399 forced_list_pref.CreateDeepCopy());
393 EXPECT_EQ(GetInstallationModeById(kTargetExtension), 400 EXPECT_EQ(GetInstallationModeById(kTargetExtension),
394 ExtensionManagement::INSTALLATION_FORCED); 401 ExtensionManagement::INSTALLATION_FORCED);
395 CheckAutomaticallyInstalledUpdateUrl(kTargetExtension, kExampleUpdateUrl); 402 CheckAutomaticallyInstalledUpdateUrl(kTargetExtension, kExampleUpdateUrl);
396 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension), 403 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension),
397 ExtensionManagement::INSTALLATION_ALLOWED); 404 ExtensionManagement::INSTALLATION_ALLOWED);
398 405
399 // Verify that install forcelist preference set by user is ignored. 406 // Verify that install forcelist preference set by user is ignored.
400 RemovePref(true, pref_names::kInstallForceList); 407 RemovePref(true, pref_names::kInstallForceList);
401 SetPref(false, pref_names::kInstallForceList, forced_list_pref.DeepCopy()); 408 SetPref(false, pref_names::kInstallForceList,
409 forced_list_pref.CreateDeepCopy());
402 EXPECT_EQ(GetInstallationModeById(kTargetExtension), 410 EXPECT_EQ(GetInstallationModeById(kTargetExtension),
403 ExtensionManagement::INSTALLATION_ALLOWED); 411 ExtensionManagement::INSTALLATION_ALLOWED);
404 } 412 }
405 413
406 // Tests parsing of new dictionary preference. 414 // Tests parsing of new dictionary preference.
407 TEST_F(ExtensionManagementServiceTest, PreferenceParsing) { 415 TEST_F(ExtensionManagementServiceTest, PreferenceParsing) {
408 SetExampleDictPref(); 416 SetExampleDictPref();
409 417
410 // Verifies the installation mode settings. 418 // Verifies the installation mode settings.
411 EXPECT_TRUE(extension_management_->BlacklistedByDefault()); 419 EXPECT_TRUE(extension_management_->BlacklistedByDefault());
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 EXPECT_TRUE(CheckMinimumVersion(kTargetExtension, "3.0.1")); 548 EXPECT_TRUE(CheckMinimumVersion(kTargetExtension, "3.0.1"));
541 EXPECT_TRUE(CheckMinimumVersion(kTargetExtension, "4.0")); 549 EXPECT_TRUE(CheckMinimumVersion(kTargetExtension, "4.0"));
542 } 550 }
543 551
544 // Tests functionality of new preference as to deprecate legacy 552 // Tests functionality of new preference as to deprecate legacy
545 // ExtensionInstallSources policy. 553 // ExtensionInstallSources policy.
546 TEST_F(ExtensionManagementServiceTest, NewInstallSources) { 554 TEST_F(ExtensionManagementServiceTest, NewInstallSources) {
547 // Set the legacy preference, and verifies that it works. 555 // Set the legacy preference, and verifies that it works.
548 base::ListValue allowed_sites_pref; 556 base::ListValue allowed_sites_pref;
549 allowed_sites_pref.AppendString("https://www.example.com/foo"); 557 allowed_sites_pref.AppendString("https://www.example.com/foo");
550 SetPref( 558 SetPref(true, pref_names::kAllowedInstallSites,
551 true, pref_names::kAllowedInstallSites, allowed_sites_pref.DeepCopy()); 559 allowed_sites_pref.CreateDeepCopy());
552 EXPECT_TRUE(ReadGlobalSettings()->has_restricted_install_sources); 560 EXPECT_TRUE(ReadGlobalSettings()->has_restricted_install_sources);
553 EXPECT_TRUE(ReadGlobalSettings()->install_sources.MatchesURL( 561 EXPECT_TRUE(ReadGlobalSettings()->install_sources.MatchesURL(
554 GURL("https://www.example.com/foo"))); 562 GURL("https://www.example.com/foo")));
555 563
556 // Set the new dictionary preference. 564 // Set the new dictionary preference.
557 { 565 {
558 PrefUpdater updater(pref_service_.get()); 566 PrefUpdater updater(pref_service_.get());
559 updater.ClearInstallSources(); 567 updater.ClearInstallSources();
560 } 568 }
561 // Verifies that the new one overrides the legacy ones. 569 // Verifies that the new one overrides the legacy ones.
(...skipping 10 matching lines...) Expand all
572 EXPECT_TRUE(ReadGlobalSettings()->install_sources.MatchesURL( 580 EXPECT_TRUE(ReadGlobalSettings()->install_sources.MatchesURL(
573 GURL("https://corp.mycompany.com/entry"))); 581 GURL("https://corp.mycompany.com/entry")));
574 } 582 }
575 583
576 // Tests functionality of new preference as to deprecate legacy 584 // Tests functionality of new preference as to deprecate legacy
577 // ExtensionAllowedTypes policy. 585 // ExtensionAllowedTypes policy.
578 TEST_F(ExtensionManagementServiceTest, NewAllowedTypes) { 586 TEST_F(ExtensionManagementServiceTest, NewAllowedTypes) {
579 // Set the legacy preference, and verifies that it works. 587 // Set the legacy preference, and verifies that it works.
580 base::ListValue allowed_types_pref; 588 base::ListValue allowed_types_pref;
581 allowed_types_pref.AppendInteger(Manifest::TYPE_USER_SCRIPT); 589 allowed_types_pref.AppendInteger(Manifest::TYPE_USER_SCRIPT);
582 SetPref(true, pref_names::kAllowedTypes, allowed_types_pref.DeepCopy()); 590 SetPref(true, pref_names::kAllowedTypes, allowed_types_pref.CreateDeepCopy());
583 EXPECT_TRUE(ReadGlobalSettings()->has_restricted_allowed_types); 591 EXPECT_TRUE(ReadGlobalSettings()->has_restricted_allowed_types);
584 EXPECT_EQ(ReadGlobalSettings()->allowed_types.size(), 1u); 592 EXPECT_EQ(ReadGlobalSettings()->allowed_types.size(), 1u);
585 EXPECT_EQ(ReadGlobalSettings()->allowed_types[0], Manifest::TYPE_USER_SCRIPT); 593 EXPECT_EQ(ReadGlobalSettings()->allowed_types[0], Manifest::TYPE_USER_SCRIPT);
586 594
587 // Set the new dictionary preference. 595 // Set the new dictionary preference.
588 { 596 {
589 PrefUpdater updater(pref_service_.get()); 597 PrefUpdater updater(pref_service_.get());
590 updater.ClearAllowedTypes(); 598 updater.ClearAllowedTypes();
591 } 599 }
592 // Verifies that the new one overrides the legacy ones. 600 // Verifies that the new one overrides the legacy ones.
(...skipping 23 matching lines...) Expand all
616 EXPECT_FALSE(extension_management_->BlacklistedByDefault()); 624 EXPECT_FALSE(extension_management_->BlacklistedByDefault());
617 EXPECT_EQ(GetInstallationModeById(kTargetExtension), 625 EXPECT_EQ(GetInstallationModeById(kTargetExtension),
618 ExtensionManagement::INSTALLATION_BLOCKED); 626 ExtensionManagement::INSTALLATION_BLOCKED);
619 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension), 627 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension),
620 ExtensionManagement::INSTALLATION_ALLOWED); 628 ExtensionManagement::INSTALLATION_ALLOWED);
621 629
622 // Set legacy preference. 630 // Set legacy preference.
623 base::ListValue denied_list_pref; 631 base::ListValue denied_list_pref;
624 denied_list_pref.AppendString("*"); 632 denied_list_pref.AppendString("*");
625 denied_list_pref.AppendString(kTargetExtension2); 633 denied_list_pref.AppendString(kTargetExtension2);
626 SetPref(true, pref_names::kInstallDenyList, denied_list_pref.DeepCopy()); 634 SetPref(true, pref_names::kInstallDenyList,
635 denied_list_pref.CreateDeepCopy());
627 636
628 base::ListValue allowed_list_pref; 637 base::ListValue allowed_list_pref;
629 allowed_list_pref.AppendString(kTargetExtension); 638 allowed_list_pref.AppendString(kTargetExtension);
630 SetPref(true, pref_names::kInstallAllowList, allowed_list_pref.DeepCopy()); 639 SetPref(true, pref_names::kInstallAllowList,
640 allowed_list_pref.CreateDeepCopy());
631 641
632 // Verifies that the new one have higher priority over the legacy ones. 642 // Verifies that the new one have higher priority over the legacy ones.
633 EXPECT_FALSE(extension_management_->BlacklistedByDefault()); 643 EXPECT_FALSE(extension_management_->BlacklistedByDefault());
634 EXPECT_EQ(GetInstallationModeById(kTargetExtension), 644 EXPECT_EQ(GetInstallationModeById(kTargetExtension),
635 ExtensionManagement::INSTALLATION_BLOCKED); 645 ExtensionManagement::INSTALLATION_BLOCKED);
636 EXPECT_EQ(GetInstallationModeById(kTargetExtension2), 646 EXPECT_EQ(GetInstallationModeById(kTargetExtension2),
637 ExtensionManagement::INSTALLATION_BLOCKED); 647 ExtensionManagement::INSTALLATION_BLOCKED);
638 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension), 648 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension),
639 ExtensionManagement::INSTALLATION_ALLOWED); 649 ExtensionManagement::INSTALLATION_ALLOWED);
640 } 650 }
(...skipping 10 matching lines...) Expand all
651 } 661 }
652 EXPECT_TRUE(extension_management_->BlacklistedByDefault()); 662 EXPECT_TRUE(extension_management_->BlacklistedByDefault());
653 EXPECT_EQ(GetInstallationModeById(kTargetExtension), 663 EXPECT_EQ(GetInstallationModeById(kTargetExtension),
654 ExtensionManagement::INSTALLATION_ALLOWED); 664 ExtensionManagement::INSTALLATION_ALLOWED);
655 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension), 665 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension),
656 ExtensionManagement::INSTALLATION_BLOCKED); 666 ExtensionManagement::INSTALLATION_BLOCKED);
657 667
658 // Set legacy preference. 668 // Set legacy preference.
659 base::ListValue denied_list_pref; 669 base::ListValue denied_list_pref;
660 denied_list_pref.AppendString(kTargetExtension); 670 denied_list_pref.AppendString(kTargetExtension);
661 SetPref(true, pref_names::kInstallDenyList, denied_list_pref.DeepCopy()); 671 SetPref(true, pref_names::kInstallDenyList,
672 denied_list_pref.CreateDeepCopy());
662 673
663 base::ListValue allowed_list_pref; 674 base::ListValue allowed_list_pref;
664 allowed_list_pref.AppendString(kTargetExtension2); 675 allowed_list_pref.AppendString(kTargetExtension2);
665 SetPref(true, pref_names::kInstallAllowList, allowed_list_pref.DeepCopy()); 676 SetPref(true, pref_names::kInstallAllowList,
677 allowed_list_pref.CreateDeepCopy());
666 678
667 // Verifies that the new one have higher priority over the legacy ones. 679 // Verifies that the new one have higher priority over the legacy ones.
668 EXPECT_TRUE(extension_management_->BlacklistedByDefault()); 680 EXPECT_TRUE(extension_management_->BlacklistedByDefault());
669 EXPECT_EQ(GetInstallationModeById(kTargetExtension), 681 EXPECT_EQ(GetInstallationModeById(kTargetExtension),
670 ExtensionManagement::INSTALLATION_ALLOWED); 682 ExtensionManagement::INSTALLATION_ALLOWED);
671 EXPECT_EQ(GetInstallationModeById(kTargetExtension2), 683 EXPECT_EQ(GetInstallationModeById(kTargetExtension2),
672 ExtensionManagement::INSTALLATION_ALLOWED); 684 ExtensionManagement::INSTALLATION_ALLOWED);
673 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension), 685 EXPECT_EQ(GetInstallationModeById(kNonExistingExtension),
674 ExtensionManagement::INSTALLATION_BLOCKED); 686 ExtensionManagement::INSTALLATION_BLOCKED);
675 } 687 }
676 688
677 // Tests functionality of new preference as to deprecate legacy 689 // Tests functionality of new preference as to deprecate legacy
678 // ExtensionInstallForcelist policy. 690 // ExtensionInstallForcelist policy.
679 TEST_F(ExtensionManagementServiceTest, NewInstallForcelist) { 691 TEST_F(ExtensionManagementServiceTest, NewInstallForcelist) {
680 // Set some legacy preferences, to verify that the new one overrides the 692 // Set some legacy preferences, to verify that the new one overrides the
681 // legacy ones. 693 // legacy ones.
682 base::ListValue denied_list_pref; 694 base::ListValue denied_list_pref;
683 denied_list_pref.AppendString(kTargetExtension); 695 denied_list_pref.AppendString(kTargetExtension);
684 SetPref(true, pref_names::kInstallDenyList, denied_list_pref.DeepCopy()); 696 SetPref(true, pref_names::kInstallDenyList,
697 denied_list_pref.CreateDeepCopy());
685 698
686 // Set the new dictionary preference. 699 // Set the new dictionary preference.
687 { 700 {
688 PrefUpdater updater(pref_service_.get()); 701 PrefUpdater updater(pref_service_.get());
689 updater.SetIndividualExtensionAutoInstalled( 702 updater.SetIndividualExtensionAutoInstalled(
690 kTargetExtension, kExampleUpdateUrl, true); 703 kTargetExtension, kExampleUpdateUrl, true);
691 } 704 }
692 EXPECT_EQ(GetInstallationModeById(kTargetExtension), 705 EXPECT_EQ(GetInstallationModeById(kTargetExtension),
693 ExtensionManagement::INSTALLATION_FORCED); 706 ExtensionManagement::INSTALLATION_FORCED);
694 CheckAutomaticallyInstalledUpdateUrl(kTargetExtension, kExampleUpdateUrl); 707 CheckAutomaticallyInstalledUpdateUrl(kTargetExtension, kExampleUpdateUrl);
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
875 EXPECT_FALSE(error.empty()); 888 EXPECT_FALSE(error.empty());
876 889
877 CreateExtension(Manifest::INTERNAL); 890 CreateExtension(Manifest::INTERNAL);
878 error.clear(); 891 error.clear();
879 EXPECT_FALSE(MustRemainEnabled(extension_.get(), NULL)); 892 EXPECT_FALSE(MustRemainEnabled(extension_.get(), NULL));
880 EXPECT_FALSE(MustRemainEnabled(extension_.get(), &error)); 893 EXPECT_FALSE(MustRemainEnabled(extension_.get(), &error));
881 EXPECT_TRUE(error.empty()); 894 EXPECT_TRUE(error.empty());
882 } 895 }
883 896
884 } // namespace extensions 897 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698