Merge pull request #7747 from rabbitmq/qq-message-ttl-policy-test

This commit is contained in:
Michael Klishin 2023-03-28 15:54:03 +04:00 committed by GitHub
commit 9513bfaa69
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 36 additions and 0 deletions

View File

@ -148,6 +148,7 @@ all_tests() ->
peek,
peek_with_wrong_queue_type,
message_ttl,
message_ttl_policy,
per_message_ttl,
per_message_ttl_mixed_expiry,
per_message_ttl_expiration_too_high,
@ -2614,6 +2615,41 @@ message_ttl(Config) ->
wait_for_messages(Config, [[QQ, <<"0">>, <<"0">>, <<"0">>]]),
ok.
message_ttl_policy(Config) ->
[Server | _] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
Ch = rabbit_ct_client_helpers:open_channel(Config, Server),
QQ = ?config(queue_name, Config),
?assertEqual({'queue.declare_ok', QQ, 0, 0},
declare(Ch, QQ, [{<<"x-queue-type">>, longstr, <<"quorum">>}])),
ok = rabbit_ct_broker_helpers:set_policy(Config, 0, <<"msg-ttl">>,
QQ, <<"queues">>,
[{<<"message-ttl">>, 1000}]),
VHost = <<"%2F">>,
RaName = binary_to_atom(<<VHost/binary, "_", QQ/binary>>, utf8),
QueryFun = fun rabbit_fifo:overview/1,
{ok, {_, Overview}, _} = rpc:call(Server, ra, local_query, [RaName, QueryFun]),
?assertMatch(#{config := #{msg_ttl := 1000}}, Overview),
%% wait for policy?
Msg1 = <<"msg1">>,
Msg2 = <<"msg11">>,
publish(Ch, QQ, Msg1),
publish(Ch, QQ, Msg2),
wait_for_messages(Config, [[QQ, <<"2">>, <<"2">>, <<"0">>]]),
wait_for_messages(Config, [[QQ, <<"0">>, <<"0">>, <<"0">>]]),
ok = rabbit_ct_broker_helpers:set_policy(Config, 0, <<"msg-ttl">>,
QQ, <<"queues">>,
[{<<"message-ttl">>, 3000}]),
{ok, {_, Overview2}, _} = rpc:call(Server, ra, local_query, [RaName, QueryFun]),
?assertMatch(#{config := #{msg_ttl := 3000}}, Overview2),
publish(Ch, QQ, Msg1),
wait_for_messages(Config, [[QQ, <<"1">>, <<"1">>, <<"0">>]]),
wait_for_messages(Config, [[QQ, <<"0">>, <<"0">>, <<"0">>]]),
ok.
per_message_ttl(Config) ->
[Server | _] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),