@@ -62,7 +62,12 @@ describe('BackbeatConsumer main tests', () => {
6262 ] , done ) ;
6363 } ) ;
6464 afterEach ( ( ) => {
65+ console . log ( '[AFTER_EACH] Cleaning up, unsubscribing consumer...' ) ;
66+ // Stop the Kafka consumer from fetching messages
67+ consumer . _consumer . unsubscribe ( ) ;
68+ // Clear the consumed messages array for next test
6569 consumedMessages = [ ] ;
70+ // Remove event handlers to prevent cross-test pollution
6671 consumer . removeAllListeners ( 'consumed' ) ;
6772 } ) ;
6873 after ( function after ( done ) {
@@ -79,6 +84,8 @@ describe('BackbeatConsumer main tests', () => {
7984
8085 it ( 'should be able to read messages sent to the topic and publish ' +
8186 'topic metrics' , done => {
87+ console . log ( '[TEST_START] consumedMessages at start:' , consumedMessages . length ,
88+ 'messages:' , consumedMessages . map ( b => b . toString ( ) ) ) ;
8289 let consumeCb = null ;
8390 let totalConsumed = 0 ;
8491 let topicOffset ;
@@ -90,39 +97,56 @@ describe('BackbeatConsumer main tests', () => {
9097 // reset to 0 before the test
9198 latestConsumedMetric . reset ( ) ;
9299
100+ console . log ( '[TEST] Starting test - expecting' , messages . length , 'messages' ) ;
101+ console . log ( '[TEST] Expected messages:' , messages . map ( e => e . message ) ) ;
102+
93103 function _checkZkMetrics ( done ) {
104+ console . log ( '[TEST] Checking ZK metrics...' ) ;
94105 async . waterfall ( [
95106 next => zookeeper . getData ( `${ zkMetricsPath } /topic` , next ) ,
96107 ( topicOffsetData , stat , next ) => {
97108 topicOffset = Number . parseInt ( topicOffsetData , 10 ) ;
109+ console . log ( '[TEST] Topic offset from ZK:' , topicOffset ) ;
98110 zookeeper . getData ( `${ zkMetricsPath } /consumers/${ groupId } ` ,
99111 next ) ;
100112 } ,
101113 ] , ( err , consumerOffsetData ) => {
102114 assert . ifError ( err ) ;
103115 consumerOffset = Number . parseInt ( consumerOffsetData , 10 ) ;
116+ console . log ( '[TEST] Consumer offset from ZK:' , consumerOffset ) ;
117+ console . log ( '[TEST] Offsets match:' , topicOffset === consumerOffset ) ;
104118 assert . strictEqual ( topicOffset , consumerOffset ) ;
105119 done ( ) ;
106120 } ) ;
107121 }
108122 async function _checkPromMetrics ( ) {
109123 const latestConsumedMetricValues =
110124 ( await latestConsumedMetric . get ( ) ) . values ;
125+ console . log ( '[TEST] Prometheus metric values:' , latestConsumedMetricValues ) ;
111126 assert . strictEqual ( latestConsumedMetricValues . length , 1 ) ;
112127 assert ( latestConsumedMetricValues [ 0 ] . value >= beforeConsume / 1000 ) ;
113128 }
114129 consumer . subscribe ( ) ;
130+ console . log ( '[TEST] Consumer subscribed' ) ;
115131 consumer . on ( 'consumed' , messagesConsumed => {
116132 totalConsumed += messagesConsumed ;
133+ console . log ( '[TEST] Consumed event fired - messagesConsumed:' , messagesConsumed ,
134+ 'totalConsumed:' , totalConsumed , 'expected:' , messages . length ) ;
135+ console . log ( '[TEST] Current consumedMessages array length:' , consumedMessages . length ) ;
136+ console . log ( '[TEST] Current consumedMessages content:' ,
137+ consumedMessages . map ( buffer => buffer . toString ( ) ) ) ;
117138 assert ( totalConsumed <= messages . length ) ;
118139 if ( totalConsumed === messages . length ) {
140+ console . log ( '[TEST] Reached expected message count!' ) ;
119141 assert . deepStrictEqual (
120142 messages . map ( e => e . message ) ,
121143 consumedMessages . map ( buffer => buffer . toString ( ) ) ) ;
122144 // metrics are published every second, so they
123145 // should be there after 5s
146+ console . log ( '[TEST] Waiting 5s for metrics to be published...' ) ;
124147 setTimeout ( ( ) => {
125148 _checkZkMetrics ( ( ) => {
149+ console . log ( '[TEST] Test complete, calling done()' ) ;
126150 consumeCb ( ) ;
127151 consumer . _consumer . unsubscribe ( ) ;
128152 } ) ;
@@ -136,8 +160,10 @@ describe('BackbeatConsumer main tests', () => {
136160 }
137161 } ) ;
138162 consumeCb = done ;
163+ console . log ( '[TEST] Sending' , messages . length , 'test messages...' ) ;
139164 producer . send ( messages , err => {
140165 assert . ifError ( err ) ;
166+ console . log ( '[TEST] Messages sent to Kafka' ) ;
141167 } ) ;
142168
143169 // Check that rdkafka metrics are indeed exported
0 commit comments