69 lines
2.3 KiB
JavaScript
69 lines
2.3 KiB
JavaScript
var test = require('tape'),
|
|
mockery = require('mockery'),
|
|
pathToObjectUnderTest = '../../lib',
|
|
fakeAuthorizeRequest = function(){},
|
|
fakeGetTokenData = function(){},
|
|
fakeGrantAccessToken = function(){},
|
|
fakeValidateAccessToken = function(){};
|
|
|
|
mockery.registerAllowables([pathToObjectUnderTest]);
|
|
|
|
function resetMocks(){
|
|
mockery.registerMock('./getOauthParameters', function(){});
|
|
mockery.registerMock('./authorizeRequest', fakeAuthorizeRequest);
|
|
mockery.registerMock('./getTokenData', fakeGetTokenData);
|
|
mockery.registerMock('./grantAccessToken', fakeGrantAccessToken);
|
|
mockery.registerMock('./validateAccessToken', fakeValidateAccessToken);
|
|
}
|
|
|
|
function getCleanTestObject(){
|
|
delete require.cache[require.resolve(pathToObjectUnderTest)];
|
|
mockery.enable({ useCleanCache: true, warnOnReplace: false });
|
|
var objectUnderTest = require(pathToObjectUnderTest);
|
|
mockery.disable();
|
|
resetMocks();
|
|
return objectUnderTest;
|
|
}
|
|
|
|
resetMocks();
|
|
|
|
test('lib Exists', function (t) {
|
|
t.plan(2);
|
|
var lib = getCleanTestObject();
|
|
t.ok(lib, 'lib Exists');
|
|
t.equal(typeof lib, 'object', 'lib is an object');
|
|
});
|
|
|
|
test('lib loads all methods and wraps in getOauthParameters', function (t) {
|
|
t.plan(8);
|
|
|
|
var methods = [
|
|
fakeAuthorizeRequest,
|
|
fakeGetTokenData,
|
|
fakeGrantAccessToken,
|
|
fakeValidateAccessToken
|
|
],
|
|
count= 0;
|
|
|
|
mockery.registerMock('./getOauthParameters', function(method){
|
|
t.equal(method, methods[count], 'called getOauthParameters ' + (count + 1) + ' time(s)');
|
|
count++;
|
|
return method;
|
|
});
|
|
|
|
|
|
var lib = getCleanTestObject();
|
|
|
|
t.equal(lib.authorizeRequest, fakeAuthorizeRequest, 'lib exposes authorizeRequest');
|
|
t.equal(lib.getTokenData, fakeGetTokenData, 'lib exposes getTokenData');
|
|
t.equal(lib.grantAccessToken, fakeGrantAccessToken, 'lib exposes grantAccessToken');
|
|
t.equal(lib.validateAccessToken, fakeValidateAccessToken, 'lib exposes validateAccessToken');
|
|
});
|
|
|
|
require('./authorizeRequest');
|
|
require('./errors');
|
|
require('./getOauthParameters');
|
|
require('./getTokenData');
|
|
require('./grantAccessToken');
|
|
require('./grantTypes');
|
|
require('./validateAccessToken'); |