|
1 | 1 | /* |
2 | 2 | * Copyright (C) 2014 TopCoder Inc., All Rights Reserved. |
3 | 3 | * |
4 | | - * @version 1.1 |
| 4 | + * @version 1.2 |
5 | 5 | * @author Sky_ |
6 | 6 | * changes in 1.1: |
7 | 7 | * - add tests for Create Token api |
| 8 | + * changes in 1.2: |
| 9 | + * - Update tests to support isWebArenaSuper field. |
8 | 10 | */ |
9 | 11 | "use strict"; |
10 | 12 | /*global describe, it, before, beforeEach, after, afterEach */ |
@@ -43,9 +45,10 @@ describe('Test Oauth', function () { |
43 | 45 | adminSubSalesforce = "salesforce-oauth|sf123456", |
44 | 46 | userSubAD = "ad|400000", |
45 | 47 | adminSubAD = "ad|400001", |
46 | | - notFoundSub = "google-oauth|458965118758"; |
47 | | - var jwtToken = ""; |
48 | | - var jwtTokenCookieKey = process.env.JWT_TOKEN_COOKIE_KEY; |
| 48 | + webArenaSuper = "ad|124861", |
| 49 | + notFoundSub = "google-oauth|458965118758", |
| 50 | + jwtToken = "", |
| 51 | + jwtTokenCookieKey = process.env.JWT_TOKEN_COOKIE_KEY; |
49 | 52 |
|
50 | 53 |
|
51 | 54 | /** |
@@ -217,121 +220,129 @@ describe('Test Oauth', function () { |
217 | 220 | */ |
218 | 221 | it('should be authorized as member (google)', function (done) { |
219 | 222 | var oauth = generateAuthHeader({ sub: userSubGoogle }); |
220 | | - assertResponse({accessLevel: "member", userId: 400000, handle: "normal_user"}, oauth, done); |
| 223 | + assertResponse({accessLevel: "member", userId: 400000, handle: "normal_user", isWebArenaSuper: false }, oauth, done); |
221 | 224 | }); |
222 | 225 |
|
223 | 226 | /** |
224 | 227 | * /test/oauth/ with header |
225 | 228 | */ |
226 | 229 | it('should be authorized as member (facebook)', function (done) { |
227 | 230 | var oauth = generateAuthHeader({ sub: userSubFacebook }); |
228 | | - assertResponse({accessLevel: "member", userId: 400000, handle: "normal_user"}, oauth, done); |
| 231 | + assertResponse({accessLevel: "member", userId: 400000, handle: "normal_user", isWebArenaSuper: false }, oauth, done); |
229 | 232 | }); |
230 | 233 |
|
231 | 234 | /** |
232 | 235 | * /test/oauth/ with header |
233 | 236 | */ |
234 | 237 | it('should be authorized as member (twitter)', function (done) { |
235 | 238 | var oauth = generateAuthHeader({ sub: userSubTwitter }); |
236 | | - assertResponse({accessLevel: "member", userId: 400000, handle: "normal_user"}, oauth, done); |
| 239 | + assertResponse({accessLevel: "member", userId: 400000, handle: "normal_user", isWebArenaSuper: false }, oauth, done); |
237 | 240 | }); |
238 | 241 |
|
239 | 242 | /** |
240 | 243 | * /test/oauth/ with header |
241 | 244 | */ |
242 | 245 | it('should be authorized as member (github)', function (done) { |
243 | 246 | var oauth = generateAuthHeader({ sub: userSubGithub }); |
244 | | - assertResponse({accessLevel: "member", userId: 400000, handle: "normal_user"}, oauth, done); |
| 247 | + assertResponse({accessLevel: "member", userId: 400000, handle: "normal_user", isWebArenaSuper: false }, oauth, done); |
245 | 248 | }); |
246 | 249 |
|
247 | 250 | /** |
248 | 251 | * /test/oauth/ with header |
249 | 252 | */ |
250 | 253 | it('should be authorized as member (salesforce)', function (done) { |
251 | 254 | var oauth = generateAuthHeader({ sub: userSubSalesforce }); |
252 | | - assertResponse({accessLevel: "member", userId: 400000, handle: "normal_user"}, oauth, done); |
| 255 | + assertResponse({accessLevel: "member", userId: 400000, handle: "normal_user", isWebArenaSuper: false }, oauth, done); |
253 | 256 | }); |
254 | 257 |
|
255 | 258 | /** |
256 | 259 | * /test/oauth/ with header |
257 | 260 | */ |
258 | 261 | it('should be authorized as member (ad)', function (done) { |
259 | 262 | var oauth = generateAuthHeader({ sub: userSubAD}); |
260 | | - assertResponse({accessLevel: "member", userId: 400000, handle: "normal_user"}, oauth, done); |
| 263 | + assertResponse({accessLevel: "member", userId: 400000, handle: "normal_user", isWebArenaSuper: false }, oauth, done); |
261 | 264 | }); |
262 | 265 |
|
263 | 266 | /** |
264 | 267 | * /test/oauth/ with header |
265 | 268 | */ |
266 | 269 | it('should be authorized as admin (google)', function (done) { |
267 | 270 | var oauth = generateAuthHeader({ sub: adminSubGoogle}); |
268 | | - assertResponse({accessLevel: "admin", userId: 400001, handle: "admin_user"}, oauth, done); |
| 271 | + assertResponse({accessLevel: "admin", userId: 400001, handle: "admin_user", isWebArenaSuper: false }, oauth, done); |
269 | 272 | }); |
270 | 273 |
|
271 | 274 | /** |
272 | 275 | * /test/oauth/ with header |
273 | 276 | */ |
274 | 277 | it('should be authorized as admin (facebook)', function (done) { |
275 | 278 | var oauth = generateAuthHeader({ sub: adminSubFacebook}); |
276 | | - assertResponse({accessLevel: "admin", userId: 400001, handle: "admin_user"}, oauth, done); |
| 279 | + assertResponse({accessLevel: "admin", userId: 400001, handle: "admin_user", isWebArenaSuper: false }, oauth, done); |
277 | 280 | }); |
278 | 281 |
|
279 | 282 | /** |
280 | 283 | * /test/oauth/ with header |
281 | 284 | */ |
282 | 285 | it('should be authorized as admin (twitter)', function (done) { |
283 | 286 | var oauth = generateAuthHeader({ sub: adminSubTwitter}); |
284 | | - assertResponse({accessLevel: "admin", userId: 400001, handle: "admin_user"}, oauth, done); |
| 287 | + assertResponse({accessLevel: "admin", userId: 400001, handle: "admin_user", isWebArenaSuper: false }, oauth, done); |
285 | 288 | }); |
286 | 289 |
|
287 | 290 | /** |
288 | 291 | * /test/oauth/ with header |
289 | 292 | */ |
290 | 293 | it('should be authorized as admin (github)', function (done) { |
291 | 294 | var oauth = generateAuthHeader({ sub: adminSubGithub}); |
292 | | - assertResponse({accessLevel: "admin", userId: 400001, handle: "admin_user"}, oauth, done); |
| 295 | + assertResponse({accessLevel: "admin", userId: 400001, handle: "admin_user", isWebArenaSuper: false }, oauth, done); |
293 | 296 | }); |
294 | 297 |
|
295 | 298 | /** |
296 | 299 | * /test/oauth/ with header |
297 | 300 | */ |
298 | 301 | it('should be authorized as admin (salesforce)', function (done) { |
299 | 302 | var oauth = generateAuthHeader({ sub: adminSubSalesforce}); |
300 | | - assertResponse({accessLevel: "admin", userId: 400001, handle: "admin_user"}, oauth, done); |
| 303 | + assertResponse({accessLevel: "admin", userId: 400001, handle: "admin_user", isWebArenaSuper: false }, oauth, done); |
301 | 304 | }); |
302 | 305 |
|
303 | 306 | /** |
304 | 307 | * /test/oauth/ with header |
305 | 308 | */ |
306 | 309 | it('should be authorized as admin (ad)', function (done) { |
307 | 310 | var oauth = generateAuthHeader({ sub: adminSubAD}); |
308 | | - assertResponse({accessLevel: "admin", userId: 400001, handle: "admin_user"}, oauth, done); |
| 311 | + assertResponse({accessLevel: "admin", userId: 400001, handle: "admin_user", isWebArenaSuper: false }, oauth, done); |
| 312 | + }); |
| 313 | + |
| 314 | + /** |
| 315 | + * /test/oauth/ with web arena super user. |
| 316 | + */ |
| 317 | + it('should be authorized as member and web arena super', function (done) { |
| 318 | + var oauth = generateAuthHeader({ sub: webArenaSuper}); |
| 319 | + assertResponse({accessLevel: "member", userId: 124861, handle: "ksmith", isWebArenaSuper: true }, oauth, done); |
309 | 320 | }); |
310 | 321 |
|
311 | 322 | /** |
312 | 323 | * /test/oauth/ with header and cookie |
313 | 324 | */ |
314 | 325 | it('should be authorized as admin (ad) with both header and cookie', function (done) { |
315 | | - var authHeader = generateAuthHeader({ sub: adminSubAD}); |
316 | | - var authCookie = generateAuthCookie({ sub: adminSubAD}); |
317 | | - assertResponseWithCookie({accessLevel: "admin", userId: 400001, handle: "admin_user"}, authHeader, authCookie, done); |
| 326 | + var authHeader = generateAuthHeader({ sub: adminSubAD}), |
| 327 | + authCookie = generateAuthCookie({ sub: adminSubAD}); |
| 328 | + assertResponseWithCookie({accessLevel: "admin", userId: 400001, handle: "admin_user", isWebArenaSuper: false }, authHeader, authCookie, done); |
318 | 329 | }); |
319 | 330 |
|
320 | 331 | /** |
321 | 332 | * /test/oauth/ with header and cookie |
322 | 333 | */ |
323 | 334 | it('should be authorized as admin (ad) with header but invalid cookie', function (done) { |
324 | | - var authHeader = generateAuthHeader({ sub: adminSubAD}); |
325 | | - var authCookie = jwtTokenCookieKey + "=asd"; |
326 | | - assertResponseWithCookie({accessLevel: "admin", userId: 400001, handle: "admin_user"}, authHeader, authCookie, done); |
| 335 | + var authHeader = generateAuthHeader({ sub: adminSubAD}), |
| 336 | + authCookie = jwtTokenCookieKey + "=asd"; |
| 337 | + assertResponseWithCookie({accessLevel: "admin", userId: 400001, handle: "admin_user", isWebArenaSuper: false }, authHeader, authCookie, done); |
327 | 338 | }); |
328 | 339 |
|
329 | 340 | /** |
330 | 341 | * /test/oauth/ without header but with cookie |
331 | 342 | */ |
332 | 343 | it('should be authorized as admin (ad) without header but with cookie', function (done) { |
333 | 344 | var authCookie = generateAuthCookie({ sub: adminSubAD}); |
334 | | - assertResponseWithCookie({accessLevel: "admin", userId: 400001, handle: "admin_user"}, null, authCookie, done); |
| 345 | + assertResponseWithCookie({accessLevel: "admin", userId: 400001, handle: "admin_user", isWebArenaSuper: false }, null, authCookie, done); |
335 | 346 | }); |
336 | 347 |
|
337 | 348 | /** |
@@ -370,8 +381,8 @@ describe('Test Oauth', function () { |
370 | 381 | * /test/oauth/ with invalid header but valid cookie |
371 | 382 | */ |
372 | 383 | it('should return error if header is invalid but cookie is valid', function (done) { |
373 | | - var authHeader = generateAuthHeader({ sub: userSubGoogle}); |
374 | | - var authCookie = generateAuthCookie({ sub: userSubGoogle}); |
| 384 | + var authHeader = generateAuthHeader({ sub: userSubGoogle}), |
| 385 | + authCookie = generateAuthCookie({ sub: userSubGoogle}); |
375 | 386 | assertErrorResponseWithCookie(400, authHeader + "asd", authCookie, "Malformed Auth header", done); |
376 | 387 | }); |
377 | 388 |
|
@@ -460,7 +471,7 @@ describe('Test Oauth', function () { |
460 | 471 | */ |
461 | 472 | it('should be authorized as member (salesforce) - cache version', function (done) { |
462 | 473 | var oauth = generateAuthHeader({ sub: userSubSalesforce }), |
463 | | - response = {accessLevel: "member", userId: 400000, handle: "normal_user"}, |
| 474 | + response = {accessLevel: "member", userId: 400000, handle: "normal_user", isWebArenaSuper: false}, |
464 | 475 | fun = assertResponse.bind(this, response, oauth); |
465 | 476 | async.waterfall([ |
466 | 477 | fun, |
@@ -506,7 +517,7 @@ describe('Test Oauth', function () { |
506 | 517 | .end(done); |
507 | 518 | }); |
508 | 519 | }); |
509 | | - |
| 520 | + |
510 | 521 | describe("Refresh Token api", function () { |
511 | 522 |
|
512 | 523 | /** |
|
0 commit comments