@@ -216,6 +216,7 @@ all_tests() ->
216216 consumer_priorities ,
217217 cancel_consumer_gh_3729 ,
218218 cancel_consumer_gh_12424 ,
219+ queue_declare_passive_consumer_count ,
219220 cancel_and_consume_with_same_tag ,
220221 validate_messages_on_queue ,
221222 amqpl_headers ,
@@ -5242,6 +5243,30 @@ cancel_consumer_gh_12424(Config) ->
52425243
52435244 ok .
52445245
5246+ queue_declare_passive_consumer_count (Config ) ->
5247+ QQ = ? config (queue_name , Config ),
5248+
5249+ Server = rabbit_ct_broker_helpers :get_node_config (Config , 0 , nodename ),
5250+ Ch = rabbit_ct_client_helpers :open_channel (Config , Server ),
5251+
5252+ ExpectedDeclareRslt0 = # 'queue.declare_ok' {queue = QQ , message_count = 0 , consumer_count = 0 },
5253+ DeclareRslt0 = declare (Ch , QQ , [{<<" x-queue-type" >>, longstr , <<" quorum" >>}]),
5254+ ? assertMatch (ExpectedDeclareRslt0 , DeclareRslt0 ),
5255+
5256+ ok = subscribe (Ch , QQ , false ),
5257+
5258+ ExpectedDeclareRslt1 = # 'queue.declare_ok' {queue = QQ , message_count = 0 , consumer_count = 1 },
5259+ DeclareRslt1 = amqp_channel :call (Ch , # 'queue.declare' {queue = QQ , passive = true }),
5260+ ? assertMatch (ExpectedDeclareRslt1 , DeclareRslt1 ),
5261+
5262+ ok = cancel (Ch ),
5263+
5264+ ExpectedDeclareRslt2 = # 'queue.declare_ok' {queue = QQ , message_count = 0 , consumer_count = 0 },
5265+ DeclareRslt2 = amqp_channel :call (Ch , # 'queue.declare' {queue = QQ , passive = true }),
5266+ ? assertMatch (ExpectedDeclareRslt2 , DeclareRslt2 ),
5267+
5268+ ok .
5269+
52455270 % % Test the scenario where a message is published to a quorum queue
52465271cancel_and_consume_with_same_tag (Config ) ->
52475272 % % https://github.com/rabbitmq/rabbitmq-server/issues/5927
0 commit comments