lifen-postman/node_modules/node-oauth1/test/unit/getAuthorizationHeader.test.js
Simon Priet e69a613a37 feat: Created a mini nodeJS server with NewMan for testing without PostMan GUI.
This will mimic a run in a CD/CI environment or docker container.
2021-09-08 14:01:19 +02:00

78 lines
2.6 KiB
JavaScript

var expect = require('chai').expect,
oauth = require('../../index'),
encode = oauth.percentEncode,
getAuthHeader = oauth.getAuthorizationHeader;
describe('getAuthorizationHeader()', function () {
it('should include all oauth1 params', function () {
var key,
params = {
oauth_signature_method: 'PLAINTEXT',
oauth_consumer_key: 'foo',
oauth_token: 'bar',
oauth_nonce: 'baz',
oauth_timestamp: '1588771035',
oauth_version: '1.0',
oauth_callback: 'http://postman.com',
oauth_verifier: 'secret',
oauth_body_hash: 'xyz=',
oauth_signature: 'generatedSignature=='
},
authHeader = getAuthHeader(null, params);
for (key in params) {
expect(authHeader).to.include(`${key}="${encode(params[key])}"`);
}
});
it('should not encode params when disableParamsEncoding:true', function () {
var params = {
oauth_signature_method: 'PLAINTEXT',
oauth_consumer_key: 'foo',
oauth_token: 'bar',
oauth_nonce: 'baz',
oauth_timestamp: '1588771035',
oauth_version: '1.0',
oauth_callback: 'http://postman.com',
oauth_verifier: 'secret',
oauth_body_hash: 'xyz=',
oauth_signature: 'generatedSignature=='
},
key,
authHeader = getAuthHeader(null, params, true);
for (key in params) {
expect(authHeader).to.include(`${key}="${params[key]}"`);
}
});
it('should add relm if provided', function () {
var realm = 'postman',
params = {
oauth_signature_method: 'PLAINTEXT',
oauth_consumer_key: 'foo',
oauth_token: 'bar',
oauth_nonce: 'baz',
oauth_timestamp: '1588771035',
oauth_version: '1.0'
};
expect(getAuthHeader(realm, params)).to.include('realm="postman"');
});
it('should not include non-oauth1 params', function () {
var realm = 'postman',
params = {
oauth_signature_method: 'PLAINTEXT',
oauth_consumer_key: 'foo',
oauth_token: 'bar',
oauth_nonce: 'baz',
oauth_timestamp: '1588771035',
oauth_version: '1.0',
random: 'non-oauth1 param'
};
expect(getAuthHeader(realm, params)).to.not.include('random');
});
});