@@ -92,4 +92,47 @@ describe('garbage collector', function garbageCollector() {
9292 . setAttribute ( 'target.owner' , ownerId ) ;
9393 gcTask . processActionEntry ( action , done ) ;
9494 } ) ;
95+
96+ describe ( 'close() garbage collector' , ( ) => {
97+ it ( 'should call close on the consumer when it exists' , done => {
98+ const gcWithConsumer = new GarbageCollector ( {
99+ kafkaConfig : { } ,
100+ s3Config : { host : 'localhost' , port : 7777 } ,
101+ gcConfig : {
102+ topic : 'backbeat-gc' ,
103+ auth : { type : 'account' , account : 'bart' } ,
104+ consumer : { groupId : 'backbeat-gc-consumer-group' } ,
105+ } ,
106+ } ) ;
107+ let closeCalled = false ;
108+ gcWithConsumer . _consumer = {
109+ close : cb => {
110+ closeCalled = true ;
111+ cb ( ) ;
112+ } ,
113+ } ;
114+ gcWithConsumer . close ( err => {
115+ assert . ifError ( err ) ;
116+ assert . strictEqual ( closeCalled , true ) ;
117+ done ( ) ;
118+ } ) ;
119+ } ) ;
120+
121+ it ( 'should call callback immediately when consumer is null' , done => {
122+ const gcNoConsumer = new GarbageCollector ( {
123+ kafkaConfig : { } ,
124+ s3Config : { host : 'localhost' , port : 7777 } ,
125+ gcConfig : {
126+ topic : 'backbeat-gc' ,
127+ auth : { type : 'account' , account : 'bart' } ,
128+ consumer : { groupId : 'backbeat-gc-consumer-group' } ,
129+ } ,
130+ } ) ;
131+ assert . strictEqual ( gcNoConsumer . _consumer , null ) ;
132+ gcNoConsumer . close ( err => {
133+ assert . ifError ( err ) ;
134+ done ( ) ;
135+ } ) ;
136+ } ) ;
137+ } ) ;
95138} ) ;
0 commit comments