From b0efa5eeefb0ec5af67174976e9573f48ec8b6c1 Mon Sep 17 00:00:00 2001 From: Michael Klishin Date: Thu, 13 Jul 2023 02:25:23 +0400 Subject: [PATCH 1/2] Revert "Revert "Merge pull request #8838 from rabbitmq/ik-fix-stomp-default_topic_exch_test"" This reverts commit 0792fe4a1810384a0bab7dcd9ae2f8bd108165e5. @ikvmw has found a solution. --- deps/rabbitmq_stomp/test/topic_SUITE.erl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/deps/rabbitmq_stomp/test/topic_SUITE.erl b/deps/rabbitmq_stomp/test/topic_SUITE.erl index a167f63e54..0e146266dd 100644 --- a/deps/rabbitmq_stomp/test/topic_SUITE.erl +++ b/deps/rabbitmq_stomp/test/topic_SUITE.erl @@ -137,18 +137,23 @@ subscribe_topic_authorisation(Config) -> change_default_topic_exchange(Config) -> Channel = ?config(amqp_channel, Config), - ClientFoo = ?config(client_foo, Config), + Version = ?config(version, Config), + StompPort = rabbit_ct_broker_helpers:get_node_config(Config, 0, tcp_port_stomp), Ex = <<"my-topic-exchange">>, + ok = rabbit_ct_broker_helpers:rpc(Config, 0, application, set_env, [rabbitmq_stomp, default_topic_exchange, Ex]), + {ok, ClientFoo} = rabbit_stomp_client:connect(Version, StompPort), AuthorisedTopic = "/topic/user.AuthorisedTopic", Declare = #'exchange.declare'{exchange = Ex, type = <<"topic">>}, #'exchange.declare_ok'{} = amqp_channel:call(Channel, Declare), - ok = rabbit_ct_broker_helpers:rpc(Config, 0, application, set_env, [rabbitmq_stomp, default_topic_exchange, Ex]), + 0 = length(rabbit_ct_broker_helpers:rpc(Config, 0, rabbit_binding, list_for_source, [#resource{virtual_host= <<"/">>, kind = exchange, name = Ex}])), rabbit_stomp_client:send( ClientFoo, "SUBSCRIBE", [{"destination", AuthorisedTopic}]), + 1 = length(rabbit_ct_broker_helpers:rpc(Config, 0, rabbit_binding, list_for_source, [#resource{virtual_host= <<"/">>, kind = exchange, name = Ex}])), + rabbit_stomp_client:send( ClientFoo, "SEND", [{"destination", AuthorisedTopic}], ["ohai there"]), @@ -158,6 +163,7 @@ change_default_topic_exchange(Config) -> Delete = #'exchange.delete'{exchange = Ex}, #'exchange.delete_ok'{} = amqp_channel:call(Channel, Delete), ok = rabbit_ct_broker_helpers:rpc(Config, 0, application, unset_env, [rabbitmq_stomp, default_topic_exchange]), + rabbit_stomp_client:disconnect(ClientFoo), ok. From e9a785d89cb9a1613ff2cb9abb8913202de856b5 Mon Sep 17 00:00:00 2001 From: Iliia Khaprov - VMware Date: Wed, 12 Jul 2023 23:55:26 +0200 Subject: [PATCH 2/2] Add sleep before getting custom topic bindings (cherry picked from commit 1f71062d91bc758624d0b2a6d3b3851524551523) --- deps/rabbitmq_stomp/test/topic_SUITE.erl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deps/rabbitmq_stomp/test/topic_SUITE.erl b/deps/rabbitmq_stomp/test/topic_SUITE.erl index 0e146266dd..9a397be7b0 100644 --- a/deps/rabbitmq_stomp/test/topic_SUITE.erl +++ b/deps/rabbitmq_stomp/test/topic_SUITE.erl @@ -152,6 +152,8 @@ change_default_topic_exchange(Config) -> rabbit_stomp_client:send( ClientFoo, "SUBSCRIBE", [{"destination", AuthorisedTopic}]), + timer:sleep(500), + 1 = length(rabbit_ct_broker_helpers:rpc(Config, 0, rabbit_binding, list_for_source, [#resource{virtual_host= <<"/">>, kind = exchange, name = Ex}])), rabbit_stomp_client:send(