OLD | NEW |
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 "extensions/browser/admin_policy.h" | 5 #include "extensions/browser/admin_policy.h" |
6 | 6 |
7 #include "base/values.h" | 7 #include "base/values.h" |
8 #include "extensions/common/extension.h" | 8 #include "extensions/common/extension.h" |
9 #include "extensions/common/manifest.h" | 9 #include "extensions/common/manifest.h" |
10 #include "extensions/common/manifest_constants.h" | 10 #include "extensions/common/manifest_constants.h" |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 | 57 |
58 blacklist.Clear(); | 58 blacklist.Clear(); |
59 blacklist.Append(new base::StringValue("*")); | 59 blacklist.Append(new base::StringValue("*")); |
60 EXPECT_TRUE(ap::BlacklistedByDefault(&blacklist)); | 60 EXPECT_TRUE(ap::BlacklistedByDefault(&blacklist)); |
61 } | 61 } |
62 | 62 |
63 // Tests UserMayLoad for required extensions. | 63 // Tests UserMayLoad for required extensions. |
64 TEST_F(ExtensionAdminPolicyTest, UserMayLoadRequired) { | 64 TEST_F(ExtensionAdminPolicyTest, UserMayLoadRequired) { |
65 CreateExtension(Manifest::COMPONENT); | 65 CreateExtension(Manifest::COMPONENT); |
66 EXPECT_TRUE(ap::UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), NULL)); | 66 EXPECT_TRUE(ap::UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), NULL)); |
67 string16 error; | 67 base::string16 error; |
68 EXPECT_TRUE(ap::UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), | 68 EXPECT_TRUE(ap::UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), |
69 &error)); | 69 &error)); |
70 EXPECT_TRUE(error.empty()); | 70 EXPECT_TRUE(error.empty()); |
71 | 71 |
72 // Required extensions may load even if they're on the blacklist. | 72 // Required extensions may load even if they're on the blacklist. |
73 base::ListValue blacklist; | 73 base::ListValue blacklist; |
74 blacklist.Append(new base::StringValue(extension_->id())); | 74 blacklist.Append(new base::StringValue(extension_->id())); |
75 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), | 75 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), |
76 NULL)); | 76 NULL)); |
77 | 77 |
78 blacklist.Append(new base::StringValue("*")); | 78 blacklist.Append(new base::StringValue("*")); |
79 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), | 79 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), |
80 NULL)); | 80 NULL)); |
81 } | 81 } |
82 | 82 |
83 // Tests UserMayLoad when no blacklist exists, or it's empty. | 83 // Tests UserMayLoad when no blacklist exists, or it's empty. |
84 TEST_F(ExtensionAdminPolicyTest, UserMayLoadNoBlacklist) { | 84 TEST_F(ExtensionAdminPolicyTest, UserMayLoadNoBlacklist) { |
85 CreateExtension(Manifest::INTERNAL); | 85 CreateExtension(Manifest::INTERNAL); |
86 EXPECT_TRUE(ap::UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), NULL)); | 86 EXPECT_TRUE(ap::UserMayLoad(NULL, NULL, NULL, NULL, extension_.get(), NULL)); |
87 base::ListValue blacklist; | 87 base::ListValue blacklist; |
88 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), | 88 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), |
89 NULL)); | 89 NULL)); |
90 string16 error; | 90 base::string16 error; |
91 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), | 91 EXPECT_TRUE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), |
92 &error)); | 92 &error)); |
93 EXPECT_TRUE(error.empty()); | 93 EXPECT_TRUE(error.empty()); |
94 } | 94 } |
95 | 95 |
96 // Tests UserMayLoad for an extension on the whitelist. | 96 // Tests UserMayLoad for an extension on the whitelist. |
97 TEST_F(ExtensionAdminPolicyTest, UserMayLoadWhitelisted) { | 97 TEST_F(ExtensionAdminPolicyTest, UserMayLoadWhitelisted) { |
98 CreateExtension(Manifest::INTERNAL); | 98 CreateExtension(Manifest::INTERNAL); |
99 | 99 |
100 base::ListValue whitelist; | 100 base::ListValue whitelist; |
101 whitelist.Append(new base::StringValue(extension_->id())); | 101 whitelist.Append(new base::StringValue(extension_->id())); |
102 EXPECT_TRUE(ap::UserMayLoad(NULL, &whitelist, NULL, NULL, extension_.get(), | 102 EXPECT_TRUE(ap::UserMayLoad(NULL, &whitelist, NULL, NULL, extension_.get(), |
103 NULL)); | 103 NULL)); |
104 | 104 |
105 base::ListValue blacklist; | 105 base::ListValue blacklist; |
106 blacklist.Append(new base::StringValue(extension_->id())); | 106 blacklist.Append(new base::StringValue(extension_->id())); |
107 EXPECT_TRUE(ap::UserMayLoad(NULL, &whitelist, NULL, NULL, extension_.get(), | 107 EXPECT_TRUE(ap::UserMayLoad(NULL, &whitelist, NULL, NULL, extension_.get(), |
108 NULL)); | 108 NULL)); |
109 string16 error; | 109 base::string16 error; |
110 EXPECT_TRUE(ap::UserMayLoad(NULL, &whitelist, NULL, NULL, extension_.get(), | 110 EXPECT_TRUE(ap::UserMayLoad(NULL, &whitelist, NULL, NULL, extension_.get(), |
111 &error)); | 111 &error)); |
112 EXPECT_TRUE(error.empty()); | 112 EXPECT_TRUE(error.empty()); |
113 } | 113 } |
114 | 114 |
115 // Tests UserMayLoad for an extension on the blacklist. | 115 // Tests UserMayLoad for an extension on the blacklist. |
116 TEST_F(ExtensionAdminPolicyTest, UserMayLoadBlacklisted) { | 116 TEST_F(ExtensionAdminPolicyTest, UserMayLoadBlacklisted) { |
117 CreateExtension(Manifest::INTERNAL); | 117 CreateExtension(Manifest::INTERNAL); |
118 | 118 |
119 // Blacklisted by default. | 119 // Blacklisted by default. |
120 base::ListValue blacklist; | 120 base::ListValue blacklist; |
121 blacklist.Append(new base::StringValue("*")); | 121 blacklist.Append(new base::StringValue("*")); |
122 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), | 122 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), |
123 NULL)); | 123 NULL)); |
124 string16 error; | 124 base::string16 error; |
125 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), | 125 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), |
126 &error)); | 126 &error)); |
127 EXPECT_FALSE(error.empty()); | 127 EXPECT_FALSE(error.empty()); |
128 | 128 |
129 // Extension on the blacklist, with and without wildcard. | 129 // Extension on the blacklist, with and without wildcard. |
130 blacklist.Append(new base::StringValue(extension_->id())); | 130 blacklist.Append(new base::StringValue(extension_->id())); |
131 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), | 131 EXPECT_FALSE(ap::UserMayLoad(&blacklist, NULL, NULL, NULL, extension_.get(), |
132 NULL)); | 132 NULL)); |
133 blacklist.Clear(); | 133 blacklist.Clear(); |
134 blacklist.Append(new base::StringValue(extension_->id())); | 134 blacklist.Append(new base::StringValue(extension_->id())); |
(...skipping 28 matching lines...) Expand all Loading... |
163 extension_.get(), NULL)); | 163 extension_.get(), NULL)); |
164 | 164 |
165 CreateHostedApp(Manifest::EXTERNAL_POLICY_DOWNLOAD); | 165 CreateHostedApp(Manifest::EXTERNAL_POLICY_DOWNLOAD); |
166 EXPECT_FALSE(ap::UserMayLoad(NULL, NULL, NULL, &allowed_types, | 166 EXPECT_FALSE(ap::UserMayLoad(NULL, NULL, NULL, &allowed_types, |
167 extension_.get(), NULL)); | 167 extension_.get(), NULL)); |
168 } | 168 } |
169 | 169 |
170 TEST_F(ExtensionAdminPolicyTest, UserMayModifySettings) { | 170 TEST_F(ExtensionAdminPolicyTest, UserMayModifySettings) { |
171 CreateExtension(Manifest::INTERNAL); | 171 CreateExtension(Manifest::INTERNAL); |
172 EXPECT_TRUE(ap::UserMayModifySettings(extension_.get(), NULL)); | 172 EXPECT_TRUE(ap::UserMayModifySettings(extension_.get(), NULL)); |
173 string16 error; | 173 base::string16 error; |
174 EXPECT_TRUE(ap::UserMayModifySettings(extension_.get(), &error)); | 174 EXPECT_TRUE(ap::UserMayModifySettings(extension_.get(), &error)); |
175 EXPECT_TRUE(error.empty()); | 175 EXPECT_TRUE(error.empty()); |
176 | 176 |
177 CreateExtension(Manifest::EXTERNAL_POLICY_DOWNLOAD); | 177 CreateExtension(Manifest::EXTERNAL_POLICY_DOWNLOAD); |
178 error.clear(); | 178 error.clear(); |
179 EXPECT_FALSE(ap::UserMayModifySettings(extension_.get(), NULL)); | 179 EXPECT_FALSE(ap::UserMayModifySettings(extension_.get(), NULL)); |
180 EXPECT_FALSE(ap::UserMayModifySettings(extension_.get(), &error)); | 180 EXPECT_FALSE(ap::UserMayModifySettings(extension_.get(), &error)); |
181 EXPECT_FALSE(error.empty()); | 181 EXPECT_FALSE(error.empty()); |
182 } | 182 } |
183 | 183 |
184 TEST_F(ExtensionAdminPolicyTest, MustRemainEnabled) { | 184 TEST_F(ExtensionAdminPolicyTest, MustRemainEnabled) { |
185 CreateExtension(Manifest::EXTERNAL_POLICY_DOWNLOAD); | 185 CreateExtension(Manifest::EXTERNAL_POLICY_DOWNLOAD); |
186 EXPECT_TRUE(ap::MustRemainEnabled(extension_.get(), NULL)); | 186 EXPECT_TRUE(ap::MustRemainEnabled(extension_.get(), NULL)); |
187 string16 error; | 187 base::string16 error; |
188 EXPECT_TRUE(ap::MustRemainEnabled(extension_.get(), &error)); | 188 EXPECT_TRUE(ap::MustRemainEnabled(extension_.get(), &error)); |
189 EXPECT_FALSE(error.empty()); | 189 EXPECT_FALSE(error.empty()); |
190 | 190 |
191 CreateExtension(Manifest::INTERNAL); | 191 CreateExtension(Manifest::INTERNAL); |
192 error.clear(); | 192 error.clear(); |
193 EXPECT_FALSE(ap::MustRemainEnabled(extension_.get(), NULL)); | 193 EXPECT_FALSE(ap::MustRemainEnabled(extension_.get(), NULL)); |
194 EXPECT_FALSE(ap::MustRemainEnabled(extension_.get(), &error)); | 194 EXPECT_FALSE(ap::MustRemainEnabled(extension_.get(), &error)); |
195 EXPECT_TRUE(error.empty()); | 195 EXPECT_TRUE(error.empty()); |
196 } | 196 } |
OLD | NEW |