@@ -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,83 @@ 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 ( ) ;
113131 const {
114132 rows : [ result ] ,
115133 } = await client . query ( 'SELECT NOW();' ) ;
116134 const returnedDate = result [ 'now' ] ;
117135 t . ok ( returnedDate . getTime ( ) , 'should have valid returned date object' ) ;
118- await client . end ( ) ;
119- connector . close ( ) ;
120136 }
121137) ;
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+ domainName : String ( process . env . POSTGRES_CUSTOMER_CAS_DOMAIN_NAME ) ,
145+ } ) ;
146+ const client = new Client ( {
147+ ...clientOpts ,
148+ user : String ( process . env . POSTGRES_USER ) ,
149+ password : String ( process . env . POSTGRES_CUSTOMER_CAS_PASS ) ,
150+ database : String ( process . env . POSTGRES_DB ) ,
151+ } ) ;
152+ t . after ( async ( ) => {
153+ try {
154+ await client . end ( ) ;
155+ } finally {
156+ connector . close ( ) ;
157+ }
158+ } ) ;
159+
160+ await client . connect ( ) ;
161+ const {
162+ rows : [ result ] ,
163+ } = await client . query ( 'SELECT NOW();' ) ;
164+ const returnedDate = result [ 'now' ] ;
165+ t . ok ( returnedDate . getTime ( ) , 'should have valid returned date object' ) ;
166+ }
167+ ) ;
168+
169+ t . test (
170+ 'open connection to Domain Name invalid domain name rejects connection' ,
171+ async t => {
172+ const connector = new Connector ( ) ;
173+ const clientOpts = await connector . getOptions ( {
174+ domainName : String ( process . env . POSTGRES_CUSTOMER_CAS_INVALID_DOMAIN_NAME ) ,
175+ } ) ;
176+ const client = new Client ( {
177+ ...clientOpts ,
178+ user : String ( process . env . POSTGRES_USER ) ,
179+ password : String ( process . env . POSTGRES_CUSTOMER_CAS_PASS ) ,
180+ database : String ( process . env . POSTGRES_DB ) ,
181+ } ) ;
182+ t . after ( async ( ) => {
183+ console . log ( 'Ending...' ) ;
184+ try {
185+ await client . end ( ) ;
186+ } finally {
187+ connector . close ( ) ;
188+ console . log ( 'Ended...' ) ;
189+ }
190+ } ) ;
191+ try {
192+ await client . connect ( ) ;
193+ t . fail ( 'Should throw exception' ) ;
194+ } catch ( e ) {
195+ t . same ( e . code , 'ERR_TLS_CERT_ALTNAME_INVALID' ) ;
196+ } finally {
197+ t . end ( ) ;
198+ }
199+ }
200+ ) ;
201+
0 commit comments