@@ -127,7 +127,8 @@ all_tests() ->
127127 queue_length_in_memory_bytes_limit_subscribe ,
128128 queue_length_in_memory_bytes_limit ,
129129 queue_length_in_memory_purge ,
130- in_memory
130+ in_memory ,
131+ consumer_metrics
131132 ].
132133
133134memory_tests () ->
@@ -2244,6 +2245,24 @@ in_memory(Config) ->
22442245 ? assertEqual ([{0 , 0 }],
22452246 dirty_query ([Server ], RaName , fun rabbit_fifo :query_in_memory_usage /1 )).
22462247
2248+ consumer_metrics (Config ) ->
2249+ [Server | _ ] = rabbit_ct_broker_helpers :get_node_configs (Config , nodename ),
2250+
2251+ Ch1 = rabbit_ct_client_helpers :open_channel (Config , Server ),
2252+ QQ = ? config (queue_name , Config ),
2253+ ? assertEqual ({'queue.declare_ok' , QQ , 0 , 0 },
2254+ declare (Ch1 , QQ , [{<<" x-queue-type" >>, longstr , <<" quorum" >>}])),
2255+ subscribe (Ch1 , QQ , false ),
2256+
2257+ RaName = ra_name (QQ ),
2258+ {ok , _ , {_ , Leader }} = ra :members ({RaName , Server }),
2259+ timer :sleep (5000 ),
2260+ QNameRes = rabbit_misc :r (<<" /" >>, queue , QQ ),
2261+ [{_ , PropList , _ }] = rpc :call (Leader , ets , lookup , [queue_metrics , QNameRes ]),
2262+ ? assertMatch ([{consumers , 1 }], lists :filter (fun ({Key , _ }) ->
2263+ Key == consumers
2264+ end , PropList )).
2265+
22472266% %----------------------------------------------------------------------------
22482267
22492268declare (Ch , Q ) ->
0 commit comments