@@ -27,6 +27,7 @@ describe('AmqpConnectionManager', function () {
2727
2828 it ( 'should establish a connection to a broker' , async ( ) => {
2929 amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
30+ amqp . connect ( ) ;
3031 const [ { connection, url } ] = await once ( amqp , 'connect' ) ;
3132 expect ( url , 'url' ) . to . equal ( 'amqp://localhost' ) ;
3233 expect ( connection . url , 'connection.url' ) . to . equal ( 'amqp://localhost?heartbeat=5' ) ;
@@ -37,6 +38,7 @@ describe('AmqpConnectionManager', function () {
3738 protocol : 'amqp' ,
3839 hostname : 'localhost' ,
3940 } ) ;
41+ amqp . connect ( ) ;
4042 const [ { connection, url } ] = await once ( amqp , 'connect' ) ;
4143 expect ( url , 'url' ) . to . eql ( {
4244 protocol : 'amqp' ,
@@ -51,14 +53,15 @@ describe('AmqpConnectionManager', function () {
5153
5254 it ( 'should establish a url object based connection to a broker' , async ( ) => {
5355 amqp = new AmqpConnectionManager ( { url : 'amqp://localhost' } ) ;
54-
56+ amqp . connect ( ) ;
5557 const [ { connection, url } ] = await once ( amqp , 'connect' ) ;
5658 expect ( url , 'url' ) . to . equal ( 'amqp://localhost' ) ;
5759 expect ( connection . url , 'connection.url' ) . to . equal ( 'amqp://localhost?heartbeat=5' ) ;
5860 } ) ;
5961
6062 it ( 'should close connection to a broker' , async ( ) => {
6163 amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
64+ amqp . connect ( ) ;
6265 const [ { connection, url } ] = await once ( amqp , 'connect' ) ;
6366 expect ( url , 'url' ) . to . equal ( 'amqp://localhost' ) ;
6467 expect ( ( connection as any ) . url , 'connection.url' ) . to . equal ( 'amqp://localhost?heartbeat=5' ) ;
@@ -77,6 +80,7 @@ describe('AmqpConnectionManager', function () {
7780 let connected = false ;
7881
7982 amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
83+ amqp . connect ( ) ;
8084 // Connection should not yet be established
8185 expect ( amqp . connection , 'current connection' ) . to . equal ( undefined ) ;
8286 // Connection should be pending though
@@ -123,6 +127,7 @@ describe('AmqpConnectionManager', function () {
123127 return Promise . resolve ( 'amqp://localhost' ) ;
124128 } ,
125129 } ) ;
130+ amqp . connect ( ) ;
126131 const [ { connection, url } ] = await once ( amqp , 'connect' ) ;
127132 expect ( url , 'url' ) . to . equal ( 'amqp://localhost' ) ;
128133 expect ( connection . url , 'connection.url' ) . to . equal ( 'amqp://localhost?heartbeat=5' ) ;
@@ -134,6 +139,7 @@ describe('AmqpConnectionManager', function () {
134139 return Promise . resolve ( { url : 'amqp://localhost' } ) ;
135140 } ,
136141 } ) ;
142+ amqp . connect ( ) ;
137143 const [ { connection, url } ] = await once ( amqp , 'connect' ) ;
138144 expect ( url , 'url' ) . to . equal ( 'amqp://localhost' ) ;
139145 expect ( connection . url , 'connection.url' ) . to . equal ( 'amqp://localhost?heartbeat=5' ) ;
@@ -145,13 +151,29 @@ describe('AmqpConnectionManager', function () {
145151 return Promise . resolve ( null ) ;
146152 } ,
147153 } ) ;
154+ amqp . connect ( ) ;
148155 const [ { err } ] = await once ( amqp , 'disconnect' ) ;
149156 expect ( err . message ) . to . contain ( 'No servers found' ) ;
150157 return amqp ?. close ( ) ;
151158 } ) ;
152159
160+ it ( 'should timeout connect' , async ( ) => {
161+ jest . spyOn ( origAmpq , 'connect' ) . mockImplementation ( ( ) : any => {
162+ return promiseTools . delay ( 200 ) ;
163+ } ) ;
164+ amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
165+ let err ;
166+ try {
167+ await amqp . connect ( { timeout : 0.1 } ) ;
168+ } catch ( error ) {
169+ err = error ;
170+ }
171+ expect ( err . message ) . to . equal ( 'amqp-connection-manager: connect timeout' ) ;
172+ } ) ;
173+
153174 it ( 'should work with a URL with a query' , async ( ) => {
154175 amqp = new AmqpConnectionManager ( 'amqp://localhost?frameMax=0x1000' ) ;
176+ amqp . connect ( ) ;
155177 const [ { connection } ] = await once ( amqp , 'connect' ) ;
156178 expect ( connection . url , 'connection.url' ) . to . equal (
157179 'amqp://localhost?frameMax=0x1000&heartbeat=5'
@@ -171,6 +193,7 @@ describe('AmqpConnectionManager', function () {
171193 amqp = new AmqpConnectionManager ( [ 'amqp://rabbit1' , 'amqp://rabbit2' ] , {
172194 heartbeatIntervalInSeconds : 0.01 ,
173195 } ) ;
196+ amqp . connect ( ) ;
174197
175198 let disconnectEventsSeen = 0 ;
176199 amqp . on ( 'disconnect' , function ( ) {
@@ -196,10 +219,10 @@ describe('AmqpConnectionManager', function () {
196219 let disconnectsSeen = 0 ;
197220 amqp . on ( 'disconnect' , ( ) => disconnectsSeen ++ ) ;
198221
199- await once ( amqp , ' connect' ) ;
222+ await amqp . connect ( ) ;
200223 amqplib . kill ( ) ;
201224
202- await once ( amqp , ' connect' ) ;
225+ await amqp . connect ( ) ;
203226 expect ( disconnectsSeen ) . to . equal ( 1 ) ;
204227 } ) ;
205228
@@ -211,7 +234,7 @@ describe('AmqpConnectionManager', function () {
211234 let disconnectsSeen = 0 ;
212235 amqp . on ( 'disconnect' , ( ) => disconnectsSeen ++ ) ;
213236
214- await once ( amqp , ' connect' ) ;
237+ await amqp . connect ( ) ;
215238
216239 // Close the connection nicely
217240 amqplib . simulateRemoteClose ( ) ;
@@ -222,6 +245,7 @@ describe('AmqpConnectionManager', function () {
222245
223246 it ( 'should know if it is connected or not' , async ( ) => {
224247 amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
248+ amqp . connect ( ) ;
225249
226250 expect ( amqp . isConnected ( ) ) . to . be . false ;
227251
@@ -231,7 +255,7 @@ describe('AmqpConnectionManager', function () {
231255
232256 it ( 'should be able to manually reconnect' , async ( ) => {
233257 amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
234- await once ( amqp , ' connect' ) ;
258+ await amqp . connect ( ) ;
235259
236260 amqp . reconnect ( ) ;
237261 await once ( amqp , 'disconnect' ) ;
@@ -240,13 +264,14 @@ describe('AmqpConnectionManager', function () {
240264
241265 it ( 'should throw on manual reconnect after close' , async ( ) => {
242266 amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
243- await once ( amqp , ' connect' ) ;
244- await amqp . close ( )
245- expect ( amqp . reconnect ) . to . throw ( )
246- } )
267+ await amqp . connect ( ) ;
268+ await amqp . close ( ) ;
269+ expect ( amqp . reconnect ) . to . throw ( ) ;
270+ } ) ;
247271
248272 it ( 'should create and clean up channel wrappers' , async function ( ) {
249273 amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
274+ await amqp . connect ( ) ;
250275 const channel = amqp . createChannel ( { name : 'test-chan' } ) ;
251276
252277 // Channel should register with connection manager
@@ -264,6 +289,7 @@ describe('AmqpConnectionManager', function () {
264289
265290 it ( 'should clean up channels on close' , async function ( ) {
266291 amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
292+ await amqp . connect ( ) ;
267293 amqp . createChannel ( { name : 'test-chan' } ) ;
268294
269295 // Channel should register with connection manager
@@ -286,7 +312,7 @@ describe('AmqpConnectionManager', function () {
286312
287313 let connectsSeen = 0 ;
288314 amqp . on ( 'connect' , ( ) => connectsSeen ++ ) ;
289- await once ( amqp , ' connect' ) ;
315+ await amqp . connect ( ) ;
290316
291317 // Close the manager
292318 await amqp ?. close ( ) ;
@@ -308,7 +334,7 @@ describe('AmqpConnectionManager', function () {
308334
309335 amqp . on ( 'unblocked' , ( ) => unblockSeen ++ ) ;
310336
311- await once ( amqp , ' connect' ) ;
337+ await amqp . connect ( ) ;
312338 // Close the connection nicely
313339 amqplib . simulateRemoteBlock ( ) ;
314340 amqplib . simulateRemoteUnblock ( ) ;
0 commit comments