Refactor all auth adapters to reduce duplications (#4954)

* Refactor all auth adapters to reduce duplications

* Adds mocking and proper testing for all auth adapters

* Proper testing of the google auth adapter

* noit
This commit is contained in:
Florent Vilmart
2018-08-12 11:05:28 -04:00
committed by GitHub
parent f1b008388c
commit b9673da07b
16 changed files with 214 additions and 320 deletions

View File

@@ -1,5 +1,5 @@
// Helper functions for accessing the weibo Graph API.
var https = require('https');
var httpsRequest = require('./httpsRequest');
var Parse = require('parse/node').Parse;
var querystring = require('querystring');
@@ -20,42 +20,19 @@ function validateAppId() {
// A promisey wrapper for weibo graph requests.
function graphRequest(access_token) {
return new Promise(function (resolve, reject) {
var postData = querystring.stringify({
"access_token":access_token
});
var options = {
hostname: 'api.weibo.com',
path: '/oauth2/get_token_info',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(postData)
}
};
var req = https.request(options, function(res){
var data = '';
res.on('data', function (chunk) {
data += chunk;
});
res.on('end', function () {
try {
data = JSON.parse(data);
} catch(e) {
return reject(e);
}
resolve(data);
});
res.on('error', function () {
reject('Failed to validate this access token with weibo.');
});
});
req.on('error', function () {
reject('Failed to validate this access token with weibo.');
});
req.write(postData);
req.end();
var postData = querystring.stringify({
"access_token": access_token
});
var options = {
hostname: 'api.weibo.com',
path: '/oauth2/get_token_info',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(postData)
}
};
return httpsRequest.request(options, postData);
}
module.exports = {