mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-03 23:00:14 -05:00
Wrapped doAuth
in local API utils
refs #9866 - we want to keep shared API helpers - the local utility just wraps this call and forwards the correct url - ability to override the behaviour completely
This commit is contained in:
parent
082410f6bb
commit
c94c08f750
19 changed files with 48 additions and 37 deletions
|
@ -22,7 +22,7 @@ describe('Authentication API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
|
|
@ -16,7 +16,7 @@ describe('Configuration API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
|
|
@ -24,7 +24,7 @@ describe('DB API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
|
|
@ -71,7 +71,7 @@ describe('Authorized API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
|
|
@ -16,7 +16,7 @@ describe('Notifications API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
|
|
@ -17,7 +17,7 @@ describe('Oembed API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(() => {
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then((token) => {
|
||||
accesstoken = token;
|
||||
|
|
|
@ -23,7 +23,7 @@ describe('Post API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request, 'users:extra', 'posts');
|
||||
return localUtils.doAuth(request, 'users:extra', 'posts');
|
||||
})
|
||||
.then(function (token) {
|
||||
ownerAccessToken = token;
|
||||
|
@ -1446,7 +1446,7 @@ describe('Post API', function () {
|
|||
})
|
||||
.then(function (_author) {
|
||||
request.user = author = _author;
|
||||
return testUtils.doAuth(request, 'posts');
|
||||
return localUtils.doAuth(request, 'posts');
|
||||
})
|
||||
.then(function (token) {
|
||||
authorAccessToken = token;
|
||||
|
@ -1586,7 +1586,7 @@ describe('Post API', function () {
|
|||
})
|
||||
.then(function (_contributor) {
|
||||
request.user = contributor = _contributor;
|
||||
return testUtils.doAuth(request, 'posts');
|
||||
return localUtils.doAuth(request, 'posts');
|
||||
})
|
||||
.then(function (token) {
|
||||
contributorAccessToken = token;
|
||||
|
|
|
@ -21,7 +21,7 @@ describe('Public API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request, 'users:no-owner', 'posts', 'tags:extra', 'client:trusted-domain');
|
||||
return localUtils.doAuth(request, 'users:no-owner', 'posts', 'tags:extra', 'client:trusted-domain');
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ describe('Redirects API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request, 'client:trusted-domain');
|
||||
return localUtils.doAuth(request, 'client:trusted-domain');
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
@ -90,7 +90,7 @@ describe('Redirects API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request, 'client:trusted-domain');
|
||||
return localUtils.doAuth(request, 'client:trusted-domain');
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
@ -218,7 +218,7 @@ describe('Redirects API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request, 'client:trusted-domain');
|
||||
return localUtils.doAuth(request, 'client:trusted-domain');
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
|
|
@ -19,7 +19,7 @@ describe('Settings API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
|
|
@ -16,7 +16,7 @@ describe('Slug API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
|
|
@ -16,7 +16,7 @@ describe('Tag API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request, 'posts');
|
||||
return localUtils.doAuth(request, 'posts');
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
|
|
@ -34,7 +34,7 @@ describe('Themes API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
scope.ownerAccessToken = token;
|
||||
|
@ -48,7 +48,7 @@ describe('Themes API', function () {
|
|||
scope.editor = user;
|
||||
|
||||
request.user = scope.editor;
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
scope.editorAccessToken = token;
|
||||
|
@ -62,7 +62,7 @@ describe('Themes API', function () {
|
|||
scope.author = user;
|
||||
|
||||
request.user = scope.author;
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
scope.authorAccessToken = token;
|
||||
|
|
|
@ -18,7 +18,7 @@ describe('Upload Icon API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
|
|
@ -20,7 +20,7 @@ describe('Upload API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
accesstoken = token;
|
||||
|
|
|
@ -50,19 +50,19 @@ describe('User API', function () {
|
|||
inactiveUser = _user3;
|
||||
|
||||
// by default we login with the owner
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
ownerAccessToken = token;
|
||||
|
||||
request.user = editor;
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
editorAccessToken = token;
|
||||
|
||||
request.user = author;
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
authorAccessToken = token;
|
||||
|
@ -592,19 +592,19 @@ describe('User API', function () {
|
|||
inactiveUser = _user3;
|
||||
|
||||
// by default we login with the owner
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
ownerAccessToken = token;
|
||||
|
||||
request.user = editor;
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
editorAccessToken = token;
|
||||
|
||||
request.user = author;
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
authorAccessToken = token;
|
||||
|
|
|
@ -1,9 +1,18 @@
|
|||
const url = require('url');
|
||||
const _ = require('lodash');
|
||||
const testUtils = require('../../../utils');
|
||||
const API_URL = '/ghost/api/v0.1/';
|
||||
|
||||
module.exports = {
|
||||
API: {
|
||||
getApiQuery(route) {
|
||||
return url.resolve('/ghost/api/v0.1/', route);
|
||||
return url.resolve(API_URL, route);
|
||||
}
|
||||
},
|
||||
|
||||
doAuth() {
|
||||
const args = Array.prototype.slice.call(arguments);
|
||||
args.unshift(`${API_URL}authentication/token/`);
|
||||
return testUtils.doAuth.apply(null, args);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -18,7 +18,7 @@ describe('Webhooks API', function () {
|
|||
request = supertest.agent(config.get('url'));
|
||||
})
|
||||
.then(function () {
|
||||
return testUtils.doAuth(request);
|
||||
return localUtils.doAuth(request);
|
||||
})
|
||||
.then(function (token) {
|
||||
ownerAccessToken = token;
|
||||
|
|
|
@ -728,7 +728,7 @@ setup = function setup() {
|
|||
};
|
||||
};
|
||||
|
||||
// ## Functions for Route Tests (!!)
|
||||
// ## Shared functions for Routing Tests
|
||||
|
||||
/**
|
||||
* This function manages the work of ensuring we have an overridden owner user, and grabbing an access token
|
||||
|
@ -736,12 +736,14 @@ setup = function setup() {
|
|||
*/
|
||||
// TODO make this do the DB init as well
|
||||
doAuth = function doAuth() {
|
||||
var options = arguments,
|
||||
request = arguments[0],
|
||||
fixtureOps;
|
||||
let API_URL = arguments[0];
|
||||
let request = arguments[1];
|
||||
let options = arguments;
|
||||
let fixtureOps;
|
||||
|
||||
// Remove request from this list
|
||||
// Remove API_URL & request from this list
|
||||
delete options[0];
|
||||
delete options[1];
|
||||
|
||||
// No DB setup, but override the owner
|
||||
options = _.merge({'owner:post': true}, _.transform(options, function (result, val) {
|
||||
|
@ -753,7 +755,7 @@ doAuth = function doAuth() {
|
|||
fixtureOps = getFixtureOps(options);
|
||||
|
||||
return sequence(fixtureOps).then(function () {
|
||||
return login(request);
|
||||
return login(request, API_URL);
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -784,14 +786,14 @@ createPost = function createPost(options) {
|
|||
return models.Post.add(post, module.exports.context.internal);
|
||||
};
|
||||
|
||||
login = function login(request) {
|
||||
login = function login(request, API_URL) {
|
||||
// CASE: by default we use the owner to login
|
||||
if (!request.user) {
|
||||
request.user = DataGenerator.Content.users[0];
|
||||
}
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
request.post('/ghost/api/v0.1/authentication/token/')
|
||||
request.post(API_URL)
|
||||
.set('Origin', config.get('url'))
|
||||
.send({
|
||||
grant_type: 'password',
|
||||
|
|
Loading…
Add table
Reference in a new issue