@@ -20,77 +20,88 @@ const {Client} = pg;
20
20
t . test ( 'open connection and retrieves standard pg tables' , async t => {
21
21
const connector = new Connector ( ) ;
22
22
const clientOpts = await connector . getOptions ( {
23
- instanceConnectionName : process . env . POSTGRES_CONNECTION_NAME ,
24
- ipType : 'PUBLIC' ,
25
- authType : 'PASSWORD' ,
23
+ instanceConnectionName : String ( process . env . POSTGRES_CONNECTION_NAME ) ,
26
24
} ) ;
27
25
const client = new Client ( {
28
26
...clientOpts ,
29
- user : process . env . POSTGRES_USER ,
30
- password : process . env . POSTGRES_PASS ,
31
- database : process . env . POSTGRES_DB ,
27
+ user : String ( process . env . POSTGRES_USER ) ,
28
+ password : String ( process . env . POSTGRES_PASS ) ,
29
+ database : String ( process . env . POSTGRES_DB ) ,
32
30
} ) ;
33
- client . connect ( ) ;
31
+ t . after ( async ( ) => {
32
+ try {
33
+ await client . end ( ) ;
34
+ } catch ( e ) { }
35
+ connector . close ( ) ;
36
+ } )
37
+
38
+ await client . connect ( ) ;
34
39
35
40
const {
36
41
rows : [ result ] ,
37
42
} = await client . query ( 'SELECT NOW();' ) ;
38
43
const returnedDate = result [ 'now' ] ;
39
44
t . ok ( returnedDate . getTime ( ) , 'should have valid returned date object' ) ;
40
45
41
- await client . end ( ) ;
42
- connector . close ( ) ;
43
46
} ) ;
44
47
45
48
t . test ( 'open IAM connection and retrieves standard pg tables' , async t => {
46
49
const connector = new Connector ( ) ;
47
50
const clientOpts = await connector . getOptions ( {
48
- instanceConnectionName : process . env . POSTGRES_CONNECTION_NAME ,
49
- ipType : ' PUBLIC' ,
50
- authType : ' IAM' ,
51
+ instanceConnectionName : String ( process . env . POSTGRES_CONNECTION_NAME ) ,
52
+ ipType : " PUBLIC" ,
53
+ authType : " IAM" ,
51
54
} ) ;
52
55
const client = new Client ( {
53
56
...clientOpts ,
54
- user : process . env . POSTGRES_IAM_USER ,
55
- database : process . env . POSTGRES_DB ,
57
+ user : String ( process . env . POSTGRES_USER_IAM_NODE ) ,
58
+ database : String ( process . env . POSTGRES_DB ) ,
56
59
} ) ;
57
- client . connect ( ) ;
60
+ t . after ( async ( ) => {
61
+ try {
62
+ await client . end ( ) ;
63
+ } catch ( e ) { }
64
+ connector . close ( ) ;
65
+ } )
66
+ await client . connect ( ) ;
58
67
59
68
const {
60
69
rows : [ result ] ,
61
70
} = await client . query ( 'SELECT NOW();' ) ;
62
71
const returnedDate = result [ 'now' ] ;
63
72
t . ok ( returnedDate . getTime ( ) , 'should have valid returned date object' ) ;
64
73
65
- await client . end ( ) ;
66
- connector . close ( ) ;
67
74
} ) ;
68
75
69
76
t . test (
70
77
'open connection to CAS-based CA instance and retrieves standard pg tables' ,
71
78
async t => {
72
79
const connector = new Connector ( ) ;
73
80
const clientOpts = await connector . getOptions ( {
74
- instanceConnectionName : process . env . POSTGRES_CAS_CONNECTION_NAME ,
75
- ipType : 'PUBLIC' ,
76
- authType : 'PASSWORD' ,
81
+ instanceConnectionName : String ( process . env . POSTGRES_CAS_CONNECTION_NAME ) ,
77
82
} ) ;
78
83
const client = new Client ( {
79
84
...clientOpts ,
80
- user : process . env . POSTGRES_USER ,
81
- password : process . env . POSTGRES_CAS_PASS ,
82
- database : process . env . POSTGRES_DB ,
85
+ user : String ( process . env . POSTGRES_USER ) ,
86
+ password : String ( process . env . POSTGRES_CAS_PASS ) ,
87
+ database : String ( process . env . POSTGRES_DB ) ,
83
88
} ) ;
84
- client . connect ( ) ;
89
+ t . after ( async ( ) => {
90
+ try {
91
+ await client . end ( ) ;
92
+ } catch ( e ) { }
93
+ connector . close ( ) ;
94
+ } )
95
+
96
+ await client . connect ( ) ;
85
97
86
98
const {
87
99
rows : [ result ] ,
88
100
} = await client . query ( 'SELECT NOW();' ) ;
89
101
const returnedDate = result [ 'now' ] ;
90
102
t . ok ( returnedDate . getTime ( ) , 'should have valid returned date object' ) ;
91
103
92
- await client . end ( ) ;
93
- connector . close ( ) ;
104
+
94
105
}
95
106
) ;
96
107
@@ -109,13 +120,86 @@ t.test(
109
120
password : String ( process . env . POSTGRES_CUSTOMER_CAS_PASS ) ,
110
121
database : String ( process . env . POSTGRES_DB ) ,
111
122
} ) ;
112
- client . connect ( ) ;
123
+ t . after ( async ( ) => {
124
+ try {
125
+ await client . end ( ) ;
126
+ } catch ( e ) { }
127
+ connector . close ( ) ;
128
+ } )
129
+
130
+ await client . connect ( ) ;
113
131
const {
114
132
rows : [ result ] ,
115
133
} = await client . query ( 'SELECT NOW();' ) ;
116
134
const returnedDate = result [ 'now' ] ;
117
135
t . ok ( returnedDate . getTime ( ) , 'should have valid returned date object' ) ;
118
- await client . end ( ) ;
119
- connector . close ( ) ;
136
+
137
+ }
138
+ ) ;
139
+
140
+ t . test (
141
+ 'open connection to Domain Name instance retrieves standard pg tables' ,
142
+ async t => {
143
+ const connector = new Connector ( ) ;
144
+ const clientOpts = await connector . getOptions ( {
145
+ instanceConnectionName : String (
146
+ process . env . POSTGRES_CUSTOMER_CAS_DOMAIN_NAME
147
+ ) ,
148
+ } ) ;
149
+ const client = new Client ( {
150
+ ...clientOpts ,
151
+ user : String ( process . env . POSTGRES_USER ) ,
152
+ password : String ( process . env . POSTGRES_CUSTOMER_CAS_PASS ) ,
153
+ database : String ( process . env . POSTGRES_DB ) ,
154
+ } ) ;
155
+ t . after ( async ( ) => {
156
+ try {
157
+ await client . end ( ) ;
158
+ } catch ( e ) { }
159
+ connector . close ( ) ;
160
+ } )
161
+
162
+ await client . connect ( ) ;
163
+ const {
164
+ rows : [ result ] ,
165
+ } = await client . query ( 'SELECT NOW();' ) ;
166
+ const returnedDate = result [ 'now' ] ;
167
+ t . ok ( returnedDate . getTime ( ) , 'should have valid returned date object' ) ;
168
+
169
+ }
170
+ ) ;
171
+
172
+ t . test (
173
+ 'open connection to Domain Name invalid domain name rejects connection' ,
174
+ async t => {
175
+ const connector = new Connector ( ) ;
176
+ const clientOpts = await connector . getOptions ( {
177
+ instanceConnectionName : String (
178
+ process . env . POSTGRES_CUSTOMER_CAS_INVALID_DOMAIN_NAME
179
+ ) ,
180
+ } ) ;
181
+ const client = new Client ( {
182
+ ...clientOpts ,
183
+ user : String ( process . env . POSTGRES_USER ) ,
184
+ password : String ( process . env . POSTGRES_CUSTOMER_CAS_PASS ) ,
185
+ database : String ( process . env . POSTGRES_DB ) ,
186
+ } ) ;
187
+ t . after ( async ( ) => {
188
+ console . log ( "Ending..." )
189
+ try {
190
+ await client . end ( ) ;
191
+ } catch ( e ) { }
192
+ connector . close ( ) ;
193
+ console . log ( "Ended..." )
194
+
195
+ } )
196
+ try {
197
+ await client . connect ( )
198
+ t . fail ( "Should throw exception" )
199
+ } catch ( e ) {
200
+ t . same ( e . code , 'ERR_TLS_CERT_ALTNAME_INVALID' )
201
+ } finally {
202
+ t . end ( )
203
+ }
120
204
}
121
205
) ;
0 commit comments