Files
kami-parse-server/spec/TwitterAuth.spec.js
Benjamin Wilson Friedman e01b417d3f Added exception for Twitter and OAuth missing options (#3676)
* Added exception for Twitter and OAuth missing configuration information

* Updated error codes to INTERNAL_SERVER_ERROR, code 1
2017-03-28 18:16:47 -04:00

65 lines
1.6 KiB
JavaScript

const twitter = require('../src/Adapters/Auth/twitter');
describe('Twitter Auth', () => {
it('should use the proper configuration', () => {
// Multiple options, consumer_key found
expect(twitter.handleMultipleConfigurations({
consumer_key: 'hello',
}, [{
consumer_key: 'hello'
}, {
consumer_key: 'world'
}]).consumer_key).toEqual('hello');
// Multiple options, consumer_key not found
expect(function(){
twitter.handleMultipleConfigurations({
consumer_key: 'some',
}, [{
consumer_key: 'hello'
}, {
consumer_key: 'world'
}]);
}).toThrow();
// Multiple options, consumer_key not found
expect(function(){
twitter.handleMultipleConfigurations({
auth_token: 'token',
}, [{
consumer_key: 'hello'
}, {
consumer_key: 'world'
}]);
}).toThrow();
// Single configuration and consumer_key set
expect(twitter.handleMultipleConfigurations({
consumer_key: 'hello',
}, {
consumer_key: 'hello'
}).consumer_key).toEqual('hello');
// General case, only 1 config, no consumer_key set
expect(twitter.handleMultipleConfigurations({
auth_token: 'token',
}, {
consumer_key: 'hello'
}).consumer_key).toEqual('hello');
});
it("Should fail with missing options", (done) => {
try {
twitter.validateAuthData({
consumer_key: 'key',
consumer_secret: 'secret',
auth_token: 'token',
auth_token_secret: 'secret'
}, undefined);
} catch (error) {
jequal(error.message, 'Twitter auth configuration missing');
done();
}
});
});