@@ -96,8 +96,8 @@ responder_attaches_queue_target(Config) ->
9696 RequestQueue = atom_to_binary (? FUNCTION_NAME ),
9797 AddrRequestQueue = rabbitmq_amqp_address :queue (RequestQueue ),
9898
99- {ConnResponder , SessionResponder , LinkPair } = init (Config ),
100- {ok , _ } = rabbitmq_amqp_client :declare_queue (LinkPair , RequestQueue , #{}),
99+ {ConnResponder , SessionResponder , LinkPairResponder } = init (Config ),
100+ {ok , _ } = rabbitmq_amqp_client :declare_queue (LinkPairResponder , RequestQueue , #{}),
101101
102102 OpnConfRequester0 = connection_config (Config ),
103103 OpnConfRequester = OpnConfRequester0 #{container_id := <<" requester" >>,
@@ -143,6 +143,14 @@ responder_attaches_queue_target(Config) ->
143143 % % The metadata store should store only the request queue.
144144 ? assertEqual (1 , rabbit_ct_broker_helpers :rpc (Config , rabbit_db_queue , count , [])),
145145
146+ {ok , #{queue := ReplyQ }} = rabbitmq_amqp_address :to_map (ReplyToAddr ),
147+ ? assertMatch ({ok , #{vhost := <<" /" >>,
148+ durable := false ,
149+ type := <<" rabbit_volatile_queue" >>,
150+ message_count := 0 ,
151+ consumer_count := 1 }},
152+ rabbitmq_amqp_client :get_queue (LinkPairResponder , ReplyQ )),
153+
146154 {ok , SenderResponder1 } = amqp10_client :attach_sender_link_sync (
147155 SessionResponder , <<" sender responder unsettled" >>,
148156 ReplyToAddr , unsettled ),
@@ -247,12 +255,15 @@ responder_attaches_queue_target(Config) ->
247255 end ,
248256
249257 % % When the requester detaches, the volatile queue is gone.
250- % % Therefore, RabbitMQ should refuse attaching to the volatile queue target.
251258 ok = detach_link_sync (ReceiverRequester ),
252259 flush (detached ),
253260 ? assertMatch (#{publishers := 3 ,
254261 consumers := 1 },
255262 maps :get (#{protocol => amqp10 }, get_global_counters (Config ))),
263+ % % Therefore, HTTP GET on that queue should return 404.
264+ {error , Resp } = rabbitmq_amqp_client :get_queue (LinkPairResponder , ReplyQ ),
265+ ? assertMatch (#{subject := <<" 404" >>}, amqp10_msg :properties (Resp )),
266+ % % Also, RabbitMQ should refuse attaching to the volatile queue target.
256267 {ok , SenderResponder3 } = amqp10_client :attach_sender_link_sync (
257268 SessionResponder , <<" sender responder 3" >>,
258269 ReplyToAddr ),
@@ -278,8 +289,8 @@ responder_attaches_queue_target(Config) ->
278289 after 9000 -> ct :fail ({missing_event , ? LINE })
279290 end ,
280291
281- {ok , _ } = rabbitmq_amqp_client :delete_queue (LinkPair , RequestQueue ),
282- ok = rabbitmq_amqp_client :detach_management_link_pair_sync (LinkPair ),
292+ {ok , _ } = rabbitmq_amqp_client :delete_queue (LinkPairResponder , RequestQueue ),
293+ ok = rabbitmq_amqp_client :detach_management_link_pair_sync (LinkPairResponder ),
283294
284295 ok = close_connection_sync (ConnResponder ),
285296 ok = close_connection_sync (ConnRequester ),
0 commit comments