Skip to content

Commit f42ccba

Browse files
authored
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
1 parent d8a257d commit f42ccba

File tree

3 files changed

+47
-37
lines changed

3 files changed

+47
-37
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"parse-server-push-adapter": "2.0.0",
3535
"parse-server-s3-adapter": "1.1.0",
3636
"parse-server-simple-mailgun-adapter": "1.0.0",
37-
"pg-promise": "5.9.7",
37+
"pg-promise": "6.3.0",
3838
"redis": "2.7.1",
3939
"request": "2.81.0",
4040
"semver": "5.3.0",

spec/PostgresInitOptions.spec.js

Lines changed: 45 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
const Parse = require('parse/node').Parse;
22
const PostgresStorageAdapter = require('../src/Adapters/Storage/Postgres/PostgresStorageAdapter');
33
const postgresURI = 'postgres://localhost:5432/parse_server_postgres_adapter_test_database';
4-
const Config = require('../src/Config');
4+
const ParseServer = require("../src/index");
5+
const express = require('express');
56
//public schema
67
const databaseOptions1 = {
78
initOptions: {
@@ -28,40 +29,54 @@ const GameScore = Parse.Object.extend({
2829
className: "GameScore"
2930
});
3031

32+
function createParseServer(options) {
33+
return new Promise((resolve, reject) => {
34+
const parseServer = new ParseServer.default(Object.assign({},
35+
defaultConfiguration, options, {
36+
serverURL: "http://localhost:12666/parse",
37+
__indexBuildCompletionCallbackForTests: promise => {
38+
promise
39+
.then(() => {
40+
expect(Parse.applicationId).toEqual("test");
41+
var app = express();
42+
app.use('/parse', parseServer.app);
43+
44+
const server = app.listen(12666);
45+
Parse.serverURL = "http://localhost:12666/parse";
46+
resolve(server);
47+
}, reject);
48+
}}));
49+
});
50+
}
51+
3152
describe_only_db('postgres')('Postgres database init options', () => {
53+
let server;
54+
55+
afterEach(() => {
56+
if (server) {
57+
server.close();
58+
}
59+
})
60+
3261
it('should create server with public schema databaseOptions', (done) => {
33-
const config = new Config('test');
34-
// Close the current DB before continueing
35-
config.database.adapter._pgp.end();
36-
reconfigureServer({
37-
databaseAdapter: new PostgresStorageAdapter({
38-
uri: postgresURI, collectionPrefix: 'test_',
39-
databaseOptions: databaseOptions1
40-
})
41-
}).then(done, done.fail);
42-
});
62+
const adapter = new PostgresStorageAdapter({
63+
uri: postgresURI, collectionPrefix: 'test_',
64+
databaseOptions: databaseOptions1
65+
})
4366

44-
it("save new GameScore in public schema", function (done) {
45-
var score = new GameScore({ "score": 1337, "playerName": "Sean Plott", "cheatMode": false });
46-
score.save().then(done, done.fail);
67+
createParseServer({ databaseAdapter: adapter }).then((newServer) => {
68+
server = newServer;
69+
var score = new GameScore({ "score": 1337, "playerName": "Sean Plott", "cheatMode": false });
70+
return score.save();
71+
}).then(done, done.fail);
4772
});
4873

4974
it('should fail to create server if schema databaseOptions does not exist', (done) => {
50-
const config = new Config('test');
51-
// Close the current DB before continueing
52-
config.database.adapter._pgp.end();
53-
reconfigureServer({
54-
databaseAdapter: new PostgresStorageAdapter({
55-
uri: postgresURI, collectionPrefix: 'test_',
56-
databaseOptions: databaseOptions2
57-
})
58-
}).then(() => {
59-
done.fail('Should not succeed');
60-
}, error => {
61-
// INVALID_SCHEMA error 3F000
62-
// https://www.postgresql.org/docs/9.5/static/errcodes-appendix.html
63-
expect(error.code).toEqual('3F000');
64-
done();
65-
});
75+
const adapter = new PostgresStorageAdapter({
76+
uri: postgresURI, collectionPrefix: 'test_',
77+
databaseOptions: databaseOptions2
78+
})
79+
80+
createParseServer({ databaseAdapter: adapter }).then(done.fail, done);
6681
});
6782
});

spec/helper.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,7 @@ beforeEach(done => {
189189
Parse.initialize('test', 'test', 'test');
190190
Parse.serverURL = 'http://localhost:' + port + '/1';
191191
done();
192-
}, () => {
193-
Parse.initialize('test', 'test', 'test');
194-
Parse.serverURL = 'http://localhost:' + port + '/1';
195-
// fail(JSON.stringify(error));
196-
done();
197-
})
192+
}).catch(done.fail);
198193
});
199194

200195
afterEach(function(done) {

0 commit comments

Comments
 (0)