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

Unified Diff: chrome/browser/supervised_user/supervised_user_service_unittest.cc

Issue 401643002: Apps&Extensions for supervised users: Add test for WAS_INSTALLED_BY_CUSTODIAN flag. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/supervised_user/supervised_user_service_unittest.cc
diff --git a/chrome/browser/supervised_user/supervised_user_service_unittest.cc b/chrome/browser/supervised_user/supervised_user_service_unittest.cc
index b48647a583960ac88bbf5f319acb29ba744c357a..ae7f433a9c89f69c17d12f8efa076ad9b91a549a 100644
--- a/chrome/browser/supervised_user/supervised_user_service_unittest.cc
+++ b/chrome/browser/supervised_user/supervised_user_service_unittest.cc
@@ -201,14 +201,17 @@ class SupervisedUserServiceExtensionTestBase
return extension;
}
- scoped_refptr<extensions::Extension> MakeExtension() {
+ scoped_refptr<extensions::Extension> MakeExtension(bool by_custodian) {
scoped_ptr<base::DictionaryValue> manifest = extensions::DictionaryBuilder()
.Set(extensions::manifest_keys::kName, "Extension")
.Set(extensions::manifest_keys::kVersion, "1.0")
.Build();
+ int creation_flags = extensions::Extension::NO_FLAGS;
+ if (by_custodian)
+ creation_flags |= extensions::Extension::WAS_INSTALLED_BY_CUSTODIAN;
extensions::ExtensionBuilder builder;
scoped_refptr<extensions::Extension> extension =
- builder.SetManifest(manifest.Pass()).Build();
+ builder.SetManifest(manifest.Pass()).AddFlags(creation_flags).Build();
return extension;
}
@@ -236,7 +239,7 @@ TEST_F(SupervisedUserServiceExtensionTestUnsupervised,
SupervisedUserServiceFactory::GetForProfile(profile_.get());
EXPECT_FALSE(profile_->IsSupervised());
- scoped_refptr<extensions::Extension> extension = MakeExtension();
+ scoped_refptr<extensions::Extension> extension = MakeExtension(false);
base::string16 error_1;
EXPECT_TRUE(supervised_user_service->UserMayLoad(extension.get(), &error_1));
EXPECT_EQ(base::string16(), error_1);
@@ -267,16 +270,29 @@ TEST_F(SupervisedUserServiceExtensionTest, ExtensionManagementPolicyProvider) {
EXPECT_TRUE(error_1.empty());
// Now check a different kind of extension.
- scoped_refptr<extensions::Extension> extension = MakeExtension();
+ scoped_refptr<extensions::Extension> extension = MakeExtension(false);
EXPECT_FALSE(supervised_user_service->UserMayLoad(extension.get(), &error_1));
EXPECT_FALSE(error_1.empty());
base::string16 error_2;
- EXPECT_FALSE(
- supervised_user_service->UserMayModifySettings(extension.get(),
- &error_2));
+ EXPECT_FALSE(supervised_user_service->UserMayModifySettings(extension.get(),
+ &error_2));
EXPECT_FALSE(error_2.empty());
+ // Check that an extension that was installed by the custodian may be loaded.
+ base::string16 error_3;
+ scoped_refptr<extensions::Extension> extension_2 = MakeExtension(true);
+ EXPECT_TRUE(supervised_user_service->UserMayLoad(extension_2.get(),
+ &error_3));
+ EXPECT_TRUE(error_3.empty());
+
+ // The supervised user should still not be able to uninstall or disable the
+ // extension.
+ base::string16 error_4;
+ EXPECT_FALSE(supervised_user_service->UserMayModifySettings(extension_2.get(),
+ &error_4));
+ EXPECT_FALSE(error_4.empty());
+
#ifndef NDEBUG
EXPECT_FALSE(supervised_user_service->GetDebugPolicyProviderName().empty());
#endif
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698