fix(package): update pg-promise to version 6.3.0 (#3982)

* fix(package): update pg-promise to version 6.3.0

Closes #3954

* Restores PG adapter after tests that close the connection

* investigation

* Use isolated parse-server to not impeed on other specs

* Update PostgresInitOptions.spec.js
This commit is contained in:
Florent Vilmart
2017-07-02 14:29:54 -04:00
committed by GitHub
parent d8a257d951
commit f42ccba5b1
3 changed files with 47 additions and 37 deletions

View File

@@ -34,7 +34,7 @@
"parse-server-push-adapter": "2.0.0",
"parse-server-s3-adapter": "1.1.0",
"parse-server-simple-mailgun-adapter": "1.0.0",
"pg-promise": "5.9.7",
"pg-promise": "6.3.0",
"redis": "2.7.1",
"request": "2.81.0",
"semver": "5.3.0",

View File

@@ -1,7 +1,8 @@
const Parse = require('parse/node').Parse;
const PostgresStorageAdapter = require('../src/Adapters/Storage/Postgres/PostgresStorageAdapter');
const postgresURI = 'postgres://localhost:5432/parse_server_postgres_adapter_test_database';
const Config = require('../src/Config');
const ParseServer = require("../src/index");
const express = require('express');
//public schema
const databaseOptions1 = {
initOptions: {
@@ -28,40 +29,54 @@ const GameScore = Parse.Object.extend({
className: "GameScore"
});
function createParseServer(options) {
return new Promise((resolve, reject) => {
const parseServer = new ParseServer.default(Object.assign({},
defaultConfiguration, options, {
serverURL: "http://localhost:12666/parse",
__indexBuildCompletionCallbackForTests: promise => {
promise
.then(() => {
expect(Parse.applicationId).toEqual("test");
var app = express();
app.use('/parse', parseServer.app);
const server = app.listen(12666);
Parse.serverURL = "http://localhost:12666/parse";
resolve(server);
}, reject);
}}));
});
}
describe_only_db('postgres')('Postgres database init options', () => {
let server;
afterEach(() => {
if (server) {
server.close();
}
})
it('should create server with public schema databaseOptions', (done) => {
const config = new Config('test');
// Close the current DB before continueing
config.database.adapter._pgp.end();
reconfigureServer({
databaseAdapter: new PostgresStorageAdapter({
uri: postgresURI, collectionPrefix: 'test_',
databaseOptions: databaseOptions1
})
const adapter = new PostgresStorageAdapter({
uri: postgresURI, collectionPrefix: 'test_',
databaseOptions: databaseOptions1
})
createParseServer({ databaseAdapter: adapter }).then((newServer) => {
server = newServer;
var score = new GameScore({ "score": 1337, "playerName": "Sean Plott", "cheatMode": false });
return score.save();
}).then(done, done.fail);
});
it("save new GameScore in public schema", function (done) {
var score = new GameScore({ "score": 1337, "playerName": "Sean Plott", "cheatMode": false });
score.save().then(done, done.fail);
});
it('should fail to create server if schema databaseOptions does not exist', (done) => {
const config = new Config('test');
// Close the current DB before continueing
config.database.adapter._pgp.end();
reconfigureServer({
databaseAdapter: new PostgresStorageAdapter({
uri: postgresURI, collectionPrefix: 'test_',
databaseOptions: databaseOptions2
})
}).then(() => {
done.fail('Should not succeed');
}, error => {
// INVALID_SCHEMA error 3F000
// https://www.postgresql.org/docs/9.5/static/errcodes-appendix.html
expect(error.code).toEqual('3F000');
done();
});
const adapter = new PostgresStorageAdapter({
uri: postgresURI, collectionPrefix: 'test_',
databaseOptions: databaseOptions2
})
createParseServer({ databaseAdapter: adapter }).then(done.fail, done);
});
});

View File

@@ -189,12 +189,7 @@ beforeEach(done => {
Parse.initialize('test', 'test', 'test');
Parse.serverURL = 'http://localhost:' + port + '/1';
done();
}, () => {
Parse.initialize('test', 'test', 'test');
Parse.serverURL = 'http://localhost:' + port + '/1';
// fail(JSON.stringify(error));
done();
})
}).catch(done.fail);
});
afterEach(function(done) {