| OLD | NEW |
| 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 "chrome/browser/extensions/admin_policy.h" | 5 #include "chrome/browser/extensions/admin_policy.h" |
| 6 | 6 |
| 7 #include "base/values.h" | 7 #include "base/values.h" |
| 8 #include "chrome/common/extensions/extension.h" | 8 #include "chrome/common/extensions/extension.h" |
| 9 #include "chrome/common/extensions/extension_manifest_constants.h" | 9 #include "chrome/common/extensions/extension_manifest_constants.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 EXPECT_TRUE(ap::BlacklistedByDefault(&blacklist)); | 43 EXPECT_TRUE(ap::BlacklistedByDefault(&blacklist)); |
| 44 | 44 |
| 45 blacklist.Clear(); | 45 blacklist.Clear(); |
| 46 blacklist.Append(Value::CreateStringValue("*")); | 46 blacklist.Append(Value::CreateStringValue("*")); |
| 47 EXPECT_TRUE(ap::BlacklistedByDefault(&blacklist)); | 47 EXPECT_TRUE(ap::BlacklistedByDefault(&blacklist)); |
| 48 } | 48 } |
| 49 | 49 |
| 50 // Tests UserMayLoad for required extensions. | 50 // Tests UserMayLoad for required extensions. |
| 51 TEST_F(ExtensionAdminPolicyTest, UserMayLoadRequired) { | 51 TEST_F(ExtensionAdminPolicyTest, UserMayLoadRequired) { |
| 52 CreateExtension(Extension::EXTERNAL_POLICY_DOWNLOAD, true); | 52 CreateExtension(Extension::EXTERNAL_POLICY_DOWNLOAD, true); |
| 53 EXPECT_TRUE(ap::UserMayLoad(false, NULL, NULL, NULL, extension_.get(), NULL)); | 53 EXPECT_TRUE(ap::UserMayLoad(NULL, NULL, NULL, extension_.get(), NULL)); |
| 54 string16 error; | 54 string16 error; |
| 55 EXPECT_TRUE(ap::UserMayLoad(false, NULL, NULL, NULL, extension_.get(), | 55 EXPECT_TRUE(ap::UserMayLoad(NULL, NULL, NULL, extension_.get(), |
| 56 &error)); | 56 &error)); |
| 57 EXPECT_TRUE(error.empty()); | 57 EXPECT_TRUE(error.empty()); |
| 58 | 58 |
| 59 // Required extensions may load even if they're on the blacklist. | 59 // Required extensions may load even if they're on the blacklist. |
| 60 base::ListValue blacklist; | 60 base::ListValue blacklist; |
| 61 blacklist.Append(Value::CreateStringValue(extension_->id())); | 61 blacklist.Append(Value::CreateStringValue(extension_->id())); |
| 62 EXPECT_TRUE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), | 62 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(), |
| 63 NULL)); | 63 NULL)); |
| 64 | 64 |
| 65 blacklist.Append(Value::CreateStringValue("*")); | 65 blacklist.Append(Value::CreateStringValue("*")); |
| 66 EXPECT_TRUE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), | 66 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(), |
| 67 NULL)); | 67 NULL)); |
| 68 } | 68 } |
| 69 | 69 |
| 70 // Tests UserMayLoad when no blacklist exists, or it's empty. | 70 // Tests UserMayLoad when no blacklist exists, or it's empty. |
| 71 TEST_F(ExtensionAdminPolicyTest, UserMayLoadNoBlacklist) { | 71 TEST_F(ExtensionAdminPolicyTest, UserMayLoadNoBlacklist) { |
| 72 CreateExtension(Extension::INTERNAL, false); | 72 CreateExtension(Extension::INTERNAL, false); |
| 73 EXPECT_TRUE(ap::UserMayLoad(false, NULL, NULL, NULL, extension_.get(), NULL)); | 73 EXPECT_TRUE(ap::UserMayLoad(NULL, NULL, NULL, extension_.get(), NULL)); |
| 74 base::ListValue blacklist; | 74 base::ListValue blacklist; |
| 75 EXPECT_TRUE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), | 75 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(), |
| 76 NULL)); | 76 NULL)); |
| 77 string16 error; | 77 string16 error; |
| 78 EXPECT_TRUE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), | 78 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(), |
| 79 &error)); | 79 &error)); |
| 80 EXPECT_TRUE(error.empty()); | 80 EXPECT_TRUE(error.empty()); |
| 81 } | 81 } |
| 82 | 82 |
| 83 // Tests UserMayLoad for an extension on the whitelist. | 83 // Tests UserMayLoad for an extension on the whitelist. |
| 84 TEST_F(ExtensionAdminPolicyTest, UserMayLoadWhitelisted) { | 84 TEST_F(ExtensionAdminPolicyTest, UserMayLoadWhitelisted) { |
| 85 CreateExtension(Extension::INTERNAL, false); | 85 CreateExtension(Extension::INTERNAL, false); |
| 86 | 86 |
| 87 base::ListValue whitelist; | 87 base::ListValue whitelist; |
| 88 whitelist.Append(Value::CreateStringValue(extension_->id())); | 88 whitelist.Append(Value::CreateStringValue(extension_->id())); |
| 89 EXPECT_TRUE(ap::UserMayLoad(false, NULL, &whitelist, NULL, extension_.get(), | 89 EXPECT_TRUE(ap::UserMayLoad(NULL, &whitelist, NULL, extension_.get(), |
| 90 NULL)); | 90 NULL)); |
| 91 | 91 |
| 92 base::ListValue blacklist; | 92 base::ListValue blacklist; |
| 93 blacklist.Append(Value::CreateStringValue(extension_->id())); | 93 blacklist.Append(Value::CreateStringValue(extension_->id())); |
| 94 EXPECT_TRUE(ap::UserMayLoad(false, NULL, &whitelist, NULL, extension_.get(), | 94 EXPECT_TRUE(ap::UserMayLoad(NULL, &whitelist, NULL, extension_.get(), |
| 95 NULL)); | 95 NULL)); |
| 96 string16 error; | 96 string16 error; |
| 97 EXPECT_TRUE(ap::UserMayLoad(false, NULL, &whitelist, NULL, extension_.get(), | 97 EXPECT_TRUE(ap::UserMayLoad(NULL, &whitelist, NULL, extension_.get(), |
| 98 &error)); | 98 &error)); |
| 99 EXPECT_TRUE(error.empty()); | 99 EXPECT_TRUE(error.empty()); |
| 100 } | 100 } |
| 101 | 101 |
| 102 // Tests UserMayLoad for an extension on the blacklist. | 102 // Tests UserMayLoad for an extension on the blacklist. |
| 103 TEST_F(ExtensionAdminPolicyTest, UserMayLoadBlacklisted) { | 103 TEST_F(ExtensionAdminPolicyTest, UserMayLoadBlacklisted) { |
| 104 CreateExtension(Extension::INTERNAL, false); | 104 CreateExtension(Extension::INTERNAL, false); |
| 105 | 105 |
| 106 // Blacklisted by default. | 106 // Blacklisted by default. |
| 107 base::ListValue blacklist; | 107 base::ListValue blacklist; |
| 108 blacklist.Append(Value::CreateStringValue("*")); | 108 blacklist.Append(Value::CreateStringValue("*")); |
| 109 EXPECT_FALSE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), | 109 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(), |
| 110 NULL)); | 110 NULL)); |
| 111 string16 error; | 111 string16 error; |
| 112 EXPECT_FALSE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), | 112 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(), |
| 113 &error)); | 113 &error)); |
| 114 EXPECT_FALSE(error.empty()); | 114 EXPECT_FALSE(error.empty()); |
| 115 | 115 |
| 116 // Extension on the blacklist, with and without wildcard. | 116 // Extension on the blacklist, with and without wildcard. |
| 117 blacklist.Append(Value::CreateStringValue(extension_->id())); | 117 blacklist.Append(Value::CreateStringValue(extension_->id())); |
| 118 EXPECT_FALSE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), | 118 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(), |
| 119 NULL)); | 119 NULL)); |
| 120 blacklist.Clear(); | 120 blacklist.Clear(); |
| 121 blacklist.Append(Value::CreateStringValue(extension_->id())); | 121 blacklist.Append(Value::CreateStringValue(extension_->id())); |
| 122 EXPECT_FALSE(ap::UserMayLoad(false, &blacklist, NULL, NULL, extension_.get(), | 122 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, extension_.get(), |
| 123 NULL)); | 123 NULL)); |
| 124 | 124 |
| 125 // With a whitelist. There's no such thing as a whitelist wildcard. | 125 // With a whitelist. There's no such thing as a whitelist wildcard. |
| 126 base::ListValue whitelist; | 126 base::ListValue whitelist; |
| 127 whitelist.Append( | 127 whitelist.Append( |
| 128 Value::CreateStringValue("behllobkkfkfnphdnhnkndlbkcpglgmj")); | 128 Value::CreateStringValue("behllobkkfkfnphdnhnkndlbkcpglgmj")); |
| 129 EXPECT_FALSE(ap::UserMayLoad(false, &blacklist, &whitelist, NULL, | 129 EXPECT_FALSE(ap::UserMayLoad(&blacklist, &whitelist, NULL, |
| 130 extension_.get(), NULL)); | 130 extension_.get(), NULL)); |
| 131 whitelist.Append(Value::CreateStringValue("*")); | 131 whitelist.Append(Value::CreateStringValue("*")); |
| 132 EXPECT_FALSE(ap::UserMayLoad(false, &blacklist, &whitelist, NULL, | 132 EXPECT_FALSE(ap::UserMayLoad(&blacklist, &whitelist, NULL, |
| 133 extension_.get(), NULL)); | 133 extension_.get(), NULL)); |
| 134 } | 134 } |
| 135 | 135 |
| 136 TEST_F(ExtensionAdminPolicyTest, UserMayModifySettings) { | 136 TEST_F(ExtensionAdminPolicyTest, UserMayModifySettings) { |
| 137 CreateExtension(Extension::INTERNAL, false); | 137 CreateExtension(Extension::INTERNAL, false); |
| 138 EXPECT_TRUE(ap::UserMayModifySettings(extension_.get(), NULL)); | 138 EXPECT_TRUE(ap::UserMayModifySettings(extension_.get(), NULL)); |
| 139 string16 error; | 139 string16 error; |
| 140 EXPECT_TRUE(ap::UserMayModifySettings(extension_.get(), &error)); | 140 EXPECT_TRUE(ap::UserMayModifySettings(extension_.get(), &error)); |
| 141 EXPECT_TRUE(error.empty()); | 141 EXPECT_TRUE(error.empty()); |
| 142 | 142 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 153 string16 error; | 153 string16 error; |
| 154 EXPECT_TRUE(ap::MustRemainEnabled(extension_.get(), &error)); | 154 EXPECT_TRUE(ap::MustRemainEnabled(extension_.get(), &error)); |
| 155 EXPECT_FALSE(error.empty()); | 155 EXPECT_FALSE(error.empty()); |
| 156 | 156 |
| 157 CreateExtension(Extension::INTERNAL, false); | 157 CreateExtension(Extension::INTERNAL, false); |
| 158 error.clear(); | 158 error.clear(); |
| 159 EXPECT_FALSE(ap::MustRemainEnabled(extension_.get(), NULL)); | 159 EXPECT_FALSE(ap::MustRemainEnabled(extension_.get(), NULL)); |
| 160 EXPECT_FALSE(ap::MustRemainEnabled(extension_.get(), &error)); | 160 EXPECT_FALSE(ap::MustRemainEnabled(extension_.get(), &error)); |
| 161 EXPECT_TRUE(error.empty()); | 161 EXPECT_TRUE(error.empty()); |
| 162 } | 162 } |
| OLD | NEW |