1
1
const Parse = require ( 'parse/node' ) . Parse ;
2
2
const PostgresStorageAdapter = require ( '../src/Adapters/Storage/Postgres/PostgresStorageAdapter' ) ;
3
3
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' ) ;
5
6
//public schema
6
7
const databaseOptions1 = {
7
8
initOptions : {
@@ -28,40 +29,54 @@ const GameScore = Parse.Object.extend({
28
29
className : "GameScore"
29
30
} ) ;
30
31
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
+
31
52
describe_only_db ( 'postgres' ) ( 'Postgres database init options' , ( ) => {
53
+ let server ;
54
+
55
+ afterEach ( ( ) => {
56
+ if ( server ) {
57
+ server . close ( ) ;
58
+ }
59
+ } )
60
+
32
61
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
+ } )
43
66
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 ) ;
47
72
} ) ;
48
73
49
74
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 ) ;
66
81
} ) ;
67
82
} ) ;
0 commit comments