Fix for #1334: using relative cloud code files broken
* Adding tests for absolute and relative cloud code file loading. * Fixes #1334 by resolving relative cloud code file paths to the process' working directory.
This commit is contained in:
committed by
Florent Vilmart
parent
f99b5588ab
commit
acc23d0828
@@ -10,7 +10,7 @@ var ParseServer = require('../src/index').ParseServer;
|
|||||||
var path = require('path');
|
var path = require('path');
|
||||||
|
|
||||||
var databaseURI = process.env.DATABASE_URI;
|
var databaseURI = process.env.DATABASE_URI;
|
||||||
var cloudMain = process.env.CLOUD_CODE_MAIN || '../spec/cloud/main.js';
|
var cloudMain = process.env.CLOUD_CODE_MAIN || './spec/cloud/main.js';
|
||||||
var port = 8378;
|
var port = 8378;
|
||||||
|
|
||||||
// Default server configuration for tests.
|
// Default server configuration for tests.
|
||||||
|
|||||||
@@ -175,6 +175,26 @@ describe('server', () => {
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('can load absolute cloud code file', done => {
|
||||||
|
setServerConfiguration({
|
||||||
|
serverURL: 'http://localhost:8378/1',
|
||||||
|
appId: 'test',
|
||||||
|
masterKey: 'test',
|
||||||
|
cloud: __dirname + '/cloud/main.js'
|
||||||
|
});
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('can load relative cloud code file', done => {
|
||||||
|
setServerConfiguration({
|
||||||
|
serverURL: 'http://localhost:8378/1',
|
||||||
|
appId: 'test',
|
||||||
|
masterKey: 'test',
|
||||||
|
cloud: './spec/cloud/main.js'
|
||||||
|
});
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
it('can create a parse-server', done => {
|
it('can create a parse-server', done => {
|
||||||
var parseServer = new ParseServer.default({
|
var parseServer = new ParseServer.default({
|
||||||
appId: "aTestApp",
|
appId: "aTestApp",
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ var batch = require('./batch'),
|
|||||||
middlewares = require('./middlewares'),
|
middlewares = require('./middlewares'),
|
||||||
multer = require('multer'),
|
multer = require('multer'),
|
||||||
Parse = require('parse/node').Parse,
|
Parse = require('parse/node').Parse,
|
||||||
|
path = require('path'),
|
||||||
authDataManager = require('./authDataManager');
|
authDataManager = require('./authDataManager');
|
||||||
|
|
||||||
import { logger,
|
import { logger,
|
||||||
@@ -142,7 +143,7 @@ class ParseServer {
|
|||||||
if (typeof cloud === 'function') {
|
if (typeof cloud === 'function') {
|
||||||
cloud(Parse)
|
cloud(Parse)
|
||||||
} else if (typeof cloud === 'string') {
|
} else if (typeof cloud === 'string') {
|
||||||
require(cloud);
|
require(path.resolve(process.cwd(), cloud));
|
||||||
} else {
|
} else {
|
||||||
throw "argument 'cloud' must either be a string or a function";
|
throw "argument 'cloud' must either be a string or a function";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user