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 "base/test/values_test_util.h" | 5 #include "base/test/values_test_util.h" |
6 #include "chrome/common/extensions/api/identity/oauth2_manifest_handler.h" | 6 #include "chrome/common/extensions/api/identity/oauth2_manifest_handler.h" |
7 #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" | 7 #include "chrome/common/extensions/manifest_tests/chrome_manifest_test.h" |
8 #include "extensions/common/manifest_constants.h" | 8 #include "extensions/common/manifest_constants.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
11 namespace extensions { | 11 namespace extensions { |
12 | 12 |
13 namespace keys = manifest_keys; | 13 namespace keys = manifest_keys; |
14 namespace errors = manifest_errors; | 14 namespace errors = manifest_errors; |
15 | 15 |
16 namespace { | 16 namespace { |
17 | 17 |
18 // Produces extension ID = "mdbihdcgjmagbcapkhhkjbbdlkflmbfo". | 18 // Produces extension ID = "mdbihdcgjmagbcapkhhkjbbdlkflmbfo". |
19 const char kExtensionKey[] = | 19 const char kExtensionKey[] = |
20 "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCV9PlZjcTIXfnlB3HXo50OlM/CnIq0y7jm" | 20 "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCV9PlZjcTIXfnlB3HXo50OlM/CnIq0y7jm" |
21 "KfPVyStaWsmFB7NaVnqUXoGb9swBDfVnZ6BrupwnxL76TWEJPo+KQMJ6uz0PPdJWi2jQfZiG" | 21 "KfPVyStaWsmFB7NaVnqUXoGb9swBDfVnZ6BrupwnxL76TWEJPo+KQMJ6uz0PPdJWi2jQfZiG" |
22 "iheDiKH5Gv+dVd67qf7ly8QWW0o8qmFpqBZQpksm1hOGbfsupv9W4c42tMEIicDMLQIDAQAB"; | 22 "iheDiKH5Gv+dVd67qf7ly8QWW0o8qmFpqBZQpksm1hOGbfsupv9W4c42tMEIicDMLQIDAQAB"; |
23 const char kAutoApproveNotAllowedWarning[] = | 23 const char kAutoApproveNotAllowedWarning[] = |
24 "'oauth2.auto_approve' is not allowed for specified extension ID."; | 24 "'oauth2.auto_approve' is not allowed for specified extension ID."; |
25 | 25 |
26 } // namespace | 26 } // namespace |
27 | 27 |
28 class OAuth2ManifestTest : public ExtensionManifestTest { | 28 class OAuth2ManifestTest : public ChromeManifestTest { |
29 protected: | 29 protected: |
30 enum AutoApproveValue { | 30 enum AutoApproveValue { |
31 AUTO_APPROVE_NOT_SET, | 31 AUTO_APPROVE_NOT_SET, |
32 AUTO_APPROVE_FALSE, | 32 AUTO_APPROVE_FALSE, |
33 AUTO_APPROVE_TRUE, | 33 AUTO_APPROVE_TRUE, |
34 AUTO_APPROVE_INVALID | 34 AUTO_APPROVE_INVALID |
35 }; | 35 }; |
36 | 36 |
37 enum ClientIdValue { | 37 enum ClientIdValue { |
38 CLIENT_ID_DEFAULT, | 38 CLIENT_ID_DEFAULT, |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 | 100 |
101 // OAuth2 section should be parsed for an extension. | 101 // OAuth2 section should be parsed for an extension. |
102 { | 102 { |
103 base::DictionaryValue ext_manifest; | 103 base::DictionaryValue ext_manifest; |
104 // Lack of "app" section representa an extension. So the base manifest | 104 // Lack of "app" section representa an extension. So the base manifest |
105 // itself represents an extension. | 105 // itself represents an extension. |
106 ext_manifest.MergeDictionary(&base_manifest); | 106 ext_manifest.MergeDictionary(&base_manifest); |
107 ext_manifest.SetString(keys::kKey, kExtensionKey); | 107 ext_manifest.SetString(keys::kKey, kExtensionKey); |
108 ext_manifest.SetBoolean(keys::kOAuth2AutoApprove, true); | 108 ext_manifest.SetBoolean(keys::kOAuth2AutoApprove, true); |
109 | 109 |
110 Manifest manifest(&ext_manifest, "test"); | 110 ManifestData manifest(&ext_manifest, "test"); |
111 scoped_refptr<extensions::Extension> extension = | 111 scoped_refptr<extensions::Extension> extension = |
112 LoadAndExpectSuccess(manifest); | 112 LoadAndExpectSuccess(manifest); |
113 EXPECT_TRUE(extension->install_warnings().empty()); | 113 EXPECT_TRUE(extension->install_warnings().empty()); |
114 EXPECT_EQ("client1", OAuth2Info::GetOAuth2Info(extension.get()).client_id); | 114 EXPECT_EQ("client1", OAuth2Info::GetOAuth2Info(extension.get()).client_id); |
115 EXPECT_EQ(2U, OAuth2Info::GetOAuth2Info(extension.get()).scopes.size()); | 115 EXPECT_EQ(2U, OAuth2Info::GetOAuth2Info(extension.get()).scopes.size()); |
116 EXPECT_EQ("scope1", OAuth2Info::GetOAuth2Info(extension.get()).scopes[0]); | 116 EXPECT_EQ("scope1", OAuth2Info::GetOAuth2Info(extension.get()).scopes[0]); |
117 EXPECT_EQ("scope2", OAuth2Info::GetOAuth2Info(extension.get()).scopes[1]); | 117 EXPECT_EQ("scope2", OAuth2Info::GetOAuth2Info(extension.get()).scopes[1]); |
118 EXPECT_TRUE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); | 118 EXPECT_TRUE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); |
119 } | 119 } |
120 | 120 |
121 // OAuth2 section should be parsed for a packaged app. | 121 // OAuth2 section should be parsed for a packaged app. |
122 { | 122 { |
123 base::DictionaryValue app_manifest; | 123 base::DictionaryValue app_manifest; |
124 app_manifest.SetString(keys::kLaunchLocalPath, "launch.html"); | 124 app_manifest.SetString(keys::kLaunchLocalPath, "launch.html"); |
125 app_manifest.MergeDictionary(&base_manifest); | 125 app_manifest.MergeDictionary(&base_manifest); |
126 | 126 |
127 Manifest manifest(&app_manifest, "test"); | 127 ManifestData manifest(&app_manifest, "test"); |
128 scoped_refptr<extensions::Extension> extension = | 128 scoped_refptr<extensions::Extension> extension = |
129 LoadAndExpectSuccess(manifest); | 129 LoadAndExpectSuccess(manifest); |
130 EXPECT_TRUE(extension->install_warnings().empty()); | 130 EXPECT_TRUE(extension->install_warnings().empty()); |
131 EXPECT_EQ("client1", OAuth2Info::GetOAuth2Info(extension.get()).client_id); | 131 EXPECT_EQ("client1", OAuth2Info::GetOAuth2Info(extension.get()).client_id); |
132 EXPECT_EQ(2U, OAuth2Info::GetOAuth2Info(extension.get()).scopes.size()); | 132 EXPECT_EQ(2U, OAuth2Info::GetOAuth2Info(extension.get()).scopes.size()); |
133 EXPECT_EQ("scope1", OAuth2Info::GetOAuth2Info(extension.get()).scopes[0]); | 133 EXPECT_EQ("scope1", OAuth2Info::GetOAuth2Info(extension.get()).scopes[0]); |
134 EXPECT_EQ("scope2", OAuth2Info::GetOAuth2Info(extension.get()).scopes[1]); | 134 EXPECT_EQ("scope2", OAuth2Info::GetOAuth2Info(extension.get()).scopes[1]); |
135 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); | 135 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); |
136 } | 136 } |
137 | 137 |
138 // OAuth2 section should NOT be parsed for a hosted app. | 138 // OAuth2 section should NOT be parsed for a hosted app. |
139 { | 139 { |
140 base::DictionaryValue app_manifest; | 140 base::DictionaryValue app_manifest; |
141 app_manifest.SetString(keys::kLaunchWebURL, "http://www.google.com"); | 141 app_manifest.SetString(keys::kLaunchWebURL, "http://www.google.com"); |
142 app_manifest.MergeDictionary(&base_manifest); | 142 app_manifest.MergeDictionary(&base_manifest); |
143 | 143 |
144 Manifest manifest(&app_manifest, "test"); | 144 ManifestData manifest(&app_manifest, "test"); |
145 scoped_refptr<extensions::Extension> extension = | 145 scoped_refptr<extensions::Extension> extension = |
146 LoadAndExpectSuccess(manifest); | 146 LoadAndExpectSuccess(manifest); |
147 EXPECT_EQ(1U, extension->install_warnings().size()); | 147 EXPECT_EQ(1U, extension->install_warnings().size()); |
148 const extensions::InstallWarning& warning = | 148 const extensions::InstallWarning& warning = |
149 extension->install_warnings()[0]; | 149 extension->install_warnings()[0]; |
150 EXPECT_EQ("'oauth2' is only allowed for extensions, legacy packaged apps, " | 150 EXPECT_EQ("'oauth2' is only allowed for extensions, legacy packaged apps, " |
151 "and packaged apps, but this is a hosted app.", | 151 "and packaged apps, but this is a hosted app.", |
152 warning.message); | 152 warning.message); |
153 EXPECT_EQ("", OAuth2Info::GetOAuth2Info(extension.get()).client_id); | 153 EXPECT_EQ("", OAuth2Info::GetOAuth2Info(extension.get()).client_id); |
154 EXPECT_TRUE(OAuth2Info::GetOAuth2Info(extension.get()).scopes.empty()); | 154 EXPECT_TRUE(OAuth2Info::GetOAuth2Info(extension.get()).scopes.empty()); |
155 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); | 155 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); |
156 } | 156 } |
157 } | 157 } |
158 | 158 |
159 TEST_F(OAuth2ManifestTest, AutoApproveNotSetExtensionNotOnWhitelist) { | 159 TEST_F(OAuth2ManifestTest, AutoApproveNotSetExtensionNotOnWhitelist) { |
160 base::DictionaryValue* ext_manifest = | 160 base::DictionaryValue* ext_manifest = |
161 CreateManifest(AUTO_APPROVE_NOT_SET, false, CLIENT_ID_DEFAULT); | 161 CreateManifest(AUTO_APPROVE_NOT_SET, false, CLIENT_ID_DEFAULT); |
162 Manifest manifest(ext_manifest, "test"); | 162 ManifestData manifest(ext_manifest, "test"); |
163 scoped_refptr<extensions::Extension> extension = | 163 scoped_refptr<extensions::Extension> extension = |
164 LoadAndExpectSuccess(manifest); | 164 LoadAndExpectSuccess(manifest); |
165 EXPECT_TRUE(extension->install_warnings().empty()); | 165 EXPECT_TRUE(extension->install_warnings().empty()); |
166 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); | 166 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); |
167 } | 167 } |
168 | 168 |
169 TEST_F(OAuth2ManifestTest, AutoApproveFalseExtensionNotOnWhitelist) { | 169 TEST_F(OAuth2ManifestTest, AutoApproveFalseExtensionNotOnWhitelist) { |
170 base::DictionaryValue* ext_manifest = | 170 base::DictionaryValue* ext_manifest = |
171 CreateManifest(AUTO_APPROVE_FALSE, false, CLIENT_ID_DEFAULT); | 171 CreateManifest(AUTO_APPROVE_FALSE, false, CLIENT_ID_DEFAULT); |
172 Manifest manifest(ext_manifest, "test"); | 172 ManifestData manifest(ext_manifest, "test"); |
173 scoped_refptr<extensions::Extension> extension = | 173 scoped_refptr<extensions::Extension> extension = |
174 LoadAndExpectSuccess(manifest); | 174 LoadAndExpectSuccess(manifest); |
175 EXPECT_EQ(1U, extension->install_warnings().size()); | 175 EXPECT_EQ(1U, extension->install_warnings().size()); |
176 const extensions::InstallWarning& warning = | 176 const extensions::InstallWarning& warning = |
177 extension->install_warnings()[0]; | 177 extension->install_warnings()[0]; |
178 EXPECT_EQ(kAutoApproveNotAllowedWarning, warning.message); | 178 EXPECT_EQ(kAutoApproveNotAllowedWarning, warning.message); |
179 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); | 179 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); |
180 } | 180 } |
181 | 181 |
182 TEST_F(OAuth2ManifestTest, AutoApproveTrueExtensionNotOnWhitelist) { | 182 TEST_F(OAuth2ManifestTest, AutoApproveTrueExtensionNotOnWhitelist) { |
183 base::DictionaryValue* ext_manifest = | 183 base::DictionaryValue* ext_manifest = |
184 CreateManifest(AUTO_APPROVE_TRUE, false, CLIENT_ID_DEFAULT); | 184 CreateManifest(AUTO_APPROVE_TRUE, false, CLIENT_ID_DEFAULT); |
185 Manifest manifest(ext_manifest, "test"); | 185 ManifestData manifest(ext_manifest, "test"); |
186 scoped_refptr<extensions::Extension> extension = | 186 scoped_refptr<extensions::Extension> extension = |
187 LoadAndExpectSuccess(manifest); | 187 LoadAndExpectSuccess(manifest); |
188 EXPECT_EQ(1U, extension->install_warnings().size()); | 188 EXPECT_EQ(1U, extension->install_warnings().size()); |
189 const extensions::InstallWarning& warning = | 189 const extensions::InstallWarning& warning = |
190 extension->install_warnings()[0]; | 190 extension->install_warnings()[0]; |
191 EXPECT_EQ(kAutoApproveNotAllowedWarning, warning.message); | 191 EXPECT_EQ(kAutoApproveNotAllowedWarning, warning.message); |
192 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); | 192 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); |
193 } | 193 } |
194 | 194 |
195 TEST_F(OAuth2ManifestTest, AutoApproveInvalidExtensionNotOnWhitelist) { | 195 TEST_F(OAuth2ManifestTest, AutoApproveInvalidExtensionNotOnWhitelist) { |
196 base::DictionaryValue* ext_manifest = | 196 base::DictionaryValue* ext_manifest = |
197 CreateManifest(AUTO_APPROVE_INVALID, false, CLIENT_ID_DEFAULT); | 197 CreateManifest(AUTO_APPROVE_INVALID, false, CLIENT_ID_DEFAULT); |
198 Manifest manifest(ext_manifest, "test"); | 198 ManifestData manifest(ext_manifest, "test"); |
199 scoped_refptr<extensions::Extension> extension = | 199 scoped_refptr<extensions::Extension> extension = |
200 LoadAndExpectSuccess(manifest); | 200 LoadAndExpectSuccess(manifest); |
201 EXPECT_EQ(1U, extension->install_warnings().size()); | 201 EXPECT_EQ(1U, extension->install_warnings().size()); |
202 const extensions::InstallWarning& warning = | 202 const extensions::InstallWarning& warning = |
203 extension->install_warnings()[0]; | 203 extension->install_warnings()[0]; |
204 EXPECT_EQ(kAutoApproveNotAllowedWarning, warning.message); | 204 EXPECT_EQ(kAutoApproveNotAllowedWarning, warning.message); |
205 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); | 205 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); |
206 } | 206 } |
207 | 207 |
208 TEST_F(OAuth2ManifestTest, AutoApproveNotSetExtensionOnWhitelist) { | 208 TEST_F(OAuth2ManifestTest, AutoApproveNotSetExtensionOnWhitelist) { |
209 base::DictionaryValue* ext_manifest = | 209 base::DictionaryValue* ext_manifest = |
210 CreateManifest(AUTO_APPROVE_NOT_SET, true, CLIENT_ID_DEFAULT); | 210 CreateManifest(AUTO_APPROVE_NOT_SET, true, CLIENT_ID_DEFAULT); |
211 Manifest manifest(ext_manifest, "test"); | 211 ManifestData manifest(ext_manifest, "test"); |
212 scoped_refptr<extensions::Extension> extension = | 212 scoped_refptr<extensions::Extension> extension = |
213 LoadAndExpectSuccess(manifest); | 213 LoadAndExpectSuccess(manifest); |
214 EXPECT_TRUE(extension->install_warnings().empty()); | 214 EXPECT_TRUE(extension->install_warnings().empty()); |
215 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); | 215 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); |
216 } | 216 } |
217 | 217 |
218 TEST_F(OAuth2ManifestTest, AutoApproveFalseExtensionOnWhitelist) { | 218 TEST_F(OAuth2ManifestTest, AutoApproveFalseExtensionOnWhitelist) { |
219 base::DictionaryValue* ext_manifest = | 219 base::DictionaryValue* ext_manifest = |
220 CreateManifest(AUTO_APPROVE_FALSE, true, CLIENT_ID_DEFAULT); | 220 CreateManifest(AUTO_APPROVE_FALSE, true, CLIENT_ID_DEFAULT); |
221 Manifest manifest(ext_manifest, "test"); | 221 ManifestData manifest(ext_manifest, "test"); |
222 scoped_refptr<extensions::Extension> extension = | 222 scoped_refptr<extensions::Extension> extension = |
223 LoadAndExpectSuccess(manifest); | 223 LoadAndExpectSuccess(manifest); |
224 EXPECT_TRUE(extension->install_warnings().empty()); | 224 EXPECT_TRUE(extension->install_warnings().empty()); |
225 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); | 225 EXPECT_FALSE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); |
226 } | 226 } |
227 | 227 |
228 TEST_F(OAuth2ManifestTest, AutoApproveTrueExtensionOnWhitelist) { | 228 TEST_F(OAuth2ManifestTest, AutoApproveTrueExtensionOnWhitelist) { |
229 base::DictionaryValue* ext_manifest = | 229 base::DictionaryValue* ext_manifest = |
230 CreateManifest(AUTO_APPROVE_TRUE, true, CLIENT_ID_DEFAULT); | 230 CreateManifest(AUTO_APPROVE_TRUE, true, CLIENT_ID_DEFAULT); |
231 Manifest manifest(ext_manifest, "test"); | 231 ManifestData manifest(ext_manifest, "test"); |
232 scoped_refptr<extensions::Extension> extension = | 232 scoped_refptr<extensions::Extension> extension = |
233 LoadAndExpectSuccess(manifest); | 233 LoadAndExpectSuccess(manifest); |
234 EXPECT_TRUE(extension->install_warnings().empty()); | 234 EXPECT_TRUE(extension->install_warnings().empty()); |
235 EXPECT_TRUE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); | 235 EXPECT_TRUE(OAuth2Info::GetOAuth2Info(extension.get()).auto_approve); |
236 } | 236 } |
237 | 237 |
238 TEST_F(OAuth2ManifestTest, AutoApproveInvalidExtensionOnWhitelist) { | 238 TEST_F(OAuth2ManifestTest, AutoApproveInvalidExtensionOnWhitelist) { |
239 base::DictionaryValue* ext_manifest = | 239 base::DictionaryValue* ext_manifest = |
240 CreateManifest(AUTO_APPROVE_INVALID, true, CLIENT_ID_DEFAULT); | 240 CreateManifest(AUTO_APPROVE_INVALID, true, CLIENT_ID_DEFAULT); |
241 Manifest manifest(ext_manifest, "test"); | 241 ManifestData manifest(ext_manifest, "test"); |
242 std::string error; | 242 std::string error; |
243 scoped_refptr<extensions::Extension> extension = | 243 scoped_refptr<extensions::Extension> extension = |
244 LoadExtension(manifest, &error); | 244 LoadExtension(manifest, &error); |
245 EXPECT_EQ( | 245 EXPECT_EQ( |
246 "Invalid value for 'oauth2.auto_approve'. Value must be true or false.", | 246 "Invalid value for 'oauth2.auto_approve'. Value must be true or false.", |
247 error); | 247 error); |
248 } | 248 } |
249 | 249 |
250 TEST_F(OAuth2ManifestTest, InvalidClientId) { | 250 TEST_F(OAuth2ManifestTest, InvalidClientId) { |
251 { | 251 { |
252 base::DictionaryValue* ext_manifest = | 252 base::DictionaryValue* ext_manifest = |
253 CreateManifest(AUTO_APPROVE_NOT_SET, false, CLIENT_ID_NOT_SET); | 253 CreateManifest(AUTO_APPROVE_NOT_SET, false, CLIENT_ID_NOT_SET); |
254 Manifest manifest(ext_manifest, "test"); | 254 ManifestData manifest(ext_manifest, "test"); |
255 std::string error; | 255 std::string error; |
256 LoadAndExpectError(manifest, errors::kInvalidOAuth2ClientId); | 256 LoadAndExpectError(manifest, errors::kInvalidOAuth2ClientId); |
257 } | 257 } |
258 | 258 |
259 { | 259 { |
260 base::DictionaryValue* ext_manifest = | 260 base::DictionaryValue* ext_manifest = |
261 CreateManifest(AUTO_APPROVE_NOT_SET, false, CLIENT_ID_EMPTY); | 261 CreateManifest(AUTO_APPROVE_NOT_SET, false, CLIENT_ID_EMPTY); |
262 Manifest manifest(ext_manifest, "test"); | 262 ManifestData manifest(ext_manifest, "test"); |
263 std::string error; | 263 std::string error; |
264 LoadAndExpectError(manifest, errors::kInvalidOAuth2ClientId); | 264 LoadAndExpectError(manifest, errors::kInvalidOAuth2ClientId); |
265 } | 265 } |
266 } | 266 } |
267 | 267 |
268 TEST_F(OAuth2ManifestTest, ComponentInvalidClientId) { | 268 TEST_F(OAuth2ManifestTest, ComponentInvalidClientId) { |
269 // Component Apps without auto_approve must include a client ID. | 269 // Component Apps without auto_approve must include a client ID. |
270 { | 270 { |
271 base::DictionaryValue* ext_manifest = | 271 base::DictionaryValue* ext_manifest = |
272 CreateManifest(AUTO_APPROVE_NOT_SET, false, CLIENT_ID_NOT_SET); | 272 CreateManifest(AUTO_APPROVE_NOT_SET, false, CLIENT_ID_NOT_SET); |
273 Manifest manifest(ext_manifest, "test"); | 273 ManifestData manifest(ext_manifest, "test"); |
274 std::string error; | 274 std::string error; |
275 LoadAndExpectError(manifest, | 275 LoadAndExpectError(manifest, |
276 errors::kInvalidOAuth2ClientId, | 276 errors::kInvalidOAuth2ClientId, |
277 extensions::Manifest::COMPONENT); | 277 extensions::Manifest::COMPONENT); |
278 } | 278 } |
279 | 279 |
280 { | 280 { |
281 base::DictionaryValue* ext_manifest = | 281 base::DictionaryValue* ext_manifest = |
282 CreateManifest(AUTO_APPROVE_NOT_SET, false, CLIENT_ID_EMPTY); | 282 CreateManifest(AUTO_APPROVE_NOT_SET, false, CLIENT_ID_EMPTY); |
283 Manifest manifest(ext_manifest, "test"); | 283 ManifestData manifest(ext_manifest, "test"); |
284 std::string error; | 284 std::string error; |
285 LoadAndExpectError(manifest, | 285 LoadAndExpectError(manifest, |
286 errors::kInvalidOAuth2ClientId, | 286 errors::kInvalidOAuth2ClientId, |
287 extensions::Manifest::COMPONENT); | 287 extensions::Manifest::COMPONENT); |
288 } | 288 } |
289 } | 289 } |
290 | 290 |
291 TEST_F(OAuth2ManifestTest, ComponentWithChromeClientId) { | 291 TEST_F(OAuth2ManifestTest, ComponentWithChromeClientId) { |
292 { | 292 { |
293 base::DictionaryValue* ext_manifest = | 293 base::DictionaryValue* ext_manifest = |
294 CreateManifest(AUTO_APPROVE_TRUE, true, CLIENT_ID_NOT_SET); | 294 CreateManifest(AUTO_APPROVE_TRUE, true, CLIENT_ID_NOT_SET); |
295 Manifest manifest(ext_manifest, "test"); | 295 ManifestData manifest(ext_manifest, "test"); |
296 scoped_refptr<extensions::Extension> extension = | 296 scoped_refptr<extensions::Extension> extension = |
297 LoadAndExpectSuccess(manifest, extensions::Manifest::COMPONENT); | 297 LoadAndExpectSuccess(manifest, extensions::Manifest::COMPONENT); |
298 EXPECT_TRUE(OAuth2Info::GetOAuth2Info(extension.get()).client_id.empty()); | 298 EXPECT_TRUE(OAuth2Info::GetOAuth2Info(extension.get()).client_id.empty()); |
299 | 299 |
300 } | 300 } |
301 | 301 |
302 { | 302 { |
303 base::DictionaryValue* ext_manifest = | 303 base::DictionaryValue* ext_manifest = |
304 CreateManifest(AUTO_APPROVE_TRUE, true, CLIENT_ID_EMPTY); | 304 CreateManifest(AUTO_APPROVE_TRUE, true, CLIENT_ID_EMPTY); |
305 Manifest manifest(ext_manifest, "test"); | 305 ManifestData manifest(ext_manifest, "test"); |
306 scoped_refptr<extensions::Extension> extension = | 306 scoped_refptr<extensions::Extension> extension = |
307 LoadAndExpectSuccess(manifest, extensions::Manifest::COMPONENT); | 307 LoadAndExpectSuccess(manifest, extensions::Manifest::COMPONENT); |
308 EXPECT_TRUE(OAuth2Info::GetOAuth2Info(extension.get()).client_id.empty()); | 308 EXPECT_TRUE(OAuth2Info::GetOAuth2Info(extension.get()).client_id.empty()); |
309 | 309 |
310 } | 310 } |
311 } | 311 } |
312 | 312 |
313 TEST_F(OAuth2ManifestTest, ComponentWithStandardClientId) { | 313 TEST_F(OAuth2ManifestTest, ComponentWithStandardClientId) { |
314 base::DictionaryValue* ext_manifest = | 314 base::DictionaryValue* ext_manifest = |
315 CreateManifest(AUTO_APPROVE_TRUE, true, CLIENT_ID_DEFAULT); | 315 CreateManifest(AUTO_APPROVE_TRUE, true, CLIENT_ID_DEFAULT); |
316 Manifest manifest(ext_manifest, "test"); | 316 ManifestData manifest(ext_manifest, "test"); |
317 scoped_refptr<extensions::Extension> extension = | 317 scoped_refptr<extensions::Extension> extension = |
318 LoadAndExpectSuccess(manifest, extensions::Manifest::COMPONENT); | 318 LoadAndExpectSuccess(manifest, extensions::Manifest::COMPONENT); |
319 EXPECT_EQ("client1", OAuth2Info::GetOAuth2Info(extension.get()).client_id); | 319 EXPECT_EQ("client1", OAuth2Info::GetOAuth2Info(extension.get()).client_id); |
320 } | 320 } |
321 | 321 |
322 } // namespace extensions | 322 } // namespace extensions |
OLD | NEW |