Removes need to use babel-register (#4865)
* Removes need to use babel-register - Adds watch to watch changes when running the test to regenerate - Tests are now pure node 8 * Adds timing to helper.js * Update contribution guide * Adds inline sourcemaps generation to restore coverage * nits
This commit is contained in:
3
.babelrc
3
.babelrc
@@ -9,5 +9,6 @@
|
|||||||
"node": "8"
|
"node": "8"
|
||||||
}
|
}
|
||||||
}]
|
}]
|
||||||
]
|
],
|
||||||
|
"sourceMaps": "inline"
|
||||||
}
|
}
|
||||||
|
|||||||
2
.nycrc
2
.nycrc
@@ -5,7 +5,7 @@
|
|||||||
],
|
],
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"**/spec/**",
|
"**/spec/**",
|
||||||
"lib/"
|
"src/"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,49 @@
|
|||||||
### Contributing to Parse Server
|
# Contributing to Parse Server
|
||||||
|
|
||||||
#### Pull Requests Welcome!
|
|
||||||
|
|
||||||
We really want Parse to be yours, to see it grow and thrive in the open source community.
|
We really want Parse to be yours, to see it grow and thrive in the open source community.
|
||||||
|
|
||||||
##### Please Do's
|
If you are not familiar with Pull Requests and want to know more about them, you can visit the [Creating a pull request](https://help.github.com/articles/creating-a-pull-request/) article. It contains detailed informations about the process.
|
||||||
|
|
||||||
|
## Setting up the project for debugging and contributing:
|
||||||
|
|
||||||
|
### Recommended setup:
|
||||||
|
|
||||||
|
* [vscode](https://code.visualstudio.com), the popular IDE.
|
||||||
|
* [Jasmine Test Explorer](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer), a very practical test exploration plugin which let you run, debug and see the test results inline.
|
||||||
|
|
||||||
|
### Setting up you local machine:
|
||||||
|
|
||||||
|
* [Fork](https://github.com/parse-community/parse-server) this project and clone the fork on your local machine:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ git clone https://github.com/parse-community/parse-server
|
||||||
|
$ cd parse-server # go into the clone directory
|
||||||
|
$ npm install # install all the node dependencies
|
||||||
|
$ code . # launch vscode
|
||||||
|
$ npm run watch # run babel watching for local file changes
|
||||||
|
```
|
||||||
|
|
||||||
|
Once you have babel running in watch mode, you can start making changes to parse-server.
|
||||||
|
|
||||||
|
### Good to know:
|
||||||
|
|
||||||
|
* The lib/ folder is not commited, so never make changes in there.
|
||||||
|
* Always make changes to files in the `src/` folder.
|
||||||
|
* All the tests should point to sources in the `lib/` folder.
|
||||||
|
|
||||||
|
### Troubleshooting:
|
||||||
|
|
||||||
|
*Question*: I modify the code in the src folder but it doesn't seem to have any effect.<br/>
|
||||||
|
*Answer*: Check that `npm run watch` is running
|
||||||
|
|
||||||
|
*Question*: How do I use breakpoints and debug step by step?<br/>
|
||||||
|
*Answer*: The easiest way is to install [Jasmine Test Explorer](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer), it will let you run selectively tests and debug them.
|
||||||
|
|
||||||
|
*Question*: How do I deploy my forked version on my servers?<br/>
|
||||||
|
*Answer*: In your `package.json`, update the `parse-server` dependency to `https://github.com/MY_USERNAME/parse-server#MY_FEATURE`. Run `npm install`, commit the changes and deploy to your servers.
|
||||||
|
|
||||||
|
|
||||||
|
### Please Do's
|
||||||
|
|
||||||
* Begin by reading the [Development Guide](http://docs.parseplatform.org/parse-server/guide/#development-guide) to learn how to get started running the parse-server.
|
* Begin by reading the [Development Guide](http://docs.parseplatform.org/parse-server/guide/#development-guide) to learn how to get started running the parse-server.
|
||||||
* Take testing seriously! Aim to increase the test coverage with every pull request. To obtain the test coverage of the project, run:
|
* Take testing seriously! Aim to increase the test coverage with every pull request. To obtain the test coverage of the project, run:
|
||||||
@@ -17,7 +56,7 @@ We really want Parse to be yours, to see it grow and thrive in the open source c
|
|||||||
* Lint your code by running `npm run lint` to make sure the code is not going to be rejected by the CI.
|
* Lint your code by running `npm run lint` to make sure the code is not going to be rejected by the CI.
|
||||||
* **Do not** publish the *lib* folder.
|
* **Do not** publish the *lib* folder.
|
||||||
|
|
||||||
##### Run your tests against Postgres (optional)
|
### Run your tests against Postgres (optional)
|
||||||
|
|
||||||
If your pull request introduces a change that may affect the storage or retrieval of objects, you may want to make sure it plays nice with Postgres.
|
If your pull request introduces a change that may affect the storage or retrieval of objects, you may want to make sure it plays nice with Postgres.
|
||||||
|
|
||||||
@@ -28,6 +67,6 @@ If your pull request introduces a change that may affect the storage or retrieva
|
|||||||
- `it_only_db('mongo')` // will make a test that only runs on mongo
|
- `it_only_db('mongo')` // will make a test that only runs on mongo
|
||||||
- `it_exclude_dbs(['postgres'])` // will make a test that runs against all DB's but postgres
|
- `it_exclude_dbs(['postgres'])` // will make a test that runs against all DB's but postgres
|
||||||
|
|
||||||
##### Code of Conduct
|
### Code of Conduct
|
||||||
|
|
||||||
This project adheres to the [Contributor Covenant Code of Conduct](https://github.com/parse-community/parse-server/blob/master/CODE_OF_CONDUCT.md). By participating, you are expected to honor this code.
|
This project adheres to the [Contributor Covenant Code of Conduct](https://github.com/parse-community/parse-server/blob/master/CODE_OF_CONDUCT.md). By participating, you are expected to honor this code.
|
||||||
|
|||||||
@@ -70,6 +70,7 @@
|
|||||||
"dev": "npm run build && node bin/dev",
|
"dev": "npm run build && node bin/dev",
|
||||||
"lint": "flow && eslint --cache ./",
|
"lint": "flow && eslint --cache ./",
|
||||||
"build": "babel src/ -d lib/ --copy-files",
|
"build": "babel src/ -d lib/ --copy-files",
|
||||||
|
"watch": "babel --watch src/ -d lib/ --copy-files",
|
||||||
"pretest": "npm run lint",
|
"pretest": "npm run lint",
|
||||||
"test": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=3.2.6} MONGODB_STORAGE_ENGINE=mmapv1 TESTING=1 jasmine",
|
"test": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=3.2.6} MONGODB_STORAGE_ENGINE=mmapv1 TESTING=1 jasmine",
|
||||||
"coverage": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=3.2.6} MONGODB_STORAGE_ENGINE=mmapv1 TESTING=1 nyc jasmine",
|
"coverage": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=3.2.6} MONGODB_STORAGE_ENGINE=mmapv1 TESTING=1 nyc jasmine",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const Config = require("../src/Config");
|
const Config = require("../lib/Config");
|
||||||
|
|
||||||
const loginWithWrongCredentialsShouldFail = function(username, password) {
|
const loginWithWrongCredentialsShouldFail = function(username, password) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
const AdaptableController = require("../src/Controllers/AdaptableController").AdaptableController;
|
const AdaptableController = require("../lib/Controllers/AdaptableController").AdaptableController;
|
||||||
const FilesAdapter = require("../src/Adapters/Files/FilesAdapter").default;
|
const FilesAdapter = require("../lib/Adapters/Files/FilesAdapter").default;
|
||||||
const FilesController = require("../src/Controllers/FilesController").FilesController;
|
const FilesController = require("../lib/Controllers/FilesController").FilesController;
|
||||||
|
|
||||||
const MockController = function(options) {
|
const MockController = function(options) {
|
||||||
AdaptableController.call(this, options);
|
AdaptableController.call(this, options);
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
|
|
||||||
const loadAdapter = require("../src/Adapters/AdapterLoader").loadAdapter;
|
const loadAdapter = require("../lib/Adapters/AdapterLoader").loadAdapter;
|
||||||
const FilesAdapter = require("@parse/fs-files-adapter").default;
|
const FilesAdapter = require("@parse/fs-files-adapter").default;
|
||||||
const S3Adapter = require("@parse/s3-files-adapter").default;
|
const S3Adapter = require("@parse/s3-files-adapter").default;
|
||||||
const ParsePushAdapter = require("@parse/push-adapter").default;
|
const ParsePushAdapter = require("@parse/push-adapter").default;
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
|
|
||||||
describe("AdapterLoader", ()=>{
|
describe("AdapterLoader", ()=>{
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ describe("AdapterLoader", ()=>{
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("should instantiate an adapter from string that is module", (done) => {
|
it("should instantiate an adapter from string that is module", (done) => {
|
||||||
const adapterPath = require('path').resolve("./src/Adapters/Files/FilesAdapter");
|
const adapterPath = require('path').resolve("./lib/Adapters/Files/FilesAdapter");
|
||||||
const adapter = loadAdapter({
|
const adapter = loadAdapter({
|
||||||
adapter: adapterPath
|
adapter: adapterPath
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
const auth = require('../src/Auth');
|
const auth = require('../lib/Auth');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const rest = require('../src/rest');
|
const rest = require('../lib/rest');
|
||||||
const AudiencesRouter = require('../src/Routers/AudiencesRouter').AudiencesRouter;
|
const AudiencesRouter = require('../lib/Routers/AudiencesRouter').AudiencesRouter;
|
||||||
|
|
||||||
describe('AudiencesRouter', () => {
|
describe('AudiencesRouter', () => {
|
||||||
it('uses find condition from request.body', (done) => {
|
it('uses find condition from request.body', (done) => {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
describe('Auth', () => {
|
describe('Auth', () => {
|
||||||
const Auth = require('../src/Auth.js').Auth;
|
const Auth = require('../lib/Auth.js').Auth;
|
||||||
|
|
||||||
describe('getUserRoles', () => {
|
describe('getUserRoles', () => {
|
||||||
let auth;
|
let auth;
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
const request = require('request');
|
const request = require('request');
|
||||||
const Config = require("../src/Config");
|
const Config = require("../lib/Config");
|
||||||
const defaultColumns = require('../src/Controllers/SchemaController').defaultColumns;
|
const defaultColumns = require('../lib/Controllers/SchemaController').defaultColumns;
|
||||||
const authenticationLoader = require('../src/Adapters/Auth');
|
const authenticationLoader = require('../lib/Adapters/Auth');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
|
||||||
describe('AuthenticationProviders', function() {
|
describe('AuthenticationProviders', function() {
|
||||||
["facebook", "facebookaccountkit", "github", "instagram", "google", "linkedin", "meetup", "twitter", "janrainengage", "janraincapture", "vkontakte"].map(function(providerName){
|
["facebook", "facebookaccountkit", "github", "instagram", "google", "linkedin", "meetup", "twitter", "janrainengage", "janraincapture", "vkontakte"].map(function(providerName){
|
||||||
it("Should validate structure of " + providerName, (done) => {
|
it("Should validate structure of " + providerName, (done) => {
|
||||||
const provider = require("../src/Adapters/Auth/" + providerName);
|
const provider = require("../lib/Adapters/Auth/" + providerName);
|
||||||
jequal(typeof provider.validateAuthData, "function");
|
jequal(typeof provider.validateAuthData, "function");
|
||||||
jequal(typeof provider.validateAppId, "function");
|
jequal(typeof provider.validateAppId, "function");
|
||||||
const authDataPromise = provider.validateAuthData({}, {});
|
const authDataPromise = provider.validateAuthData({}, {});
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
import commander from '../src/cli/utils/commander';
|
const commander = require('../lib/cli/utils/commander').default;
|
||||||
import definitions from '../src/cli/definitions/parse-server';
|
const definitions = require('../lib/cli/definitions/parse-server').default;
|
||||||
import liveQueryDefinitions from '../src/cli/definitions/parse-live-query-server';
|
const liveQueryDefinitions = require('../lib/cli/definitions/parse-live-query-server').default;
|
||||||
|
|
||||||
const testDefinitions = {
|
const testDefinitions = {
|
||||||
'arg0': 'PROGRAM_ARG_0',
|
'arg0': 'PROGRAM_ARG_0',
|
||||||
@@ -173,7 +173,7 @@ describe('LiveQuery definitions', () => {
|
|||||||
if (typeof definition.env !== 'undefined') {
|
if (typeof definition.env !== 'undefined') {
|
||||||
expect(typeof definition.env).toBe('string');
|
expect(typeof definition.env).toBe('string');
|
||||||
}
|
}
|
||||||
expect(typeof definition.help).toBe('string');
|
expect(typeof definition.help).toBe('string', `help for ${key} should be a string`);
|
||||||
if (typeof definition.required !== 'undefined') {
|
if (typeof definition.required !== 'undefined') {
|
||||||
expect(typeof definition.required).toBe('boolean');
|
expect(typeof definition.required).toBe('boolean');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const CacheController = require('../src/Controllers/CacheController.js').default;
|
const CacheController = require('../lib/Controllers/CacheController.js').default;
|
||||||
|
|
||||||
describe('CacheController', function() {
|
describe('CacheController', function() {
|
||||||
let FakeCacheAdapter;
|
let FakeCacheAdapter;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const Client = require('../src/LiveQuery/Client').Client;
|
const Client = require('../lib/LiveQuery/Client').Client;
|
||||||
const ParseWebSocket = require('../src/LiveQuery/ParseWebSocketServer').ParseWebSocket;
|
const ParseWebSocket = require('../lib/LiveQuery/ParseWebSocketServer').ParseWebSocket;
|
||||||
|
|
||||||
describe('Client', function() {
|
describe('Client', function() {
|
||||||
it('can be initialized', function() {
|
it('can be initialized', function() {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const ClientSDK = require('../src/ClientSDK');
|
const ClientSDK = require('../lib/ClientSDK');
|
||||||
|
|
||||||
describe('ClientSDK', () => {
|
describe('ClientSDK', () => {
|
||||||
it('should properly parse the SDK versions', () => {
|
it('should properly parse the SDK versions', () => {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"use strict"
|
"use strict"
|
||||||
const Parse = require("parse/node");
|
const Parse = require("parse/node");
|
||||||
const rp = require('request-promise');
|
const rp = require('request-promise');
|
||||||
const InMemoryCacheAdapter = require('../src/Adapters/Cache/InMemoryCacheAdapter').InMemoryCacheAdapter;
|
const InMemoryCacheAdapter = require('../lib/Adapters/Cache/InMemoryCacheAdapter').InMemoryCacheAdapter;
|
||||||
|
|
||||||
describe('Cloud Code', () => {
|
describe('Cloud Code', () => {
|
||||||
it('can load absolute cloud code file', done => {
|
it('can load absolute cloud code file', done => {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const LoggerController = require('../src/Controllers/LoggerController').LoggerController;
|
const LoggerController = require('../lib/Controllers/LoggerController').LoggerController;
|
||||||
const WinstonLoggerAdapter = require('../src/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
|
const WinstonLoggerAdapter = require('../lib/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
||||||
const loremFile = __dirname + '/support/lorem.txt';
|
const loremFile = __dirname + '/support/lorem.txt';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const DatabaseController = require('../src/Controllers/DatabaseController.js');
|
const DatabaseController = require('../lib/Controllers/DatabaseController.js');
|
||||||
const validateQuery = DatabaseController._validateQuery;
|
const validateQuery = DatabaseController._validateQuery;
|
||||||
|
|
||||||
describe('DatabaseController', function() {
|
describe('DatabaseController', function() {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
const request = require('request');
|
const request = require('request');
|
||||||
const requestp = require('request-promise');
|
const requestp = require('request-promise');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
|
|
||||||
describe("Email Verification Token Expiration: ", () => {
|
describe("Email Verification Token Expiration: ", () => {
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
const auth = require('../src/Auth');
|
const auth = require('../lib/Auth');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const rest = require('../src/rest');
|
const rest = require('../lib/rest');
|
||||||
|
|
||||||
describe('Enable single schema cache', () => {
|
describe('Enable single schema cache', () => {
|
||||||
beforeEach((done) => {
|
beforeEach((done) => {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const EventEmitterPubSub = require('../src/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
const EventEmitterPubSub = require('../lib/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
||||||
|
|
||||||
describe('EventEmitterPubSub', function() {
|
describe('EventEmitterPubSub', function() {
|
||||||
it('can publish and subscribe', function() {
|
it('can publish and subscribe', function() {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
const LoggerController = require('../src/Controllers/LoggerController').LoggerController;
|
const LoggerController = require('../lib/Controllers/LoggerController').LoggerController;
|
||||||
const WinstonLoggerAdapter = require('../src/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
|
const WinstonLoggerAdapter = require('../lib/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
|
||||||
const GridStoreAdapter = require("../src/Adapters/Files/GridStoreAdapter").GridStoreAdapter;
|
const GridStoreAdapter = require("../lib/Adapters/Files/GridStoreAdapter").GridStoreAdapter;
|
||||||
const Config = require("../src/Config");
|
const Config = require("../lib/Config");
|
||||||
const FilesController = require('../src/Controllers/FilesController').default;
|
const FilesController = require('../lib/Controllers/FilesController').default;
|
||||||
|
|
||||||
const mockAdapter = {
|
const mockAdapter = {
|
||||||
createFile: () => {
|
createFile: () => {
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
const MongoClient = require("mongodb").MongoClient;
|
const MongoClient = require("mongodb").MongoClient;
|
||||||
const GridStore = require("mongodb").GridStore;
|
const GridStore = require("mongodb").GridStore;
|
||||||
|
|
||||||
const GridStoreAdapter = require("../src/Adapters/Files/GridStoreAdapter").GridStoreAdapter;
|
const GridStoreAdapter = require("../lib/Adapters/Files/GridStoreAdapter").GridStoreAdapter;
|
||||||
const Config = require("../src/Config");
|
const Config = require("../lib/Config");
|
||||||
const FilesController = require('../src/Controllers/FilesController').default;
|
const FilesController = require('../lib/Controllers/FilesController').default;
|
||||||
|
|
||||||
|
|
||||||
// Small additional tests to improve overall coverage
|
// Small additional tests to improve overall coverage
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const httpRequest = require("../src/cloud-code/httpRequest"),
|
const httpRequest = require("../lib/cloud-code/httpRequest"),
|
||||||
HTTPResponse = require('../src/cloud-code/HTTPResponse').default,
|
HTTPResponse = require('../lib/cloud-code/HTTPResponse').default,
|
||||||
bodyParser = require('body-parser'),
|
bodyParser = require('body-parser'),
|
||||||
express = require("express");
|
express = require("express");
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const InMemoryCache = require('../src/Adapters/Cache/InMemoryCache').default;
|
const InMemoryCache = require('../lib/Adapters/Cache/InMemoryCache').default;
|
||||||
|
|
||||||
|
|
||||||
describe('InMemoryCache', function() {
|
describe('InMemoryCache', function() {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const InMemoryCacheAdapter = require('../src/Adapters/Cache/InMemoryCacheAdapter').default;
|
const InMemoryCacheAdapter = require('../lib/Adapters/Cache/InMemoryCacheAdapter').default;
|
||||||
|
|
||||||
describe('InMemoryCacheAdapter', function() {
|
describe('InMemoryCacheAdapter', function() {
|
||||||
const KEY = 'hello';
|
const KEY = 'hello';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
const auth = require('../src/Auth');
|
const auth = require('../lib/Auth');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const rest = require('../src/rest');
|
const rest = require('../lib/rest');
|
||||||
const InstallationsRouter = require('../src/Routers/InstallationsRouter').InstallationsRouter;
|
const InstallationsRouter = require('../lib/Routers/InstallationsRouter').InstallationsRouter;
|
||||||
|
|
||||||
describe('InstallationsRouter', () => {
|
describe('InstallationsRouter', () => {
|
||||||
it('uses find condition from request.body', (done) => {
|
it('uses find condition from request.body', (done) => {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const logging = require('../src/Adapters/Logger/WinstonLogger');
|
const logging = require('../lib/Adapters/Logger/WinstonLogger');
|
||||||
const winston = require('winston');
|
const winston = require('winston');
|
||||||
|
|
||||||
class TestTransport extends winston.Transport {
|
class TestTransport extends winston.Transport {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const LoggerController = require('../src/Controllers/LoggerController').LoggerController;
|
const LoggerController = require('../lib/Controllers/LoggerController').LoggerController;
|
||||||
const WinstonLoggerAdapter = require('../src/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
|
const WinstonLoggerAdapter = require('../lib/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
|
||||||
|
|
||||||
describe('LoggerController', () => {
|
describe('LoggerController', () => {
|
||||||
it('can check process a query without throwing', (done) => {
|
it('can check process a query without throwing', (done) => {
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const request = require('request');
|
const request = require('request');
|
||||||
const LogsRouter = require('../src/Routers/LogsRouter').LogsRouter;
|
const LogsRouter = require('../lib/Routers/LogsRouter').LogsRouter;
|
||||||
const LoggerController = require('../src/Controllers/LoggerController').LoggerController;
|
const LoggerController = require('../lib/Controllers/LoggerController').LoggerController;
|
||||||
const WinstonLoggerAdapter = require('../src/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
|
const WinstonLoggerAdapter = require('../lib/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
|
||||||
|
|
||||||
const loggerController = new LoggerController(new WinstonLoggerAdapter());
|
const loggerController = new LoggerController(new WinstonLoggerAdapter());
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const middlewares = require('../src/middlewares');
|
const middlewares = require('../lib/middlewares');
|
||||||
const AppCache = require('../src/cache').AppCache;
|
const AppCache = require('../lib/cache').AppCache;
|
||||||
|
|
||||||
describe('middlewares', () => {
|
describe('middlewares', () => {
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const MongoSchemaCollection = require('../src/Adapters/Storage/Mongo/MongoSchemaCollection').default;
|
const MongoSchemaCollection = require('../lib/Adapters/Storage/Mongo/MongoSchemaCollection').default;
|
||||||
|
|
||||||
describe('MongoSchemaCollection', () => {
|
describe('MongoSchemaCollection', () => {
|
||||||
it('can transform legacy _client_permissions keys to parse format', done => {
|
it('can transform legacy _client_permissions keys to parse format', done => {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import MongoStorageAdapter from '../src/Adapters/Storage/Mongo/MongoStorageAdapter';
|
const MongoStorageAdapter = require('../lib/Adapters/Storage/Mongo/MongoStorageAdapter').default;
|
||||||
const { MongoClient } = require('mongodb');
|
const { MongoClient } = require('mongodb');
|
||||||
const databaseURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase';
|
const databaseURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// These tests are unit tests designed to only test transform.js.
|
// These tests are unit tests designed to only test transform.js.
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const transform = require('../src/Adapters/Storage/Mongo/MongoTransform');
|
const transform = require('../lib/Adapters/Storage/Mongo/MongoTransform');
|
||||||
const dd = require('deep-diff');
|
const dd = require('deep-diff');
|
||||||
const mongodb = require('mongodb');
|
const mongodb = require('mongodb');
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const NullCacheAdapter = require('../src/Adapters/Cache/NullCacheAdapter').default;
|
const NullCacheAdapter = require('../lib/Adapters/Cache/NullCacheAdapter').default;
|
||||||
|
|
||||||
describe('NullCacheAdapter', function() {
|
describe('NullCacheAdapter', function() {
|
||||||
const KEY = 'hello';
|
const KEY = 'hello';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const OAuth = require("../src/Adapters/Auth/OAuth1Client");
|
const OAuth = require("../lib/Adapters/Auth/OAuth1Client");
|
||||||
|
|
||||||
describe('OAuth', function() {
|
describe('OAuth', function() {
|
||||||
it("Nonce should have right length", (done) => {
|
it("Nonce should have right length", (done) => {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
// This is a port of the test suite:
|
// This is a port of the test suite:
|
||||||
// hungry/js/test/parse_acl_test.js
|
// hungry/js/test/parse_acl_test.js
|
||||||
const rest = require('../src/rest');
|
const rest = require('../lib/rest');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const auth = require('../src/Auth');
|
const auth = require('../lib/Auth');
|
||||||
|
|
||||||
describe('Parse.ACL', () => {
|
describe('Parse.ACL', () => {
|
||||||
it("acl must be valid", (done) => {
|
it("acl must be valid", (done) => {
|
||||||
|
|||||||
@@ -5,9 +5,9 @@
|
|||||||
const request = require('request');
|
const request = require('request');
|
||||||
const rp = require('request-promise');
|
const rp = require('request-promise');
|
||||||
const Parse = require("parse/node");
|
const Parse = require("parse/node");
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const SchemaController = require('../src/Controllers/SchemaController');
|
const SchemaController = require('../lib/Controllers/SchemaController');
|
||||||
const TestUtils = require('../src/TestUtils');
|
const TestUtils = require('../lib/TestUtils');
|
||||||
|
|
||||||
const userSchema = SchemaController.convertSchemaToAdapterSchema({ className: '_User', fields: Object.assign({}, SchemaController.defaultColumns._Default, SchemaController.defaultColumns._User) });
|
const userSchema = SchemaController.convertSchemaToAdapterSchema({ className: '_User', fields: Object.assign({}, SchemaController.defaultColumns._Default, SchemaController.defaultColumns._User) });
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const ParseCloudCodePublisher = require('../src/LiveQuery/ParseCloudCodePublisher').ParseCloudCodePublisher;
|
const ParseCloudCodePublisher = require('../lib/LiveQuery/ParseCloudCodePublisher').ParseCloudCodePublisher;
|
||||||
const Parse = require('parse/node');
|
const Parse = require('parse/node');
|
||||||
|
|
||||||
describe('ParseCloudCodePublisher', function() {
|
describe('ParseCloudCodePublisher', function() {
|
||||||
@@ -14,7 +14,7 @@ describe('ParseCloudCodePublisher', function() {
|
|||||||
on: jasmine.createSpy('on')
|
on: jasmine.createSpy('on')
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
jasmine.mockLibrary('../src/LiveQuery/ParsePubSub', 'ParsePubSub', mockParsePubSub);
|
jasmine.mockLibrary('../lib/LiveQuery/ParsePubSub', 'ParsePubSub', mockParsePubSub);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ describe('ParseCloudCodePublisher', function() {
|
|||||||
const config = {}
|
const config = {}
|
||||||
new ParseCloudCodePublisher(config);
|
new ParseCloudCodePublisher(config);
|
||||||
|
|
||||||
const ParsePubSub = require('../src/LiveQuery/ParsePubSub').ParsePubSub;
|
const ParsePubSub = require('../lib/LiveQuery/ParsePubSub').ParsePubSub;
|
||||||
expect(ParsePubSub.createPublisher).toHaveBeenCalledWith(config);
|
expect(ParsePubSub.createPublisher).toHaveBeenCalledWith(config);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -64,6 +64,6 @@ describe('ParseCloudCodePublisher', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterEach(function(){
|
afterEach(function(){
|
||||||
jasmine.restoreLibrary('../src/LiveQuery/ParsePubSub', 'ParsePubSub');
|
jasmine.restoreLibrary('../lib/LiveQuery/ParsePubSub', 'ParsePubSub');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const request = require('request');
|
const request = require('request');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
|
|
||||||
describe('a GlobalConfig', () => {
|
describe('a GlobalConfig', () => {
|
||||||
beforeEach(done => {
|
beforeEach(done => {
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
/* global describe, it, expect, fail, Parse */
|
/* global describe, it, expect, fail, Parse */
|
||||||
const request = require('request');
|
const request = require('request');
|
||||||
const triggers = require('../src/triggers');
|
const triggers = require('../lib/triggers');
|
||||||
const HooksController = require('../src/Controllers/HooksController').default;
|
const HooksController = require('../lib/Controllers/HooksController').default;
|
||||||
const express = require("express");
|
const express = require("express");
|
||||||
const bodyParser = require('body-parser');
|
const bodyParser = require('body-parser');
|
||||||
|
|
||||||
const port = 12345;
|
const port = 12345;
|
||||||
const hookServerURL = "http://localhost:" + port;
|
const hookServerURL = "http://localhost:" + port;
|
||||||
const AppCache = require('../src/cache').AppCache;
|
const AppCache = require('../lib/cache').AppCache;
|
||||||
|
|
||||||
describe('Hooks', () => {
|
describe('Hooks', () => {
|
||||||
let server;
|
let server;
|
||||||
|
|||||||
@@ -2,15 +2,15 @@
|
|||||||
// These tests check the Installations functionality of the REST API.
|
// These tests check the Installations functionality of the REST API.
|
||||||
// Ported from installation_collection_test.go
|
// Ported from installation_collection_test.go
|
||||||
|
|
||||||
const auth = require('../src/Auth');
|
const auth = require('../lib/Auth');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const Parse = require('parse/node').Parse;
|
const Parse = require('parse/node').Parse;
|
||||||
const rest = require('../src/rest');
|
const rest = require('../lib/rest');
|
||||||
const request = require("request");
|
const request = require("request");
|
||||||
|
|
||||||
let config;
|
let config;
|
||||||
let database;
|
let database;
|
||||||
const defaultColumns = require('../src/Controllers/SchemaController').defaultColumns;
|
const defaultColumns = require('../lib/Controllers/SchemaController').defaultColumns;
|
||||||
|
|
||||||
const delay = function delay(delay) {
|
const delay = function delay(delay) {
|
||||||
return new Promise(resolve => setTimeout(resolve, delay));
|
return new Promise(resolve => setTimeout(resolve, delay));
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
const Parse = require('parse/node');
|
const Parse = require('parse/node');
|
||||||
const ParseLiveQueryServer = require('../src/LiveQuery/ParseLiveQueryServer').ParseLiveQueryServer;
|
const ParseLiveQueryServer = require('../lib/LiveQuery/ParseLiveQueryServer').ParseLiveQueryServer;
|
||||||
const ParseServer = require('../src/ParseServer').default;
|
const ParseServer = require('../lib/ParseServer').default;
|
||||||
|
|
||||||
// Global mock info
|
// Global mock info
|
||||||
const queryHashValue = 'hash';
|
const queryHashValue = 'hash';
|
||||||
@@ -11,7 +11,7 @@ describe('ParseLiveQueryServer', function() {
|
|||||||
beforeEach(function(done) {
|
beforeEach(function(done) {
|
||||||
// Mock ParseWebSocketServer
|
// Mock ParseWebSocketServer
|
||||||
const mockParseWebSocketServer = jasmine.createSpy('ParseWebSocketServer');
|
const mockParseWebSocketServer = jasmine.createSpy('ParseWebSocketServer');
|
||||||
jasmine.mockLibrary('../src/LiveQuery/ParseWebSocketServer', 'ParseWebSocketServer', mockParseWebSocketServer);
|
jasmine.mockLibrary('../lib/LiveQuery/ParseWebSocketServer', 'ParseWebSocketServer', mockParseWebSocketServer);
|
||||||
// Mock Client
|
// Mock Client
|
||||||
const mockClient = function(id, socket, hasMasterKey) {
|
const mockClient = function(id, socket, hasMasterKey) {
|
||||||
this.pushConnect = jasmine.createSpy('pushConnect');
|
this.pushConnect = jasmine.createSpy('pushConnect');
|
||||||
@@ -28,19 +28,19 @@ describe('ParseLiveQueryServer', function() {
|
|||||||
this.hasMasterKey = hasMasterKey;
|
this.hasMasterKey = hasMasterKey;
|
||||||
}
|
}
|
||||||
mockClient.pushError = jasmine.createSpy('pushError');
|
mockClient.pushError = jasmine.createSpy('pushError');
|
||||||
jasmine.mockLibrary('../src/LiveQuery/Client', 'Client', mockClient);
|
jasmine.mockLibrary('../lib/LiveQuery/Client', 'Client', mockClient);
|
||||||
// Mock Subscription
|
// Mock Subscription
|
||||||
const mockSubscriotion = function() {
|
const mockSubscriotion = function() {
|
||||||
this.addClientSubscription = jasmine.createSpy('addClientSubscription');
|
this.addClientSubscription = jasmine.createSpy('addClientSubscription');
|
||||||
this.deleteClientSubscription = jasmine.createSpy('deleteClientSubscription');
|
this.deleteClientSubscription = jasmine.createSpy('deleteClientSubscription');
|
||||||
}
|
}
|
||||||
jasmine.mockLibrary('../src/LiveQuery/Subscription', 'Subscription', mockSubscriotion);
|
jasmine.mockLibrary('../lib/LiveQuery/Subscription', 'Subscription', mockSubscriotion);
|
||||||
// Mock queryHash
|
// Mock queryHash
|
||||||
const mockQueryHash = jasmine.createSpy('matchesQuery').and.returnValue(queryHashValue);
|
const mockQueryHash = jasmine.createSpy('matchesQuery').and.returnValue(queryHashValue);
|
||||||
jasmine.mockLibrary('../src/LiveQuery/QueryTools', 'queryHash', mockQueryHash);
|
jasmine.mockLibrary('../lib/LiveQuery/QueryTools', 'queryHash', mockQueryHash);
|
||||||
// Mock matchesQuery
|
// Mock matchesQuery
|
||||||
const mockMatchesQuery = jasmine.createSpy('matchesQuery').and.returnValue(true);
|
const mockMatchesQuery = jasmine.createSpy('matchesQuery').and.returnValue(true);
|
||||||
jasmine.mockLibrary('../src/LiveQuery/QueryTools', 'matchesQuery', mockMatchesQuery);
|
jasmine.mockLibrary('../lib/LiveQuery/QueryTools', 'matchesQuery', mockMatchesQuery);
|
||||||
// Mock ParsePubSub
|
// Mock ParsePubSub
|
||||||
const mockParsePubSub = {
|
const mockParsePubSub = {
|
||||||
createPublisher: function() {
|
createPublisher: function() {
|
||||||
@@ -56,7 +56,7 @@ describe('ParseLiveQueryServer', function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
jasmine.mockLibrary('../src/LiveQuery/ParsePubSub', 'ParsePubSub', mockParsePubSub);
|
jasmine.mockLibrary('../lib/LiveQuery/ParsePubSub', 'ParsePubSub', mockParsePubSub);
|
||||||
// Make mock SessionTokenCache
|
// Make mock SessionTokenCache
|
||||||
const mockSessionTokenCache = function(){
|
const mockSessionTokenCache = function(){
|
||||||
this.getUserId = function(sessionToken){
|
this.getUserId = function(sessionToken){
|
||||||
@@ -69,7 +69,7 @@ describe('ParseLiveQueryServer', function() {
|
|||||||
return Parse.Promise.as(testUserId);
|
return Parse.Promise.as(testUserId);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
jasmine.mockLibrary('../src/LiveQuery/SessionTokenCache', 'SessionTokenCache', mockSessionTokenCache);
|
jasmine.mockLibrary('../lib/LiveQuery/SessionTokenCache', 'SessionTokenCache', mockSessionTokenCache);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -167,7 +167,7 @@ describe('ParseLiveQueryServer', function() {
|
|||||||
};
|
};
|
||||||
parseLiveQueryServer._handleSubscribe(incompleteParseConn, {});
|
parseLiveQueryServer._handleSubscribe(incompleteParseConn, {});
|
||||||
|
|
||||||
const Client = require('../src/LiveQuery/Client').Client;
|
const Client = require('../lib/LiveQuery/Client').Client;
|
||||||
expect(Client.pushError).toHaveBeenCalled();
|
expect(Client.pushError).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -273,7 +273,7 @@ describe('ParseLiveQueryServer', function() {
|
|||||||
};
|
};
|
||||||
parseLiveQueryServer._handleUnsubscribe(incompleteParseConn, {});
|
parseLiveQueryServer._handleUnsubscribe(incompleteParseConn, {});
|
||||||
|
|
||||||
const Client = require('../src/LiveQuery/Client').Client;
|
const Client = require('../lib/LiveQuery/Client').Client;
|
||||||
expect(Client.pushError).toHaveBeenCalled();
|
expect(Client.pushError).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -284,7 +284,7 @@ describe('ParseLiveQueryServer', function() {
|
|||||||
};
|
};
|
||||||
parseLiveQueryServer._handleUnsubscribe(parseWebSocket, {});
|
parseLiveQueryServer._handleUnsubscribe(parseWebSocket, {});
|
||||||
|
|
||||||
const Client = require('../src/LiveQuery/Client').Client;
|
const Client = require('../lib/LiveQuery/Client').Client;
|
||||||
expect(Client.pushError).toHaveBeenCalled();
|
expect(Client.pushError).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -299,7 +299,7 @@ describe('ParseLiveQueryServer', function() {
|
|||||||
};
|
};
|
||||||
parseLiveQueryServer._handleUnsubscribe(parseWebSocket, {});
|
parseLiveQueryServer._handleUnsubscribe(parseWebSocket, {});
|
||||||
|
|
||||||
const Client = require('../src/LiveQuery/Client').Client;
|
const Client = require('../lib/LiveQuery/Client').Client;
|
||||||
expect(Client.pushError).toHaveBeenCalled();
|
expect(Client.pushError).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -445,7 +445,7 @@ describe('ParseLiveQueryServer', function() {
|
|||||||
const invalidRequest = '{}';
|
const invalidRequest = '{}';
|
||||||
// Trigger message event
|
// Trigger message event
|
||||||
parseWebSocket.emit('message', invalidRequest);
|
parseWebSocket.emit('message', invalidRequest);
|
||||||
const Client = require('../src/LiveQuery/Client').Client;
|
const Client = require('../lib/LiveQuery/Client').Client;
|
||||||
expect(Client.pushError).toHaveBeenCalled();
|
expect(Client.pushError).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -461,7 +461,7 @@ describe('ParseLiveQueryServer', function() {
|
|||||||
const unknownRequest = '{"op":"unknown"}';
|
const unknownRequest = '{"op":"unknown"}';
|
||||||
// Trigger message event
|
// Trigger message event
|
||||||
parseWebSocket.emit('message', unknownRequest);
|
parseWebSocket.emit('message', unknownRequest);
|
||||||
const Client = require('../src/LiveQuery/Client').Client;
|
const Client = require('../lib/LiveQuery/Client').Client;
|
||||||
expect(Client.pushError).toHaveBeenCalled();
|
expect(Client.pushError).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -788,7 +788,7 @@ describe('ParseLiveQueryServer', function() {
|
|||||||
const parseObject = {};
|
const parseObject = {};
|
||||||
expect(parseLiveQueryServer._matchesSubscription(parseObject, subscription)).toBe(true);
|
expect(parseLiveQueryServer._matchesSubscription(parseObject, subscription)).toBe(true);
|
||||||
// Make sure matchesQuery is called
|
// Make sure matchesQuery is called
|
||||||
const matchesQuery = require('../src/LiveQuery/QueryTools').matchesQuery;
|
const matchesQuery = require('../lib/LiveQuery/QueryTools').matchesQuery;
|
||||||
expect(matchesQuery).toHaveBeenCalledWith(parseObject, subscription.query);
|
expect(matchesQuery).toHaveBeenCalledWith(parseObject, subscription.query);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1209,18 +1209,18 @@ describe('ParseLiveQueryServer', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterEach(function(){
|
afterEach(function(){
|
||||||
jasmine.restoreLibrary('../src/LiveQuery/ParseWebSocketServer', 'ParseWebSocketServer');
|
jasmine.restoreLibrary('../lib/LiveQuery/ParseWebSocketServer', 'ParseWebSocketServer');
|
||||||
jasmine.restoreLibrary('../src/LiveQuery/Client', 'Client');
|
jasmine.restoreLibrary('../lib/LiveQuery/Client', 'Client');
|
||||||
jasmine.restoreLibrary('../src/LiveQuery/Subscription', 'Subscription');
|
jasmine.restoreLibrary('../lib/LiveQuery/Subscription', 'Subscription');
|
||||||
jasmine.restoreLibrary('../src/LiveQuery/QueryTools', 'queryHash');
|
jasmine.restoreLibrary('../lib/LiveQuery/QueryTools', 'queryHash');
|
||||||
jasmine.restoreLibrary('../src/LiveQuery/QueryTools', 'matchesQuery');
|
jasmine.restoreLibrary('../lib/LiveQuery/QueryTools', 'matchesQuery');
|
||||||
jasmine.restoreLibrary('../src/LiveQuery/ParsePubSub', 'ParsePubSub');
|
jasmine.restoreLibrary('../lib/LiveQuery/ParsePubSub', 'ParsePubSub');
|
||||||
jasmine.restoreLibrary('../src/LiveQuery/SessionTokenCache', 'SessionTokenCache');
|
jasmine.restoreLibrary('../lib/LiveQuery/SessionTokenCache', 'SessionTokenCache');
|
||||||
});
|
});
|
||||||
|
|
||||||
// Helper functions to add mock client and subscription to a liveQueryServer
|
// Helper functions to add mock client and subscription to a liveQueryServer
|
||||||
function addMockClient(parseLiveQueryServer, clientId) {
|
function addMockClient(parseLiveQueryServer, clientId) {
|
||||||
const Client = require('../src/LiveQuery/Client').Client;
|
const Client = require('../lib/LiveQuery/Client').Client;
|
||||||
const client = new Client(clientId, {});
|
const client = new Client(clientId, {});
|
||||||
parseLiveQueryServer.clients.set(clientId, client);
|
parseLiveQueryServer.clients.set(clientId, client);
|
||||||
return client;
|
return client;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const TestObject = Parse.Object.extend('TestObject');
|
const TestObject = Parse.Object.extend('TestObject');
|
||||||
import MongoStorageAdapter from '../src/Adapters/Storage/Mongo/MongoStorageAdapter';
|
const MongoStorageAdapter = require('../lib/Adapters/Storage/Mongo/MongoStorageAdapter').default;
|
||||||
const mongoURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase';
|
const mongoURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase';
|
||||||
const rp = require('request-promise');
|
const rp = require('request-promise');
|
||||||
const defaultHeaders = {
|
const defaultHeaders = {
|
||||||
@@ -314,7 +314,7 @@ describe_only_db('mongo')('Parse.Polygon testing', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('polygon coordinates reverse input', (done) => {
|
it('polygon coordinates reverse input', (done) => {
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const config = Config.get('test');
|
const config = Config.get('test');
|
||||||
|
|
||||||
// When stored the first point should be the last point
|
// When stored the first point should be the last point
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const ParsePubSub = require('../src/LiveQuery/ParsePubSub').ParsePubSub;
|
const ParsePubSub = require('../lib/LiveQuery/ParsePubSub').ParsePubSub;
|
||||||
|
|
||||||
describe('ParsePubSub', function() {
|
describe('ParsePubSub', function() {
|
||||||
|
|
||||||
@@ -8,13 +8,13 @@ describe('ParsePubSub', function() {
|
|||||||
createPublisher: jasmine.createSpy('createPublisherRedis'),
|
createPublisher: jasmine.createSpy('createPublisherRedis'),
|
||||||
createSubscriber: jasmine.createSpy('createSubscriberRedis')
|
createSubscriber: jasmine.createSpy('createSubscriberRedis')
|
||||||
};
|
};
|
||||||
jasmine.mockLibrary('../src/Adapters/PubSub/RedisPubSub', 'RedisPubSub', mockRedisPubSub);
|
jasmine.mockLibrary('../lib/Adapters/PubSub/RedisPubSub', 'RedisPubSub', mockRedisPubSub);
|
||||||
// Mock EventEmitterPubSub
|
// Mock EventEmitterPubSub
|
||||||
const mockEventEmitterPubSub = {
|
const mockEventEmitterPubSub = {
|
||||||
createPublisher: jasmine.createSpy('createPublisherEventEmitter'),
|
createPublisher: jasmine.createSpy('createPublisherEventEmitter'),
|
||||||
createSubscriber: jasmine.createSpy('createSubscriberEventEmitter')
|
createSubscriber: jasmine.createSpy('createSubscriberEventEmitter')
|
||||||
};
|
};
|
||||||
jasmine.mockLibrary('../src/Adapters/PubSub/EventEmitterPubSub', 'EventEmitterPubSub', mockEventEmitterPubSub);
|
jasmine.mockLibrary('../lib/Adapters/PubSub/EventEmitterPubSub', 'EventEmitterPubSub', mockEventEmitterPubSub);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -23,8 +23,8 @@ describe('ParsePubSub', function() {
|
|||||||
redisURL: 'redisURL'
|
redisURL: 'redisURL'
|
||||||
});
|
});
|
||||||
|
|
||||||
const RedisPubSub = require('../src/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
const RedisPubSub = require('../lib/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
||||||
const EventEmitterPubSub = require('../src/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
const EventEmitterPubSub = require('../lib/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
||||||
expect(RedisPubSub.createPublisher).toHaveBeenCalledWith({redisURL: 'redisURL'});
|
expect(RedisPubSub.createPublisher).toHaveBeenCalledWith({redisURL: 'redisURL'});
|
||||||
expect(EventEmitterPubSub.createPublisher).not.toHaveBeenCalled();
|
expect(EventEmitterPubSub.createPublisher).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
@@ -32,8 +32,8 @@ describe('ParsePubSub', function() {
|
|||||||
it('can create event emitter publisher', function() {
|
it('can create event emitter publisher', function() {
|
||||||
ParsePubSub.createPublisher({});
|
ParsePubSub.createPublisher({});
|
||||||
|
|
||||||
const RedisPubSub = require('../src/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
const RedisPubSub = require('../lib/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
||||||
const EventEmitterPubSub = require('../src/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
const EventEmitterPubSub = require('../lib/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
||||||
expect(RedisPubSub.createPublisher).not.toHaveBeenCalled();
|
expect(RedisPubSub.createPublisher).not.toHaveBeenCalled();
|
||||||
expect(EventEmitterPubSub.createPublisher).toHaveBeenCalled();
|
expect(EventEmitterPubSub.createPublisher).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
@@ -43,8 +43,8 @@ describe('ParsePubSub', function() {
|
|||||||
redisURL: 'redisURL'
|
redisURL: 'redisURL'
|
||||||
});
|
});
|
||||||
|
|
||||||
const RedisPubSub = require('../src/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
const RedisPubSub = require('../lib/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
||||||
const EventEmitterPubSub = require('../src/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
const EventEmitterPubSub = require('../lib/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
||||||
expect(RedisPubSub.createSubscriber).toHaveBeenCalledWith({redisURL: 'redisURL'});
|
expect(RedisPubSub.createSubscriber).toHaveBeenCalledWith({redisURL: 'redisURL'});
|
||||||
expect(EventEmitterPubSub.createSubscriber).not.toHaveBeenCalled();
|
expect(EventEmitterPubSub.createSubscriber).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
@@ -52,8 +52,8 @@ describe('ParsePubSub', function() {
|
|||||||
it('can create event emitter subscriber', function() {
|
it('can create event emitter subscriber', function() {
|
||||||
ParsePubSub.createSubscriber({});
|
ParsePubSub.createSubscriber({});
|
||||||
|
|
||||||
const RedisPubSub = require('../src/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
const RedisPubSub = require('../lib/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
||||||
const EventEmitterPubSub = require('../src/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
const EventEmitterPubSub = require('../lib/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
||||||
expect(RedisPubSub.createSubscriber).not.toHaveBeenCalled();
|
expect(RedisPubSub.createSubscriber).not.toHaveBeenCalled();
|
||||||
expect(EventEmitterPubSub.createSubscriber).toHaveBeenCalled();
|
expect(EventEmitterPubSub.createSubscriber).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
@@ -73,8 +73,8 @@ describe('ParsePubSub', function() {
|
|||||||
});
|
});
|
||||||
expect(adapter.createSubscriber).toHaveBeenCalled();
|
expect(adapter.createSubscriber).toHaveBeenCalled();
|
||||||
|
|
||||||
const RedisPubSub = require('../src/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
const RedisPubSub = require('../lib/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
||||||
const EventEmitterPubSub = require('../src/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
const EventEmitterPubSub = require('../lib/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
||||||
expect(RedisPubSub.createSubscriber).not.toHaveBeenCalled();
|
expect(RedisPubSub.createSubscriber).not.toHaveBeenCalled();
|
||||||
expect(EventEmitterPubSub.createSubscriber).not.toHaveBeenCalled();
|
expect(EventEmitterPubSub.createSubscriber).not.toHaveBeenCalled();
|
||||||
expect(RedisPubSub.createPublisher).not.toHaveBeenCalled();
|
expect(RedisPubSub.createPublisher).not.toHaveBeenCalled();
|
||||||
@@ -100,8 +100,8 @@ describe('ParsePubSub', function() {
|
|||||||
});
|
});
|
||||||
expect(adapter.createSubscriber).toHaveBeenCalled();
|
expect(adapter.createSubscriber).toHaveBeenCalled();
|
||||||
|
|
||||||
const RedisPubSub = require('../src/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
const RedisPubSub = require('../lib/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
||||||
const EventEmitterPubSub = require('../src/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
const EventEmitterPubSub = require('../lib/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
|
||||||
expect(RedisPubSub.createSubscriber).not.toHaveBeenCalled();
|
expect(RedisPubSub.createSubscriber).not.toHaveBeenCalled();
|
||||||
expect(EventEmitterPubSub.createSubscriber).not.toHaveBeenCalled();
|
expect(EventEmitterPubSub.createSubscriber).not.toHaveBeenCalled();
|
||||||
expect(RedisPubSub.createPublisher).not.toHaveBeenCalled();
|
expect(RedisPubSub.createPublisher).not.toHaveBeenCalled();
|
||||||
@@ -109,7 +109,7 @@ describe('ParsePubSub', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterEach(function(){
|
afterEach(function(){
|
||||||
jasmine.restoreLibrary('../src/Adapters/PubSub/RedisPubSub', 'RedisPubSub');
|
jasmine.restoreLibrary('../lib/Adapters/PubSub/RedisPubSub', 'RedisPubSub');
|
||||||
jasmine.restoreLibrary('../src/Adapters/PubSub/EventEmitterPubSub', 'EventEmitterPubSub');
|
jasmine.restoreLibrary('../lib/Adapters/PubSub/EventEmitterPubSub', 'EventEmitterPubSub');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import MongoStorageAdapter from '../src/Adapters/Storage/Mongo/MongoStorageAdapter';
|
const MongoStorageAdapter = require('../lib/Adapters/Storage/Mongo/MongoStorageAdapter').default;
|
||||||
const mongoURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase';
|
const mongoURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase';
|
||||||
import PostgresStorageAdapter from '../src/Adapters/Storage/Postgres/PostgresStorageAdapter';
|
const PostgresStorageAdapter = require('../lib/Adapters/Storage/Postgres/PostgresStorageAdapter').default;
|
||||||
const postgresURI = 'postgres://localhost:5432/parse_server_postgres_adapter_test_database';
|
const postgresURI = 'postgres://localhost:5432/parse_server_postgres_adapter_test_database';
|
||||||
const Parse = require('parse/node');
|
const Parse = require('parse/node');
|
||||||
const rp = require('request-promise');
|
const rp = require('request-promise');
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
// Roles are not accessible without the master key, so they are not intended
|
// Roles are not accessible without the master key, so they are not intended
|
||||||
// for use by clients. We can manually test them using the master key.
|
// for use by clients. We can manually test them using the master key.
|
||||||
const RestQuery = require("../src/RestQuery");
|
const RestQuery = require("../lib/RestQuery");
|
||||||
const Auth = require("../src/Auth").Auth;
|
const Auth = require("../lib/Auth").Auth;
|
||||||
const Config = require("../src/Config");
|
const Config = require("../lib/Config");
|
||||||
|
|
||||||
describe('Parse Role testing', () => {
|
describe('Parse Role testing', () => {
|
||||||
it('Do a bunch of basic role testing', done => {
|
it('Do a bunch of basic role testing', done => {
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
/* Tests for ParseServer.js */
|
/* Tests for ParseServer.js */
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
import MongoStorageAdapter from '../src/Adapters/Storage/Mongo/MongoStorageAdapter';
|
const MongoStorageAdapter = require('../lib/Adapters/Storage/Mongo/MongoStorageAdapter').default;
|
||||||
import PostgresStorageAdapter from '../src/Adapters/Storage/Postgres/PostgresStorageAdapter';
|
const PostgresStorageAdapter = require('../lib/Adapters/Storage/Postgres/PostgresStorageAdapter').default;
|
||||||
import ParseServer from '../src/ParseServer';
|
const ParseServer = require('../lib/ParseServer').default;
|
||||||
|
|
||||||
describe('Server Url Checks', () => {
|
describe('Server Url Checks', () => {
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const ParseServerRESTController = require('../src/ParseServerRESTController').ParseServerRESTController;
|
const ParseServerRESTController = require('../lib/ParseServerRESTController').ParseServerRESTController;
|
||||||
const ParseServer = require('../src/ParseServer').default;
|
const ParseServer = require('../lib/ParseServer').default;
|
||||||
const Parse = require('parse/node').Parse;
|
const Parse = require('parse/node').Parse;
|
||||||
|
|
||||||
let RESTController;
|
let RESTController;
|
||||||
|
|||||||
@@ -7,10 +7,10 @@
|
|||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
import MongoStorageAdapter from '../src/Adapters/Storage/Mongo/MongoStorageAdapter';
|
const MongoStorageAdapter = require('../lib/Adapters/Storage/Mongo/MongoStorageAdapter').default;
|
||||||
const request = require('request');
|
const request = require('request');
|
||||||
const passwordCrypto = require('../src/password');
|
const passwordCrypto = require('../lib/password');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const rp = require('request-promise');
|
const rp = require('request-promise');
|
||||||
|
|
||||||
function verifyACL(user) {
|
function verifyACL(user) {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const ParseWebSocket = require('../src/LiveQuery/ParseWebSocketServer').ParseWebSocket;
|
const ParseWebSocket = require('../lib/LiveQuery/ParseWebSocketServer').ParseWebSocket;
|
||||||
|
|
||||||
describe('ParseWebSocket', function() {
|
describe('ParseWebSocket', function() {
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const ParseWebSocketServer = require('../src/LiveQuery/ParseWebSocketServer').ParseWebSocketServer;
|
const ParseWebSocketServer = require('../lib/LiveQuery/ParseWebSocketServer').ParseWebSocketServer;
|
||||||
|
|
||||||
describe('ParseWebSocketServer', function() {
|
describe('ParseWebSocketServer', function() {
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
|
|
||||||
describe('Pointer Permissions', () => {
|
describe('Pointer Permissions', () => {
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const parser = require('../src/Adapters/Storage/Postgres/PostgresConfigParser');
|
const parser = require('../lib/Adapters/Storage/Postgres/PostgresConfigParser');
|
||||||
|
|
||||||
const queryParamTests = {
|
const queryParamTests = {
|
||||||
'a=1&b=2': { a: '1', b: '2' },
|
'a=1&b=2': { a: '1', b: '2' },
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
const Parse = require('parse/node').Parse;
|
const Parse = require('parse/node').Parse;
|
||||||
import PostgresStorageAdapter from '../src/Adapters/Storage/Postgres/PostgresStorageAdapter';
|
const PostgresStorageAdapter = require('../lib/Adapters/Storage/Postgres/PostgresStorageAdapter').default;
|
||||||
const postgresURI = 'postgres://localhost:5432/parse_server_postgres_adapter_test_database';
|
const postgresURI = 'postgres://localhost:5432/parse_server_postgres_adapter_test_database';
|
||||||
const ParseServer = require("../src/index");
|
const ParseServer = require("../lib/index");
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
//public schema
|
//public schema
|
||||||
const databaseOptions1 = {
|
const databaseOptions1 = {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import PostgresStorageAdapter from '../src/Adapters/Storage/Postgres/PostgresStorageAdapter';
|
const PostgresStorageAdapter = require('../lib/Adapters/Storage/Postgres/PostgresStorageAdapter').default;
|
||||||
const databaseURI = 'postgres://localhost:5432/parse_server_postgres_adapter_test_database';
|
const databaseURI = 'postgres://localhost:5432/parse_server_postgres_adapter_test_database';
|
||||||
|
|
||||||
const getColumns = (client, className) => {
|
const getColumns = (client, className) => {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const PromiseRouter = require("../src/PromiseRouter").default;
|
const PromiseRouter = require("../lib/PromiseRouter").default;
|
||||||
|
|
||||||
describe("PromiseRouter", () => {
|
describe("PromiseRouter", () => {
|
||||||
it("should properly handle rejects", (done) => {
|
it("should properly handle rejects", (done) => {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
const PushController = require('../src/Controllers/PushController').PushController;
|
const PushController = require('../lib/Controllers/PushController').PushController;
|
||||||
const StatusHandler = require('../src/StatusHandler');
|
const StatusHandler = require('../lib/StatusHandler');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const validatePushType = require('../src/Push/utils').validatePushType;
|
const validatePushType = require('../lib/Push/utils').validatePushType;
|
||||||
|
|
||||||
const successfulTransmissions = function(body, installations) {
|
const successfulTransmissions = function(body, installations) {
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import Config from "../src/Config";
|
const Config = require("../lib/Config");
|
||||||
import {PushQueue} from "../src/Push/PushQueue";
|
const {PushQueue} = require("../lib/Push/PushQueue");
|
||||||
|
|
||||||
describe('PushQueue', () => {
|
describe('PushQueue', () => {
|
||||||
describe('With a defined channel', () => {
|
describe('With a defined channel', () => {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const PushRouter = require('../src/Routers/PushRouter').PushRouter;
|
const PushRouter = require('../lib/Routers/PushRouter').PushRouter;
|
||||||
const request = require('request');
|
const request = require('request');
|
||||||
|
|
||||||
describe('PushRouter', () => {
|
describe('PushRouter', () => {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
const PushWorker = require('../src').PushWorker;
|
const PushWorker = require('../lib').PushWorker;
|
||||||
const PushUtils = require('../src/Push/utils');
|
const PushUtils = require('../lib/Push/utils');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const { pushStatusHandler } = require('../src/StatusHandler');
|
const { pushStatusHandler } = require('../lib/StatusHandler');
|
||||||
const rest = require('../src/rest');
|
const rest = require('../lib/rest');
|
||||||
|
|
||||||
describe('PushWorker', () => {
|
describe('PushWorker', () => {
|
||||||
it('should run with small batch', (done) => {
|
it('should run with small batch', (done) => {
|
||||||
@@ -90,6 +90,10 @@ describe('PushWorker', () => {
|
|||||||
expect(locales).toEqual(['fr']);
|
expect(locales).toEqual(['fr']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should handle empty body data', () => {
|
||||||
|
expect(PushUtils.getLocalesFromPush({})).toEqual([]);
|
||||||
|
});
|
||||||
|
|
||||||
it('transforms body appropriately', () => {
|
it('transforms body appropriately', () => {
|
||||||
const cleanBody = PushUtils.transformPushBodyForLocale({
|
const cleanBody = PushUtils.transformPushBodyForLocale({
|
||||||
data: {
|
data: {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
const Parse = require('parse/node');
|
const Parse = require('parse/node');
|
||||||
|
|
||||||
const Id = require('../src/LiveQuery/Id');
|
const Id = require('../lib/LiveQuery/Id');
|
||||||
const QueryTools = require('../src/LiveQuery/QueryTools');
|
const QueryTools = require('../lib/LiveQuery/QueryTools');
|
||||||
const queryHash = QueryTools.queryHash;
|
const queryHash = QueryTools.queryHash;
|
||||||
const matchesQuery = QueryTools.matchesQuery;
|
const matchesQuery = QueryTools.matchesQuery;
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
const Parse = require('parse/node');
|
const Parse = require('parse/node');
|
||||||
const ReadPreference = require('mongodb').ReadPreference;
|
const ReadPreference = require('mongodb').ReadPreference;
|
||||||
const rp = require('request-promise');
|
const rp = require('request-promise');
|
||||||
const Config = require("../src/Config");
|
const Config = require("../lib/Config");
|
||||||
|
|
||||||
describe_only_db('mongo')('Read preference option', () => {
|
describe_only_db('mongo')('Read preference option', () => {
|
||||||
it('should find in primary by default', (done) => {
|
it('should find in primary by default', (done) => {
|
||||||
@@ -40,7 +40,7 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should preserve the read preference set (#4831)', async () => {
|
it('should preserve the read preference set (#4831)', async () => {
|
||||||
const { MongoStorageAdapter } = require('../src/Adapters/Storage/Mongo/MongoStorageAdapter');
|
const { MongoStorageAdapter } = require('../lib/Adapters/Storage/Mongo/MongoStorageAdapter');
|
||||||
const adapterOptions = {
|
const adapterOptions = {
|
||||||
uri: 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase',
|
uri: 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase',
|
||||||
mongoOptions: {
|
mongoOptions: {
|
||||||
@@ -75,7 +75,6 @@ describe_only_db('mongo')('Read preference option', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
expect(myObjectReadPreference).toBe(true);
|
expect(myObjectReadPreference).toBe(true);
|
||||||
console.log('OK!');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should change read preference in the beforeFind trigger', (done) => {
|
it('should change read preference in the beforeFind trigger', (done) => {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const RedisCacheAdapter = require('../src/Adapters/Cache/RedisCacheAdapter').default;
|
const RedisCacheAdapter = require('../lib/Adapters/Cache/RedisCacheAdapter').default;
|
||||||
/*
|
/*
|
||||||
To run this test part of the complete suite
|
To run this test part of the complete suite
|
||||||
set PARSE_SERVER_TEST_CACHE='redis'
|
set PARSE_SERVER_TEST_CACHE='redis'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const RedisPubSub = require('../src/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
const RedisPubSub = require('../lib/Adapters/PubSub/RedisPubSub').RedisPubSub;
|
||||||
|
|
||||||
describe('RedisPubSub', function() {
|
describe('RedisPubSub', function() {
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
// These tests check the "find" functionality of the REST API.
|
// These tests check the "find" functionality of the REST API.
|
||||||
const auth = require('../src/Auth');
|
const auth = require('../lib/Auth');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const rest = require('../src/rest');
|
const rest = require('../lib/rest');
|
||||||
|
|
||||||
const querystring = require('querystring');
|
const querystring = require('querystring');
|
||||||
const rp = require('request-promise');
|
const rp = require('request-promise');
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const sessionToken = 'legacySessionToken';
|
const sessionToken = 'legacySessionToken';
|
||||||
const rp = require('request-promise');
|
const rp = require('request-promise');
|
||||||
const Parse = require('parse/node');
|
const Parse = require('parse/node');
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const SchemaController = require('../src/Controllers/SchemaController');
|
const SchemaController = require('../lib/Controllers/SchemaController');
|
||||||
const dd = require('deep-diff');
|
const dd = require('deep-diff');
|
||||||
|
|
||||||
let config;
|
let config;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
const CacheController = require('../src/Controllers/CacheController.js').default;
|
const CacheController = require('../lib/Controllers/CacheController.js').default;
|
||||||
const InMemoryCacheAdapter = require('../src/Adapters/Cache/InMemoryCacheAdapter').default;
|
const InMemoryCacheAdapter = require('../lib/Adapters/Cache/InMemoryCacheAdapter').default;
|
||||||
const SchemaCache = require('../src/Controllers/SchemaCache').default;
|
const SchemaCache = require('../lib/Controllers/SchemaCache').default;
|
||||||
|
|
||||||
describe('SchemaCache', () => {
|
describe('SchemaCache', () => {
|
||||||
let cacheController;
|
let cacheController;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const SessionTokenCache = require('../src/LiveQuery/SessionTokenCache').SessionTokenCache;
|
const SessionTokenCache = require('../lib/LiveQuery/SessionTokenCache').SessionTokenCache;
|
||||||
|
|
||||||
describe('SessionTokenCache', function() {
|
describe('SessionTokenCache', function() {
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
const Subscription = require('../src/LiveQuery/Subscription').Subscription;
|
const Subscription = require('../lib/LiveQuery/Subscription').Subscription;
|
||||||
let logger;
|
let logger;
|
||||||
describe('Subscription', function() {
|
describe('Subscription', function() {
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
logger = require('../src/logger').logger;
|
logger = require('../lib/logger').logger;
|
||||||
spyOn(logger, 'error').and.callThrough();
|
spyOn(logger, 'error').and.callThrough();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const twitter = require('../src/Adapters/Auth/twitter');
|
const twitter = require('../lib/Adapters/Auth/twitter');
|
||||||
|
|
||||||
describe('Twitter Auth', () => {
|
describe('Twitter Auth', () => {
|
||||||
it('should use the proper configuration', () => {
|
it('should use the proper configuration', () => {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const Parse = require("parse/node");
|
const Parse = require("parse/node");
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
|
|
||||||
describe('Uniqueness', function() {
|
describe('Uniqueness', function() {
|
||||||
it('fail when create duplicate value in unique field', done => {
|
it('fail when create duplicate value in unique field', done => {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
const UserController = require('../src/Controllers/UserController').UserController;
|
const UserController = require('../lib/Controllers/UserController').UserController;
|
||||||
const emailAdapter = require('./MockEmailAdapter')
|
const emailAdapter = require('./MockEmailAdapter')
|
||||||
const AppCache = require('../src/cache').AppCache;
|
const AppCache = require('../lib/cache').AppCache;
|
||||||
|
|
||||||
describe('UserController', () => {
|
describe('UserController', () => {
|
||||||
const user = {
|
const user = {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
const Parse = require('parse/node');
|
const Parse = require('parse/node');
|
||||||
const request = require('request-promise');
|
const request = require('request-promise');
|
||||||
|
|
||||||
// const Config = require('../src/Config');
|
// const Config = require('../lib/Config');
|
||||||
|
|
||||||
const EMAIL = 'foo@bar.com';
|
const EMAIL = 'foo@bar.com';
|
||||||
const ZIP = '10001';
|
const ZIP = '10001';
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
const MockEmailAdapterWithOptions = require('./MockEmailAdapterWithOptions');
|
const MockEmailAdapterWithOptions = require('./MockEmailAdapterWithOptions');
|
||||||
const request = require('request');
|
const request = require('request');
|
||||||
const Config = require("../src/Config");
|
const Config = require("../lib/Config");
|
||||||
|
|
||||||
describe("Custom Pages, Email Verification, Password Reset", () => {
|
describe("Custom Pages, Email Verification, Password Reset", () => {
|
||||||
it("should set the custom pages", (done) => {
|
it("should set the custom pages", (done) => {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const WinstonLoggerAdapter = require('../src/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
|
const WinstonLoggerAdapter = require('../lib/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
|
||||||
const request = require('request');
|
const request = require('request');
|
||||||
|
|
||||||
describe('info logs', () => {
|
describe('info logs', () => {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const batch = require('../src/batch');
|
const batch = require('../lib/batch');
|
||||||
|
|
||||||
const originalURL = '/parse/batch';
|
const originalURL = '/parse/batch';
|
||||||
const serverURL = 'http://localhost:1234/parse';
|
const serverURL = 'http://localhost:1234/parse';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const cryptoUtils = require('../src/cryptoUtils');
|
const cryptoUtils = require('../lib/cryptoUtils');
|
||||||
|
|
||||||
function givesUniqueResults(fn, iterations) {
|
function givesUniqueResults(fn, iterations) {
|
||||||
const results = {};
|
const results = {};
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ const supportsColor = require('supports-color');
|
|||||||
jasmine.DEFAULT_TIMEOUT_INTERVAL = process.env.PARSE_SERVER_TEST_TIMEOUT || 5000;
|
jasmine.DEFAULT_TIMEOUT_INTERVAL = process.env.PARSE_SERVER_TEST_TIMEOUT || 5000;
|
||||||
|
|
||||||
jasmine.getEnv().clearReporters();
|
jasmine.getEnv().clearReporters();
|
||||||
jasmine.getEnv().addReporter(new SpecReporter({ colors: { enabled: supportsColor.stdout }}));
|
jasmine.getEnv().addReporter(new SpecReporter({ colors: { enabled: supportsColor.stdout }, spec: { displayDuration: true }}));
|
||||||
|
|
||||||
global.on_db = (db, callback, elseCallback) => {
|
global.on_db = (db, callback, elseCallback) => {
|
||||||
if (process.env.PARSE_SERVER_TEST_DB == db) {
|
if (process.env.PARSE_SERVER_TEST_DB == db) {
|
||||||
@@ -23,15 +23,15 @@ if (global._babelPolyfill) {
|
|||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
const cache = require('../src/cache').default;
|
const cache = require('../lib/cache').default;
|
||||||
const ParseServer = require('../src/index').ParseServer;
|
const ParseServer = require('../lib/index').ParseServer;
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const TestUtils = require('../src/TestUtils');
|
const TestUtils = require('../lib/TestUtils');
|
||||||
const GridStoreAdapter = require('../src/Adapters/Files/GridStoreAdapter').GridStoreAdapter;
|
const GridStoreAdapter = require('../lib/Adapters/Files/GridStoreAdapter').GridStoreAdapter;
|
||||||
const FSAdapter = require('@parse/fs-files-adapter');
|
const FSAdapter = require('@parse/fs-files-adapter');
|
||||||
import PostgresStorageAdapter from '../src/Adapters/Storage/Postgres/PostgresStorageAdapter';
|
const PostgresStorageAdapter = require('../lib/Adapters/Storage/Postgres/PostgresStorageAdapter').default;
|
||||||
import MongoStorageAdapter from '../src/Adapters/Storage/Mongo/MongoStorageAdapter';
|
const MongoStorageAdapter = require('../lib/Adapters/Storage/Mongo/MongoStorageAdapter').default;
|
||||||
const RedisCacheAdapter = require('../src/Adapters/Cache/RedisCacheAdapter').default;
|
const RedisCacheAdapter = require('../lib/Adapters/Cache/RedisCacheAdapter').default;
|
||||||
|
|
||||||
const mongoURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase';
|
const mongoURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase';
|
||||||
const postgresURI = 'postgres://localhost:5432/parse_server_postgres_adapter_test_database';
|
const postgresURI = 'postgres://localhost:5432/parse_server_postgres_adapter_test_database';
|
||||||
@@ -422,7 +422,7 @@ global.it_exclude_dbs = excluded => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
global.it_only_db = db => {
|
global.it_only_db = db => {
|
||||||
if (process.env.PARSE_SERVER_TEST_DB === db) {
|
if (process.env.PARSE_SERVER_TEST_DB === db || !process.env.PARSE_SERVER_TEST_DB && db == 'mongo') {
|
||||||
return (name, suite) => {
|
return (name, suite) => {
|
||||||
return it(`[${db}] ${name}`, suite);
|
return it(`[${db}] ${name}`, suite);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
const request = require('request');
|
const request = require('request');
|
||||||
const parseServerPackage = require('../package.json');
|
const parseServerPackage = require('../package.json');
|
||||||
const MockEmailAdapterWithOptions = require('./MockEmailAdapterWithOptions');
|
const MockEmailAdapterWithOptions = require('./MockEmailAdapterWithOptions');
|
||||||
const ParseServer = require("../src/index");
|
const ParseServer = require("../lib/index");
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
|
|
||||||
import MongoStorageAdapter from '../src/Adapters/Storage/Mongo/MongoStorageAdapter';
|
const MongoStorageAdapter = require('../lib/Adapters/Storage/Mongo/MongoStorageAdapter').default;
|
||||||
|
|
||||||
describe('server', () => {
|
describe('server', () => {
|
||||||
it('requires a master key and app id', done => {
|
it('requires a master key and app id', done => {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import {
|
const {
|
||||||
numberParser,
|
numberParser,
|
||||||
numberOrBoolParser,
|
numberOrBoolParser,
|
||||||
booleanParser,
|
booleanParser,
|
||||||
@@ -6,7 +6,7 @@ import {
|
|||||||
arrayParser,
|
arrayParser,
|
||||||
moduleOrObjectParser,
|
moduleOrObjectParser,
|
||||||
nullParser,
|
nullParser,
|
||||||
} from '../src/Options/parsers';
|
} = require('../lib/Options/parsers');
|
||||||
|
|
||||||
describe('parsers', () => {
|
describe('parsers', () => {
|
||||||
it('parses correctly with numberParser', () => {
|
it('parses correctly with numberParser', () => {
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
// These tests check the "create" / "update" functionality of the REST API.
|
// These tests check the "create" / "update" functionality of the REST API.
|
||||||
const auth = require('../src/Auth');
|
const auth = require('../lib/Auth');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
const Parse = require('parse/node').Parse;
|
const Parse = require('parse/node').Parse;
|
||||||
const rest = require('../src/rest');
|
const rest = require('../lib/rest');
|
||||||
const RestWrite = require('../src/RestWrite');
|
const RestWrite = require('../lib/RestWrite');
|
||||||
const request = require('request');
|
const request = require('request');
|
||||||
const rp = require('request-promise');
|
const rp = require('request-promise');
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ const Parse = require('parse/node').Parse;
|
|||||||
const request = require('request');
|
const request = require('request');
|
||||||
const rp = require('request-promise');
|
const rp = require('request-promise');
|
||||||
const dd = require('deep-diff');
|
const dd = require('deep-diff');
|
||||||
const Config = require('../src/Config');
|
const Config = require('../lib/Config');
|
||||||
|
|
||||||
let config;
|
let config;
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
"*spec.js"
|
"*spec.js"
|
||||||
],
|
],
|
||||||
"helpers": [
|
"helpers": [
|
||||||
"../node_modules/babel-core/register.js",
|
|
||||||
"helper.js"
|
"helper.js"
|
||||||
],
|
],
|
||||||
"random": false
|
"random": false
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
// testing-routes.js
|
// testing-routes.js
|
||||||
import AppCache from '../src/cache';
|
const AppCache = require('../lib/cache').default;
|
||||||
import * as middlewares from '../src/middlewares';
|
const middlewares = require('../lib/middlewares');
|
||||||
import { ParseServer } from '../src/index';
|
const { ParseServer } = require('../lib/index');
|
||||||
import { Parse } from 'parse/node';
|
const { Parse } = require('parse/node');
|
||||||
|
|
||||||
const express = require('express'),
|
const express = require('express'),
|
||||||
cryptoUtils = require('../src/cryptoUtils');
|
cryptoUtils = require('../lib/cryptoUtils');
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
|||||||
@@ -42,12 +42,6 @@ export class PushWorker {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unsubscribe(): void {
|
|
||||||
if (this.subscriber) {
|
|
||||||
this.subscriber.unsubscribe(this.channel);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
run({ body, query, pushStatus, applicationId, UTCOffset }: any): Promise<*> {
|
run({ body, query, pushStatus, applicationId, UTCOffset }: any): Promise<*> {
|
||||||
const config = Config.get(applicationId);
|
const config = Config.get(applicationId);
|
||||||
const auth = master(config);
|
const auth = master(config);
|
||||||
@@ -59,8 +53,6 @@ export class PushWorker {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
return this.sendToAdapter(body, results, pushStatus, config, UTCOffset);
|
return this.sendToAdapter(body, results, pushStatus, config, UTCOffset);
|
||||||
}, err => {
|
|
||||||
throw err;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user