summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2020-04-27 17:04:30 +0200
committerGitHub <noreply@github.com>2020-04-27 17:04:30 +0200
commit55d28f5ad3ad3a47791989bd118c6d8ce954eeca (patch)
treeaa1fdd0eb450af33cfdb703b9f7d50e20e3d7937 /test
parent0bf8d0841c2467b93ab849f4f53a7bc99ab854e7 (diff)
parent53cc7b425275123edeef6a4973fbe8b071de2572 (diff)
downloadrabbitmq-server-git-55d28f5ad3ad3a47791989bd118c6d8ce954eeca.tar.gz
Merge pull request #2325 from rabbitmq/revert-rabbitmq-server-2308-dead_queue_rejects
Revert "Remove dead_queue_rejects test flake"
Diffstat (limited to 'test')
-rw-r--r--test/confirms_rejects_SUITE.erl48
1 files changed, 40 insertions, 8 deletions
diff --git a/test/confirms_rejects_SUITE.erl b/test/confirms_rejects_SUITE.erl
index 56d95df878..7379b18c8f 100644
--- a/test/confirms_rejects_SUITE.erl
+++ b/test/confirms_rejects_SUITE.erl
@@ -18,7 +18,8 @@ groups() ->
[
{parallel_tests, [parallel], [
{overflow_reject_publish_dlx, [parallel], OverflowTests},
- {overflow_reject_publish, [parallel], OverflowTests}
+ {overflow_reject_publish, [parallel], OverflowTests},
+ dead_queue_rejects
]}
].
@@ -62,7 +63,8 @@ init_per_testcase(policy_resets_to_default = Testcase, Config) ->
rabbit_ct_helpers:testcase_started(
rabbit_ct_helpers:set_config(Config, [{conn, Conn}]), Testcase);
init_per_testcase(Testcase, Config)
- when Testcase == confirms_rejects_conflict ->
+ when Testcase == confirms_rejects_conflict;
+ Testcase == dead_queue_rejects ->
Conn = rabbit_ct_client_helpers:open_unmanaged_connection(Config),
Conn1 = rabbit_ct_client_helpers:open_unmanaged_connection(Config),
@@ -87,6 +89,10 @@ end_per_testcase(confirms_rejects_conflict = Testcase, Config) ->
XOverflow = ?config(overflow, Config),
QueueName = <<"confirms_rejects_conflict", "_", XOverflow/binary>>,
amqp_channel:call(Ch, #'queue.delete'{queue = QueueName}),
+ end_per_testcase0(Testcase, Config);
+end_per_testcase(dead_queue_rejects = Testcase, Config) ->
+ {_, Ch} = rabbit_ct_client_helpers:open_connection_and_channel(Config, 0),
+ amqp_channel:call(Ch, #'queue.delete'{queue = <<"dead_queue_rejects">>}),
end_per_testcase0(Testcase, Config).
end_per_testcase0(Testcase, Config) ->
@@ -102,6 +108,37 @@ end_per_testcase0(Testcase, Config) ->
rabbit_ct_helpers:testcase_finished(Config, Testcase).
+dead_queue_rejects(Config) ->
+ Conn = ?config(conn, Config),
+ {ok, Ch} = amqp_connection:open_channel(Conn),
+ QueueName = <<"dead_queue_rejects">>,
+ amqp_channel:call(Ch, #'confirm.select'{}),
+ amqp_channel:register_confirm_handler(Ch, self()),
+
+ amqp_channel:call(Ch, #'queue.declare'{queue = QueueName,
+ durable = true}),
+
+ amqp_channel:call(Ch, #'basic.publish'{routing_key = QueueName},
+ #amqp_msg{payload = <<"HI">>}),
+
+ receive
+ {'basic.ack',_,_} -> ok
+ after 10000 ->
+ error(timeout_waiting_for_initial_ack)
+ end,
+
+ kill_the_queue(QueueName, Config),
+
+ amqp_channel:cast(Ch, #'basic.publish'{routing_key = QueueName},
+ #amqp_msg{payload = <<"HI">>}),
+
+ receive
+ {'basic.ack',_,_} -> error(expecting_nack_got_ack);
+ {'basic.nack',_,_,_} -> ok
+ after 10000 ->
+ error(timeout_waiting_for_nack)
+ end.
+
confirms_rejects_conflict(Config) ->
Conn = ?config(conn, Config),
Conn1 = ?config(conn1, Config),
@@ -284,7 +321,7 @@ clean_acks_mailbox() ->
end.
kill_the_queue(QueueName, Config) ->
- rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, kill_the_queue, [QueueName]).
+ ok = rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, kill_the_queue, [QueueName]).
kill_the_queue(QueueName) ->
[begin
@@ -300,8 +337,3 @@ kill_the_queue(QueueName) ->
true -> kill_the_queue(QueueName);
false -> ok
end.
-
-
-
-
-