summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorArthur Khashaev <arthur@khashaev.ru>2019-05-27 20:13:16 +0300
committerArthur Khashaev <arthur@khashaev.ru>2019-05-28 02:18:01 +0300
commitf145c182e24e350c71fddcc4270f4d99a1ff6d8f (patch)
tree8764c8c1b2d92da122af3cc7854ae324cef2af31 /test
parent89f464f04fc0dd23ce112b647f84b5e83ee5166f (diff)
downloadrabbitmq-server-git-f145c182e24e350c71fddcc4270f4d99a1ff6d8f.tar.gz
Add overflow tests to `confirms_rejects_SUITE`
This change splits the tests into groups for both the existing `reject-publish` overflow strategy and the new `reject-publish-dlx`. The corresponding queue names have been suffixed to make the tests in the groups independent and thus parallel. See #1443
Diffstat (limited to 'test')
-rw-r--r--test/confirms_rejects_SUITE.erl48
1 files changed, 35 insertions, 13 deletions
diff --git a/test/confirms_rejects_SUITE.erl b/test/confirms_rejects_SUITE.erl
index 6b2133b8ff..402bca8737 100644
--- a/test/confirms_rejects_SUITE.erl
+++ b/test/confirms_rejects_SUITE.erl
@@ -11,13 +11,17 @@ all() ->
].
groups() ->
+ OverflowTests = [
+ confirms_rejects_conflict,
+ policy_resets_to_default
+ ],
[
{parallel_tests, [parallel], [
- confirms_rejects_conflict,
- policy_resets_to_default,
- dead_queue_rejects,
- mixed_dead_alive_queues_reject
- ]}
+ {overflow_reject_publish_dlx, [parallel], OverflowTests},
+ {overflow_reject_publish, [parallel], OverflowTests},
+ dead_queue_rejects,
+ mixed_dead_alive_queues_reject
+ ]}
].
init_per_suite(Config) ->
@@ -28,6 +32,14 @@ end_per_suite(Config) ->
rabbit_ct_helpers:run_teardown_steps(Config).
+init_per_group(overflow_reject_publish, Config) ->
+ rabbit_ct_helpers:set_config(Config, [
+ {overflow, <<"reject-publish">>}
+ ]);
+init_per_group(overflow_reject_publish_dlx, Config) ->
+ rabbit_ct_helpers:set_config(Config, [
+ {overflow, <<"reject-publish-dlx">>}
+ ]);
init_per_group(Group, Config) ->
ClusterSize = 2,
Config1 = rabbit_ct_helpers:set_config(Config, [
@@ -38,6 +50,10 @@ init_per_group(Group, Config) ->
rabbit_ct_broker_helpers:setup_steps() ++
rabbit_ct_client_helpers:setup_steps()).
+end_per_group(overflow_reject_publish, _Config) ->
+ ok;
+end_per_group(overflow_reject_publish_dlx, _Config) ->
+ ok;
end_per_group(_Group, Config) ->
rabbit_ct_helpers:run_steps(Config,
rabbit_ct_client_helpers:teardown_steps() ++
@@ -60,7 +76,9 @@ init_per_testcase(Testcase, Config)
end_per_testcase(policy_resets_to_default = Testcase, Config) ->
{_, Ch} = rabbit_ct_client_helpers:open_connection_and_channel(Config, 0),
- amqp_channel:call(Ch, #'queue.delete'{queue = <<"policy_resets_to_default">>}),
+ XOverflow = ?config(overflow, Config),
+ QueueName = <<"policy_resets_to_default", "_", XOverflow/binary>>,
+ amqp_channel:call(Ch, #'queue.delete'{queue = QueueName}),
rabbit_ct_client_helpers:close_channels_and_connection(Config, 0),
Conn = ?config(conn, Config),
@@ -70,7 +88,9 @@ end_per_testcase(policy_resets_to_default = Testcase, Config) ->
rabbit_ct_helpers:testcase_finished(Config, Testcase);
end_per_testcase(confirms_rejects_conflict = Testcase, Config) ->
{_, Ch} = rabbit_ct_client_helpers:open_connection_and_channel(Config, 0),
- amqp_channel:call(Ch, #'queue.delete'{queue = <<"confirms_rejects_conflict">>}),
+ 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),
@@ -187,15 +207,15 @@ confirms_rejects_conflict(Config) ->
false = Conn =:= Conn1,
false = Ch =:= Ch1,
- QueueName = <<"confirms_rejects_conflict">>,
-
amqp_channel:call(Ch, #'confirm.select'{}),
amqp_channel:register_confirm_handler(Ch, self()),
+ XOverflow = ?config(overflow, Config),
+ QueueName = <<"confirms_rejects_conflict", "_", XOverflow/binary>>,
amqp_channel:call(Ch, #'queue.declare'{queue = QueueName,
durable = true,
- arguments = [{<<"x-max-length">>,long,12},
- {<<"x-overflow">>,longstr,<<"reject-publish">>}]
+ arguments = [{<<"x-max-length">>, long, 12},
+ {<<"x-overflow">>, longstr, XOverflow}]
}),
%% Consume 3 messages at once. Do that often.
Consume = fun Consume() ->
@@ -238,12 +258,14 @@ confirms_rejects_conflict(Config) ->
policy_resets_to_default(Config) ->
Conn = ?config(conn, Config),
+
{ok, Ch} = amqp_connection:open_channel(Conn),
- QueueName = <<"policy_resets_to_default">>,
amqp_channel:call(Ch, #'confirm.select'{}),
amqp_channel:register_confirm_handler(Ch, self()),
+ XOverflow = ?config(overflow, Config),
+ QueueName = <<"policy_resets_to_default", "_", XOverflow/binary>>,
amqp_channel:call(Ch, #'queue.declare'{queue = QueueName,
durable = true
}),
@@ -251,7 +273,7 @@ policy_resets_to_default(Config) ->
rabbit_ct_broker_helpers:set_policy(
Config, 0,
QueueName, QueueName, <<"queues">>,
- [{<<"max-length">>, MaxLength}, {<<"overflow">>, <<"reject-publish">>}]),
+ [{<<"max-length">>, MaxLength}, {<<"overflow">>, XOverflow}]),
timer:sleep(1000),