Skip to content

Fix postgres tests #2480

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 7 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
"redis": "2.6.2",
"request": "2.74.0",
"request-promise": "4.1.0",
"semver": "^5.2.0",
"semver": "5.2.0",
"tv4": "1.2.7",
"winston": "2.2.0",
"winston-daily-rotate-file": "1.2.0",
Expand All @@ -67,14 +67,12 @@
},
"scripts": {
"dev": "npm run build && node bin/dev",
"build": "babel src/ -d lib/",
"pretest": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=3.2.6} MONGODB_STORAGE_ENGINE=mmapv1 mongodb-runner start",
"test": "cross-env NODE_ENV=test TESTING=1 babel-node $COVERAGE_OPTION ./node_modules/jasmine/bin/jasmine.js",
"test:win": "npm run pretest && cross-env NODE_ENV=test TESTING=1 babel-node ./node_modules/jasmine/bin/jasmine.js && npm run posttest",
"posttest": "mongodb-runner stop",
"coverage": "cross-env COVERAGE_OPTION='./node_modules/.bin/istanbul cover' npm test",
"coverage:win": "npm run pretest && cross-env NODE_ENV=test TESTING=1 babel-node ./node_modules/babel-istanbul/lib/cli.js cover ./node_modules/jasmine/bin/jasmine.js && npm run posttest",
"start": "node ./bin/parse-server",
"build": "./node_modules/.bin/babel src/ -d lib/",
"pretest": "test -z \"$PARSE_SERVER_TEST_DB\" && cross-env MONGODB_VERSION=${MONGODB_VERSION:=3.2.6} MONGODB_STORAGE_ENGINE=mmapv1 ./node_modules/.bin/mongodb-runner start || echo",
"test": "cross-env NODE_ENV=test TESTING=1 ./node_modules/.bin/babel-node $COVERAGE_OPTION ./node_modules/jasmine/bin/jasmine.js",
"test:win": "npm run pretest && cross-env NODE_ENV=test TESTING=1 ./node_modules/.bin/babel-node ./node_modules/babel-istanbul/lib/cli.js cover -x **/spec/** ./node_modules/jasmine/bin/jasmine.js && npm run posttest",
"posttest": "./node_modules/.bin/mongodb-runner stop",
"coverage": "cross-env COVERAGE_OPTION='./node_modules/babel-istanbul/lib/cli.js cover -x **/spec/**' npm test",
"prepublish": "npm run build"
},
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion spec/MongoStorageAdapter.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const databaseURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDataba

