Initial import from local backup (Documents-Playground/pakerpale)
This commit is contained in:
176
node_modules/simple-oauth-server/tests/lib/getOauthParameters.js
generated
vendored
Normal file
176
node_modules/simple-oauth-server/tests/lib/getOauthParameters.js
generated
vendored
Normal file
@@ -0,0 +1,176 @@
|
||||
var test = require('tape'),
|
||||
pathToObjectUnderTest = '../../lib/getOauthParameters',
|
||||
getOauthParameters = require(pathToObjectUnderTest);
|
||||
|
||||
test('getOauthParameters exists and returns a function', function(t){
|
||||
t.plan(4);
|
||||
|
||||
t.ok(getOauthParameters, 'getOauthParameters Exists');
|
||||
t.equal(typeof getOauthParameters, 'function', 'getOauthParameters is a function');
|
||||
|
||||
var resultingFunction = getOauthParameters();
|
||||
|
||||
t.ok(resultingFunction, 'resultingFunction Exists');
|
||||
t.equal(typeof resultingFunction, 'function', 'resultingFunction is a function');
|
||||
});
|
||||
|
||||
test('getOauthParameters gets all context data from request and query string', function(t){
|
||||
t.plan(3);
|
||||
|
||||
var authServer = {},
|
||||
endEvent,
|
||||
fakeRequest = {
|
||||
url: '/?meh=majigger&scope=qwe,asd',
|
||||
headers: {
|
||||
authorization: 'bearer 123456'
|
||||
},
|
||||
readable: true,
|
||||
on: function(event, callback){
|
||||
if(event === 'data'){
|
||||
setTimeout(function(){
|
||||
callback('foo=bar');
|
||||
callback('&stuff=thing');
|
||||
callback('&meh=ishouldntbehere');
|
||||
endEvent();
|
||||
}, 0);
|
||||
}
|
||||
|
||||
if(event === 'end'){
|
||||
endEvent = callback;
|
||||
}
|
||||
}
|
||||
},
|
||||
expectedContext = {
|
||||
foo: 'bar',
|
||||
stuff: 'thing',
|
||||
meh: 'majigger',
|
||||
access_token: '123456',
|
||||
scope: [
|
||||
'qwe',
|
||||
'asd'
|
||||
]
|
||||
},
|
||||
scopedVersion = getOauthParameters.bind(authServer, function(){
|
||||
t.deepEqual(arguments[0], expectedContext, 'got correct context');
|
||||
t.equal(arguments[1], 'foo', 'arguments[1] correct');
|
||||
t.equal(arguments[2], 'bar', 'arguments[2] correct');
|
||||
}),
|
||||
resultingFunction = scopedVersion();
|
||||
|
||||
resultingFunction(fakeRequest, 'foo', 'bar');
|
||||
});
|
||||
|
||||
test('getOauthParameters handels no data from request', function(t){
|
||||
t.plan(3);
|
||||
|
||||
var authServer = {},
|
||||
fakeRequest = {
|
||||
url: '/?meh=majigger&scope=qwe,asd',
|
||||
headers: {
|
||||
authorization: 'bearer 123456'
|
||||
},
|
||||
readable: true,
|
||||
on: function(event, callback){
|
||||
if(event === 'end'){
|
||||
callback();
|
||||
}
|
||||
}
|
||||
},
|
||||
expectedContext = {
|
||||
meh: 'majigger',
|
||||
access_token: '123456',
|
||||
scope: [
|
||||
'qwe',
|
||||
'asd'
|
||||
]
|
||||
},
|
||||
scopedVersion = getOauthParameters.bind(authServer, function(){
|
||||
t.deepEqual(arguments[0], expectedContext, 'got correct context');
|
||||
t.equal(arguments[1], 'foo', 'arguments[1] correct');
|
||||
t.equal(arguments[2], 'bar', 'arguments[2] correct');
|
||||
}),
|
||||
resultingFunction = scopedVersion();
|
||||
|
||||
resultingFunction(fakeRequest, 'foo', 'bar');
|
||||
});
|
||||
|
||||
test('getOauthParameters handels access_token in url', function(t){
|
||||
t.plan(3);
|
||||
|
||||
var authServer = {},
|
||||
fakeRequest = {
|
||||
url: '/?meh=majigger&scope=qwe,asd&access_token=123456',
|
||||
readable: false
|
||||
},
|
||||
expectedContext = {
|
||||
meh: 'majigger',
|
||||
access_token: '123456',
|
||||
scope: [
|
||||
'qwe',
|
||||
'asd'
|
||||
]
|
||||
},
|
||||
scopedVersion = getOauthParameters.bind(authServer, function(){
|
||||
t.deepEqual(arguments[0], expectedContext, 'got correct context');
|
||||
t.equal(arguments[1], 'foo', 'arguments[1] correct');
|
||||
t.equal(arguments[2], 'bar', 'arguments[2] correct');
|
||||
}),
|
||||
resultingFunction = scopedVersion();
|
||||
|
||||
resultingFunction(fakeRequest, 'foo', 'bar');
|
||||
});
|
||||
|
||||
|
||||
test('getOauthParameters gets all context data from request and query string', function(t){
|
||||
t.plan(1);
|
||||
|
||||
var authServer = {},
|
||||
endEvent,
|
||||
destroyed,
|
||||
fakeRequest = {
|
||||
url: '/?meh=majigger&scope=qwe,asd',
|
||||
headers: {
|
||||
authorization: 'bearer 123456'
|
||||
},
|
||||
|
||||
readable: true,
|
||||
on: function(event, callback){
|
||||
if(destroyed){
|
||||
return;
|
||||
}
|
||||
|
||||
if(event === 'data'){
|
||||
setTimeout(function(){
|
||||
for (var i = 0; i < 1e6 + 2; i++) {
|
||||
if(destroyed){
|
||||
break;
|
||||
}
|
||||
callback('1');
|
||||
}
|
||||
|
||||
endEvent();
|
||||
}, 0);
|
||||
}
|
||||
|
||||
if(event === 'end'){
|
||||
endEvent = function(){
|
||||
if(!destroyed){
|
||||
callback();
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
connection: {
|
||||
destroy: function() {
|
||||
t.pass('connection destroyed');
|
||||
destroyed = true;
|
||||
}
|
||||
}
|
||||
},
|
||||
scopedVersion = getOauthParameters.bind(authServer, function(){
|
||||
t.fail('should have destroyed connection');
|
||||
}),
|
||||
resultingFunction = scopedVersion();
|
||||
|
||||
resultingFunction(fakeRequest);
|
||||
});
|
||||
Reference in New Issue
Block a user