Merge branch 'hotfix/21.56.9' into master
[gitter.git] / modules / oauth / test / internal-client-access-only-test.js
blobbf331278fa9628c234cf5dc31e76e2f1bf18f577
1 'use strict';
3 const assert = require('assert');
4 const internalClientAccessOnly = require('../lib/internal-client-access-only');
6 describe('internal-client-access-only', () => {
7   const FIXTURES = [
8     {
9       name: 'null is not an internal client',
10       client: null,
11       result: false
12     },
13     {
14       name: 'invalid client is not an internal client',
15       client: {},
16       result: false
17     },
18     {
19       name: 'an arbitrary client is not internal client',
20       client: { clientKey: 'bob', canSkipAuthorization: false },
21       result: false
22     },
23     {
24       name: 'clients who canSkipAuthorization are internal',
25       client: { clientKey: 'bob', canSkipAuthorization: true },
26       result: true
27     },
28     {
29       name: 'web-internal is internal',
30       client: { clientKey: 'web-internal' },
31       result: true
32     }
33   ];
35   FIXTURES.forEach(function(meta) {
36     it(meta.name, function() {
37       var result = internalClientAccessOnly.isRequestFromInternalClient({
38         authInfo: {
39           client: meta.client
40         }
41       });
43       assert.strictEqual(result, meta.result);
44     });
45   });
46 });