@@ -20,77 +20,87 @@ const {Client} = pg;
2020t . test ( 'open connection and retrieves standard pg tables' , async t => {
2121 const connector = new Connector ( ) ;
2222 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 ) ,
2624 } ) ;
2725 const client = new Client ( {
2826 ...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 ) ,
3230 } ) ;
33- client . connect ( ) ;
31+ t . after ( async ( ) => {
32+ try {
33+ await client . end ( ) ;
34+ } finally {
35+ connector . close ( ) ;
36+ }
37+ } ) ;
38+
39+ await client . connect ( ) ;
3440
3541 const {
3642 rows : [ result ] ,
3743 } = await client . query ( 'SELECT NOW();' ) ;
3844 const returnedDate = result [ 'now' ] ;
3945 t . ok ( returnedDate . getTime ( ) , 'should have valid returned date object' ) ;
40-
41- await client . end ( ) ;
42- connector . close ( ) ;
4346} ) ;
4447
4548t . test ( 'open IAM connection and retrieves standard pg tables' , async t => {
4649 const connector = new Connector ( ) ;
4750 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" ,
5154 } ) ;
5255 const client = new Client ( {
5356 ...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 ) ,
59+ } ) ;
60+ t . after ( async ( ) => {
61+ try {
62+ await client . end ( ) ;
63+ } finally {
64+ connector . close ( ) ;
65+ }
5666 } ) ;
57- client . connect ( ) ;
67+ await client . connect ( ) ;
5868
5969 const {
6070 rows : [ result ] ,
6171 } = await client . query ( 'SELECT NOW();' ) ;
6272 const returnedDate = result [ 'now' ] ;
6373 t . ok ( returnedDate . getTime ( ) , 'should have valid returned date object' ) ;
64-
65- await client . end ( ) ;
66- connector . close ( ) ;
6774} ) ;
6875
6976t . test (
7077 'open connection to CAS-based CA instance and retrieves standard pg tables' ,
7178 async t => {
7279 const connector = new Connector ( ) ;
7380 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 ) ,
7782 } ) ;
7883 const client = new Client ( {
7984 ...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 ) ,
8388 } ) ;
84- client . connect ( ) ;
89+ t . after ( async ( ) => {
90+ try {
91+ await client . end ( ) ;
92+ } finally {
93+ connector . close ( ) ;
94+ }
95+ } ) ;
96+
97+ await client . connect ( ) ;
8598
8699 const {
87100 rows : [ result ] ,
88101 } = await client . query ( 'SELECT NOW();' ) ;
89102 const returnedDate = result [ 'now' ] ;
90103 t . ok ( returnedDate . getTime ( ) , 'should have valid returned date object' ) ;
91-
92- await client . end ( ) ;
93- connector . close ( ) ;
94104 }
95105) ;
96106
@@ -109,13 +119,86 @@ t.test(
109119 password : String ( process . env . POSTGRES_CUSTOMER_CAS_PASS ) ,
110120 database : String ( process . env . POSTGRES_DB ) ,
111121 } ) ;
112- client . connect ( ) ;
122+ t . after ( async ( ) => {
123+ try {
124+ await client . end ( ) ;
125+ } finally {
126+ connector . close ( ) ;
127+ }
128+ } ) ;
129+
130+ await client . connect ( ) ;
131+ const {
132+ rows : [ result ] ,
133+ } = await client . query ( 'SELECT NOW();' ) ;
134+ const returnedDate = result [ 'now' ] ;
135+ t . ok ( returnedDate . getTime ( ) , 'should have valid returned date object' ) ;
136+ }
137+ ) ;
138+
139+ t . test (
140+ 'open connection to Domain Name instance retrieves standard pg tables' ,
141+ async t => {
142+ const connector = new Connector ( ) ;
143+ const clientOpts = await connector . getOptions ( {
144+ instanceConnectionName : String (
145+ process . env . POSTGRES_CUSTOMER_CAS_DOMAIN_NAME
146+ ) ,
147+ } ) ;
148+ const client = new Client ( {
149+ ...clientOpts ,
150+ user : String ( process . env . POSTGRES_USER ) ,
151+ password : String ( process . env . POSTGRES_CUSTOMER_CAS_PASS ) ,
152+ database : String ( process . env . POSTGRES_DB ) ,
153+ } ) ;
154+ t . after ( async ( ) => {
155+ try {
156+ await client . end ( ) ;
157+ } finally {
158+ connector . close ( ) ;
159+ }
160+ } ) ;
161+
162+ await client . connect ( ) ;
113163 const {
114164 rows : [ result ] ,
115165 } = await client . query ( 'SELECT NOW();' ) ;
116166 const returnedDate = result [ 'now' ] ;
117167 t . ok ( returnedDate . getTime ( ) , 'should have valid returned date object' ) ;
118- await client . end ( ) ;
119- connector . close ( ) ;
168+ }
169+ ) ;
170+
171+ t . test (
172+ 'open connection to Domain Name invalid domain name rejects connection' ,
173+ async t => {
174+ const connector = new Connector ( ) ;
175+ const clientOpts = await connector . getOptions ( {
176+ instanceConnectionName : String (
177+ process . env . POSTGRES_CUSTOMER_CAS_INVALID_DOMAIN_NAME
178+ ) ,
179+ } ) ;
180+ const client = new Client ( {
181+ ...clientOpts ,
182+ user : String ( process . env . POSTGRES_USER ) ,
183+ password : String ( process . env . POSTGRES_CUSTOMER_CAS_PASS ) ,
184+ database : String ( process . env . POSTGRES_DB ) ,
185+ } ) ;
186+ t . after ( async ( ) => {
187+ console . log ( 'Ending...' ) ;
188+ try {
189+ await client . end ( ) ;
190+ } finally {
191+ connector . close ( ) ;
192+ console . log ( 'Ended...' ) ;
193+ }
194+ } ) ;
195+ try {
196+ await client . connect ( ) ;
197+ t . fail ( 'Should throw exception' ) ;
198+ } catch ( e ) {
199+ t . same ( e . code , 'ERR_TLS_CERT_ALTNAME_INVALID' ) ;
200+ } finally {
201+ t . end ( ) ;
202+ }
120203 }
121204) ;
0 commit comments