@@ -27,6 +27,7 @@ describe('AmqpConnectionManager', function () {
27
27
28
28
it ( 'should establish a connection to a broker' , async ( ) => {
29
29
amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
30
+ amqp . connect ( ) ;
30
31
const [ { connection, url } ] = await once ( amqp , 'connect' ) ;
31
32
expect ( url , 'url' ) . to . equal ( 'amqp://localhost' ) ;
32
33
expect ( connection . url , 'connection.url' ) . to . equal ( 'amqp://localhost?heartbeat=5' ) ;
@@ -37,6 +38,7 @@ describe('AmqpConnectionManager', function () {
37
38
protocol : 'amqp' ,
38
39
hostname : 'localhost' ,
39
40
} ) ;
41
+ amqp . connect ( ) ;
40
42
const [ { connection, url } ] = await once ( amqp , 'connect' ) ;
41
43
expect ( url , 'url' ) . to . eql ( {
42
44
protocol : 'amqp' ,
@@ -51,14 +53,15 @@ describe('AmqpConnectionManager', function () {
51
53
52
54
it ( 'should establish a url object based connection to a broker' , async ( ) => {
53
55
amqp = new AmqpConnectionManager ( { url : 'amqp://localhost' } ) ;
54
-
56
+ amqp . connect ( ) ;
55
57
const [ { connection, url } ] = await once ( amqp , 'connect' ) ;
56
58
expect ( url , 'url' ) . to . equal ( 'amqp://localhost' ) ;
57
59
expect ( connection . url , 'connection.url' ) . to . equal ( 'amqp://localhost?heartbeat=5' ) ;
58
60
} ) ;
59
61
60
62
it ( 'should close connection to a broker' , async ( ) => {
61
63
amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
64
+ amqp . connect ( ) ;
62
65
const [ { connection, url } ] = await once ( amqp , 'connect' ) ;
63
66
expect ( url , 'url' ) . to . equal ( 'amqp://localhost' ) ;
64
67
expect ( ( connection as any ) . url , 'connection.url' ) . to . equal ( 'amqp://localhost?heartbeat=5' ) ;
@@ -77,6 +80,7 @@ describe('AmqpConnectionManager', function () {
77
80
let connected = false ;
78
81
79
82
amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
83
+ amqp . connect ( ) ;
80
84
// Connection should not yet be established
81
85
expect ( amqp . connection , 'current connection' ) . to . equal ( undefined ) ;
82
86
// Connection should be pending though
@@ -123,6 +127,7 @@ describe('AmqpConnectionManager', function () {
123
127
return Promise . resolve ( 'amqp://localhost' ) ;
124
128
} ,
125
129
} ) ;
130
+ amqp . connect ( ) ;
126
131
const [ { connection, url } ] = await once ( amqp , 'connect' ) ;
127
132
expect ( url , 'url' ) . to . equal ( 'amqp://localhost' ) ;
128
133
expect ( connection . url , 'connection.url' ) . to . equal ( 'amqp://localhost?heartbeat=5' ) ;
@@ -134,6 +139,7 @@ describe('AmqpConnectionManager', function () {
134
139
return Promise . resolve ( { url : 'amqp://localhost' } ) ;
135
140
} ,
136
141
} ) ;
142
+ amqp . connect ( ) ;
137
143
const [ { connection, url } ] = await once ( amqp , 'connect' ) ;
138
144
expect ( url , 'url' ) . to . equal ( 'amqp://localhost' ) ;
139
145
expect ( connection . url , 'connection.url' ) . to . equal ( 'amqp://localhost?heartbeat=5' ) ;
@@ -145,13 +151,29 @@ describe('AmqpConnectionManager', function () {
145
151
return Promise . resolve ( null ) ;
146
152
} ,
147
153
} ) ;
154
+ amqp . connect ( ) ;
148
155
const [ { err } ] = await once ( amqp , 'disconnect' ) ;
149
156
expect ( err . message ) . to . contain ( 'No servers found' ) ;
150
157
return amqp ?. close ( ) ;
151
158
} ) ;
152
159
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
+
153
174
it ( 'should work with a URL with a query' , async ( ) => {
154
175
amqp = new AmqpConnectionManager ( 'amqp://localhost?frameMax=0x1000' ) ;
176
+ amqp . connect ( ) ;
155
177
const [ { connection } ] = await once ( amqp , 'connect' ) ;
156
178
expect ( connection . url , 'connection.url' ) . to . equal (
157
179
'amqp://localhost?frameMax=0x1000&heartbeat=5'
@@ -171,6 +193,7 @@ describe('AmqpConnectionManager', function () {
171
193
amqp = new AmqpConnectionManager ( [ 'amqp://rabbit1' , 'amqp://rabbit2' ] , {
172
194
heartbeatIntervalInSeconds : 0.01 ,
173
195
} ) ;
196
+ amqp . connect ( ) ;
174
197
175
198
let disconnectEventsSeen = 0 ;
176
199
amqp . on ( 'disconnect' , function ( ) {
@@ -196,10 +219,10 @@ describe('AmqpConnectionManager', function () {
196
219
let disconnectsSeen = 0 ;
197
220
amqp . on ( 'disconnect' , ( ) => disconnectsSeen ++ ) ;
198
221
199
- await once ( amqp , ' connect' ) ;
222
+ await amqp . connect ( ) ;
200
223
amqplib . kill ( ) ;
201
224
202
- await once ( amqp , ' connect' ) ;
225
+ await amqp . connect ( ) ;
203
226
expect ( disconnectsSeen ) . to . equal ( 1 ) ;
204
227
} ) ;
205
228
@@ -211,7 +234,7 @@ describe('AmqpConnectionManager', function () {
211
234
let disconnectsSeen = 0 ;
212
235
amqp . on ( 'disconnect' , ( ) => disconnectsSeen ++ ) ;
213
236
214
- await once ( amqp , ' connect' ) ;
237
+ await amqp . connect ( ) ;
215
238
216
239
// Close the connection nicely
217
240
amqplib . simulateRemoteClose ( ) ;
@@ -222,6 +245,7 @@ describe('AmqpConnectionManager', function () {
222
245
223
246
it ( 'should know if it is connected or not' , async ( ) => {
224
247
amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
248
+ amqp . connect ( ) ;
225
249
226
250
expect ( amqp . isConnected ( ) ) . to . be . false ;
227
251
@@ -231,7 +255,7 @@ describe('AmqpConnectionManager', function () {
231
255
232
256
it ( 'should be able to manually reconnect' , async ( ) => {
233
257
amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
234
- await once ( amqp , ' connect' ) ;
258
+ await amqp . connect ( ) ;
235
259
236
260
amqp . reconnect ( ) ;
237
261
await once ( amqp , 'disconnect' ) ;
@@ -240,13 +264,14 @@ describe('AmqpConnectionManager', function () {
240
264
241
265
it ( 'should throw on manual reconnect after close' , async ( ) => {
242
266
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
+ } ) ;
247
271
248
272
it ( 'should create and clean up channel wrappers' , async function ( ) {
249
273
amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
274
+ await amqp . connect ( ) ;
250
275
const channel = amqp . createChannel ( { name : 'test-chan' } ) ;
251
276
252
277
// Channel should register with connection manager
@@ -264,6 +289,7 @@ describe('AmqpConnectionManager', function () {
264
289
265
290
it ( 'should clean up channels on close' , async function ( ) {
266
291
amqp = new AmqpConnectionManager ( 'amqp://localhost' ) ;
292
+ await amqp . connect ( ) ;
267
293
amqp . createChannel ( { name : 'test-chan' } ) ;
268
294
269
295
// Channel should register with connection manager
@@ -286,7 +312,7 @@ describe('AmqpConnectionManager', function () {
286
312
287
313
let connectsSeen = 0 ;
288
314
amqp . on ( 'connect' , ( ) => connectsSeen ++ ) ;
289
- await once ( amqp , ' connect' ) ;
315
+ await amqp . connect ( ) ;
290
316
291
317
// Close the manager
292
318
await amqp ?. close ( ) ;
@@ -308,7 +334,7 @@ describe('AmqpConnectionManager', function () {
308
334
309
335
amqp . on ( 'unblocked' , ( ) => unblockSeen ++ ) ;
310
336
311
- await once ( amqp , ' connect' ) ;
337
+ await amqp . connect ( ) ;
312
338
// Close the connection nicely
313
339
amqplib . simulateRemoteBlock ( ) ;
314
340
amqplib . simulateRemoteUnblock ( ) ;
0 commit comments