Skip to content

Commit 2eb52cf

Browse files
committed
issue #91: exchange policy tests
Signed-off-by: Matteo Cafasso <[email protected]>
1 parent 6eaad81 commit 2eb52cf

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

test/exchange_SUITE.erl

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ groups() ->
2424
declare_exchanges,
2525
deduplicate_message,
2626
deduplicate_message_ttl,
27-
deduplicate_message_cache_overflow
27+
deduplicate_message_cache_overflow,
28+
exchange_policy
2829
]}
2930
].
3031

@@ -176,6 +177,36 @@ deduplicate_message_cache_overflow(Config) ->
176177
{#'basic.get_ok'{}, _} = amqp_channel:call(Channel, Get),
177178
{#'basic.get_ok'{}, _} = amqp_channel:call(Channel, Get).
178179

180+
exchange_policy(Config) ->
181+
Get = #'basic.get'{queue = <<"test">>},
182+
Channel = rabbit_ct_client_helpers:open_channel(Config),
183+
184+
#'exchange.declare_ok'{} = amqp_channel:call(
185+
Channel, make_exchange(<<"test">>, 1, 10000)),
186+
bind_new_queue(Channel, <<"test">>, <<"test">>),
187+
188+
% Cache size is increased to 2. There should not be overflow
189+
rabbit_ct_broker_helpers:set_policy(Config, 0, <<"policy-test">>,
190+
<<".*">>, <<"all">>, [{<<"x-cache-size">>, 5}]),
191+
192+
publish_message(Channel, <<"test">>, "deduplicate-this"),
193+
publish_message(Channel, <<"test">>, "deduplicate-that"),
194+
publish_message(Channel, <<"test">>, "deduplicate-this"),
195+
196+
{#'basic.get_ok'{}, _} = amqp_channel:call(Channel, Get),
197+
{#'basic.get_ok'{}, _} = amqp_channel:call(Channel, Get),
198+
#'basic.get_empty'{} = amqp_channel:call(Channel, Get),
199+
200+
% Policy is cleared, default arguments are restored
201+
rabbit_ct_broker_helpers:clear_policy(Config, 0, <<"policy-test">>),
202+
203+
publish_message(Channel, <<"test">>, "deduplicate-those"),
204+
publish_message(Channel, <<"test">>, "deduplicate-those"),
205+
206+
{#'basic.get_ok'{}, _} = amqp_channel:call(Channel, Get),
207+
#'basic.get_empty'{} = amqp_channel:call(Channel, Get).
208+
209+
179210
%% -------------------------------------------------------------------
180211
%% Utility functions.
181212
%% -------------------------------------------------------------------

0 commit comments

Comments
 (0)