// These tests are specific to the mongo storage adapter + mongo storage format
// and will eventually be moved into their own repo
describe('MongoStorageAdapter', () => {
describe_only_db('mongo')('MongoStorageAdapter', () => {
beforeEach(done => {
new MongoStorageAdapter({ uri: databaseURI })
.deleteAllClasses()
Expand Down
2 changes: 1 addition & 1 deletion spec/ParseACL.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -1093,7 +1093,7 @@ describe('Parse.ACL', () => {
});
});

it("acl saveAll with permissions", (done) => {
it_exclude_dbs(['postgres'])("acl saveAll with permissions", (done) => {
Parse.User.signUp("alice", "wonderland", null, {
success: function(alice) {
var acl = new Parse.ACL(alice);
Expand Down
2 changes: 1 addition & 1 deletion spec/ParseAPI.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ describe('miscellaneous', function() {
});
});

it('test rest_create_app', function(done) {
it_exclude_dbs(['postgres'])('test rest_create_app', function(done) {
var appId;
Parse._request('POST', 'rest_create_app').then((res) => {
expect(typeof res.application_id).toEqual('string');
Expand Down
22 changes: 11 additions & 11 deletions spec/ParseFile.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ for (var i = 0; i < str.length; i++) {

describe('Parse.File testing', () => {
describe('creating files', () => {
it('works with Content-Type', done => {
it_exclude_dbs(['postgres'])('works with Content-Type', done => {
var headers = {
'Content-Type': 'application/octet-stream',
'X-Parse-Application-Id': 'test',
Expand All @@ -37,7 +37,7 @@ describe('Parse.File testing', () => {
});


it('works with _ContentType', done => {
it_exclude_dbs(['postgres'])('works with _ContentType', done => {

request.post({
url: 'http://localhost:8378/1/files/file',
Expand All @@ -61,7 +61,7 @@ describe('Parse.File testing', () => {
});
});

it('works without Content-Type', done => {
it_exclude_dbs(['postgres'])('works without Content-Type', done => {
var headers = {
'X-Parse-Application-Id': 'test',
'X-Parse-REST-API-Key': 'rest'
Expand All @@ -84,7 +84,7 @@ describe('Parse.File testing', () => {
});
});

it('supports REST end-to-end file create, read, delete, read', done => {
it_exclude_dbs(['postgres'])('supports REST end-to-end file create, read, delete, read', done => {
var headers = {
'Content-Type': 'image/jpeg',
'X-Parse-Application-Id': 'test',
Expand Down Expand Up @@ -128,7 +128,7 @@ describe('Parse.File testing', () => {
});
});

it('blocks file deletions with missing or incorrect master-key header', done => {
it_exclude_dbs(['postgres'])('blocks file deletions with missing or incorrect master-key header', done => {
var headers = {
'Content-Type': 'image/jpeg',
'X-Parse-Application-Id': 'test',
Expand Down Expand Up @@ -173,7 +173,7 @@ describe('Parse.File testing', () => {
});
});

it('handles other filetypes', done => {
it_exclude_dbs(['postgres'])('handles other filetypes', done => {
var headers = {
'Content-Type': 'image/jpeg',
'X-Parse-Application-Id': 'test',
Expand All @@ -196,7 +196,7 @@ describe('Parse.File testing', () => {
});
});

it("save file", done => {
it_exclude_dbs(['postgres'])("save file", done => {
var file = new Parse.File("hello.txt", data, "text/plain");
ok(!file.url());
file.save(expectSuccess({
Expand Down Expand Up @@ -316,7 +316,7 @@ describe('Parse.File testing', () => {
}));
});

it("saving an already saved file", done => {
it_exclude_dbs(['postgres'])("saving an already saved file", done => {
var file = new Parse.File("hello.txt", data, "text/plain");
ok(!file.url());
file.save(expectSuccess({
Expand All @@ -337,7 +337,7 @@ describe('Parse.File testing', () => {
}));
});

it("two saves at the same time", done => {
it_exclude_dbs(['postgres'])("two saves at the same time", done => {
var file = new Parse.File("hello.txt", data, "text/plain");

var firstName;
Expand Down Expand Up @@ -369,7 +369,7 @@ describe('Parse.File testing', () => {
}));
});

it("content-type used with no extension", done => {
it_exclude_dbs(['postgres'])("content-type used with no extension", done => {
var headers = {
'Content-Type': 'text/html',
'X-Parse-Application-Id': 'test',
Expand All @@ -390,7 +390,7 @@ describe('Parse.File testing', () => {
});
});

it("filename is url encoded", done => {
it_exclude_dbs(['postgres'])("filename is url encoded", done => {
var headers = {
'Content-Type': 'text/html',
'X-Parse-Application-Id': 'test',
Expand Down
2 changes: 1 addition & 1 deletion spec/ParseUser.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -1698,7 +1698,7 @@ describe('Parse.User testing', () => {
bob.setPassword('meower');
return bob.save();
}).then(() => {
return Parse.User.logIn('bob', 'meower');
return Parse.User.logIn('bob', 'meower');
}).then((bob) => {
expect(bob.getUsername()).toEqual('bob');
done();
Expand Down
10 changes: 10 additions & 0 deletions spec/helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,16 @@ global.fit_exclude_dbs = excluded => {
}
}

global.describe_only_db = db => {
if (process.env.PARSE_SERVER_TEST_DB == db) {
return describe;
} else if (!process.env.PARSE_SERVER_TEST_DB && db == 'mongo') {
return describe;
} else {
return () => {};
}
}

// LiveQuery test setting
require('../src/LiveQuery/PLog').logLevel = 'NONE';
var libraryCache = {};
Expand Down