Avoid policy name collisions in stream queue suite
This commit is contained in:
parent
a5ced5d97e
commit
c9b414a26e
|
|
@ -1828,9 +1828,11 @@ initial_cluster_size_two(Config) ->
|
||||||
|
|
||||||
initial_cluster_size_one_policy(Config) ->
|
initial_cluster_size_one_policy(Config) ->
|
||||||
[Server1 | _] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
|
[Server1 | _] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
|
||||||
|
PolicyName = atom_to_binary(?FUNCTION_NAME),
|
||||||
|
|
||||||
ok = rabbit_ct_broker_helpers:set_policy(
|
ok = rabbit_ct_broker_helpers:set_policy(
|
||||||
Config, 0, <<"cluster-size">>, <<"initial_cluster_size_one_policy">>, <<"queues">>,
|
Config, 0, PolicyName, <<"initial_cluster_size_one_policy">>,
|
||||||
|
<<"queues">>,
|
||||||
[{<<"initial-cluster-size">>, 1}]),
|
[{<<"initial-cluster-size">>, 1}]),
|
||||||
|
|
||||||
Ch = rabbit_ct_client_helpers:open_channel(Config, Server1),
|
Ch = rabbit_ct_client_helpers:open_channel(Config, Server1),
|
||||||
|
|
@ -1844,7 +1846,7 @@ initial_cluster_size_one_policy(Config) ->
|
||||||
?assertMatch(#'queue.delete_ok'{},
|
?assertMatch(#'queue.delete_ok'{},
|
||||||
amqp_channel:call(Ch, #'queue.delete'{queue = Q})),
|
amqp_channel:call(Ch, #'queue.delete'{queue = Q})),
|
||||||
|
|
||||||
ok = rabbit_ct_broker_helpers:clear_policy(Config, 0, <<"cluster-size">>),
|
ok = rabbit_ct_broker_helpers:clear_policy(Config, 0, PolicyName),
|
||||||
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_testcase_queue, [Q]).
|
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_testcase_queue, [Q]).
|
||||||
|
|
||||||
declare_delete_same_stream(Config) ->
|
declare_delete_same_stream(Config) ->
|
||||||
|
|
@ -1984,8 +1986,10 @@ leader_locator_policy(Config) ->
|
||||||
Bin = rabbit_data_coercion:to_binary(?FUNCTION_NAME),
|
Bin = rabbit_data_coercion:to_binary(?FUNCTION_NAME),
|
||||||
Q1 = <<Bin/binary, "_q1">>,
|
Q1 = <<Bin/binary, "_q1">>,
|
||||||
|
|
||||||
|
PolicyName = atom_to_binary(?FUNCTION_NAME),
|
||||||
|
|
||||||
ok = rabbit_ct_broker_helpers:set_policy(
|
ok = rabbit_ct_broker_helpers:set_policy(
|
||||||
Config, 0, <<"my-leader-locator">>, Q, <<"queues">>,
|
Config, 0, PolicyName, Q, <<"queues">>,
|
||||||
[{<<"queue-leader-locator">>, <<"balanced">>}]),
|
[{<<"queue-leader-locator">>, <<"balanced">>}]),
|
||||||
|
|
||||||
?assertEqual({'queue.declare_ok', Q1, 0, 0},
|
?assertEqual({'queue.declare_ok', Q1, 0, 0},
|
||||||
|
|
@ -1995,14 +1999,14 @@ leader_locator_policy(Config) ->
|
||||||
declare(Ch, Q, [{<<"x-queue-type">>, longstr, <<"stream">>}])),
|
declare(Ch, Q, [{<<"x-queue-type">>, longstr, <<"stream">>}])),
|
||||||
|
|
||||||
Info = find_queue_info(Config, [policy, operator_policy, effective_policy_definition, leader]),
|
Info = find_queue_info(Config, [policy, operator_policy, effective_policy_definition, leader]),
|
||||||
?assertEqual(<<"my-leader-locator">>, proplists:get_value(policy, Info)),
|
?assertEqual(PolicyName, proplists:get_value(policy, Info)),
|
||||||
?assertEqual('', proplists:get_value(operator_policy, Info)),
|
?assertEqual('', proplists:get_value(operator_policy, Info)),
|
||||||
?assertEqual([{<<"queue-leader-locator">>, <<"balanced">>}],
|
?assertEqual([{<<"queue-leader-locator">>, <<"balanced">>}],
|
||||||
proplists:get_value(effective_policy_definition, Info)),
|
proplists:get_value(effective_policy_definition, Info)),
|
||||||
Leader = proplists:get_value(leader, Info),
|
Leader = proplists:get_value(leader, Info),
|
||||||
?assert(lists:member(Leader, [Server2, Server3])),
|
?assert(lists:member(Leader, [Server2, Server3])),
|
||||||
|
|
||||||
ok = rabbit_ct_broker_helpers:clear_policy(Config, 0, <<"my-leader-locator">>),
|
ok = rabbit_ct_broker_helpers:clear_policy(Config, 0, PolicyName),
|
||||||
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_queues, [[Q1, Q]]).
|
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_queues, [[Q1, Q]]).
|
||||||
|
|
||||||
queue_size_on_declare(Config) ->
|
queue_size_on_declare(Config) ->
|
||||||
|
|
@ -2071,24 +2075,26 @@ max_age_policy(Config) ->
|
||||||
Q = ?config(queue_name, Config),
|
Q = ?config(queue_name, Config),
|
||||||
?assertEqual({'queue.declare_ok', Q, 0, 0},
|
?assertEqual({'queue.declare_ok', Q, 0, 0},
|
||||||
declare(Ch, Q, [{<<"x-queue-type">>, longstr, <<"stream">>}])),
|
declare(Ch, Q, [{<<"x-queue-type">>, longstr, <<"stream">>}])),
|
||||||
|
PolicyName = atom_to_binary(?FUNCTION_NAME),
|
||||||
|
|
||||||
ok = rabbit_ct_broker_helpers:set_policy(
|
ok = rabbit_ct_broker_helpers:set_policy(
|
||||||
Config, 0, <<"age">>, <<"max_age_policy.*">>, <<"queues">>,
|
Config, 0, PolicyName, <<"max_age_policy.*">>, <<"queues">>,
|
||||||
[{<<"max-age">>, <<"1Y">>}]),
|
[{<<"max-age">>, <<"1Y">>}]),
|
||||||
|
|
||||||
Info = find_queue_info(Config, [policy, operator_policy, effective_policy_definition]),
|
Info = find_queue_info(Config, [policy, operator_policy, effective_policy_definition]),
|
||||||
|
|
||||||
?assertEqual(<<"age">>, proplists:get_value(policy, Info)),
|
?assertEqual(PolicyName, proplists:get_value(policy, Info)),
|
||||||
?assertEqual('', proplists:get_value(operator_policy, Info)),
|
?assertEqual('', proplists:get_value(operator_policy, Info)),
|
||||||
?assertEqual([{<<"max-age">>, <<"1Y">>}],
|
?assertEqual([{<<"max-age">>, <<"1Y">>}],
|
||||||
proplists:get_value(effective_policy_definition, Info)),
|
proplists:get_value(effective_policy_definition, Info)),
|
||||||
|
|
||||||
ok = rabbit_ct_broker_helpers:clear_policy(Config, 0, <<"age">>),
|
ok = rabbit_ct_broker_helpers:clear_policy(Config, 0, PolicyName),
|
||||||
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_testcase_queue, [Q]).
|
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_testcase_queue, [Q]).
|
||||||
|
|
||||||
update_retention_policy(Config) ->
|
update_retention_policy(Config) ->
|
||||||
[Server | _] = Servers = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
|
[Server | _] = Servers = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
|
||||||
|
|
||||||
|
PolicyName = atom_to_binary(?FUNCTION_NAME),
|
||||||
Ch = rabbit_ct_client_helpers:open_channel(Config, Server),
|
Ch = rabbit_ct_client_helpers:open_channel(Config, Server),
|
||||||
Q = ?config(queue_name, Config),
|
Q = ?config(queue_name, Config),
|
||||||
?assertEqual({'queue.declare_ok', Q, 0, 0},
|
?assertEqual({'queue.declare_ok', Q, 0, 0},
|
||||||
|
|
@ -2104,7 +2110,7 @@ update_retention_policy(Config) ->
|
||||||
[rabbit_misc:r(<<"/">>, queue, Q)]),
|
[rabbit_misc:r(<<"/">>, queue, Q)]),
|
||||||
%% Don't use time based retention, it's really hard to get those tests right
|
%% Don't use time based retention, it's really hard to get those tests right
|
||||||
ok = rabbit_ct_broker_helpers:set_policy(
|
ok = rabbit_ct_broker_helpers:set_policy(
|
||||||
Config, 0, <<"retention">>, <<"update_retention_policy.*">>, <<"queues">>,
|
Config, 0, PolicyName, <<"update_retention_policy.*">>, <<"queues">>,
|
||||||
[{<<"max-length-bytes">>, 10000}]),
|
[{<<"max-length-bytes">>, 10000}]),
|
||||||
ensure_retention_applied(Config, Server),
|
ensure_retention_applied(Config, Server),
|
||||||
|
|
||||||
|
|
@ -2118,7 +2124,7 @@ update_retention_policy(Config) ->
|
||||||
%% If there are changes only in the retention policy, processes should not be restarted
|
%% If there are changes only in the retention policy, processes should not be restarted
|
||||||
?assertEqual(amqqueue:get_pid(Q0), amqqueue:get_pid(Q1)),
|
?assertEqual(amqqueue:get_pid(Q0), amqqueue:get_pid(Q1)),
|
||||||
|
|
||||||
ok = rabbit_ct_broker_helpers:clear_policy(Config, 0, <<"retention">>),
|
ok = rabbit_ct_broker_helpers:clear_policy(Config, 0, PolicyName),
|
||||||
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_testcase_queue, [Q]).
|
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_testcase_queue, [Q]).
|
||||||
|
|
||||||
queue_info(Config) ->
|
queue_info(Config) ->
|
||||||
|
|
@ -2139,17 +2145,18 @@ queue_info(Config) ->
|
||||||
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_testcase_queue, [Q]).
|
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_testcase_queue, [Q]).
|
||||||
|
|
||||||
max_segment_size_bytes_policy_validation(Config) ->
|
max_segment_size_bytes_policy_validation(Config) ->
|
||||||
|
PolicyName = atom_to_binary(?FUNCTION_NAME),
|
||||||
ok = rabbit_ct_broker_helpers:set_policy(
|
ok = rabbit_ct_broker_helpers:set_policy(
|
||||||
Config, 0, <<"segment">>, <<"max_segment_size_bytes.*">>, <<"queues">>,
|
Config, 0, PolicyName, <<"max_segment_size_bytes.*">>, <<"queues">>,
|
||||||
[{<<"stream-max-segment-size-bytes">>, ?MAX_STREAM_MAX_SEGMENT_SIZE - 1_000}]),
|
[{<<"stream-max-segment-size-bytes">>, ?MAX_STREAM_MAX_SEGMENT_SIZE - 1_000}]),
|
||||||
|
|
||||||
ok = rabbit_ct_broker_helpers:clear_policy(Config, 0, <<"segment">>),
|
ok = rabbit_ct_broker_helpers:clear_policy(Config, 0, PolicyName),
|
||||||
|
|
||||||
{error_string, _} = rabbit_ct_broker_helpers:rpc(
|
{error_string, _} = rabbit_ct_broker_helpers:rpc(
|
||||||
Config, 0,
|
Config, 0,
|
||||||
rabbit_policy, set,
|
rabbit_policy, set,
|
||||||
[<<"/">>,
|
[<<"/">>,
|
||||||
<<"segment">>,
|
PolicyName,
|
||||||
<<"max_segment_size_bytes.*">>,
|
<<"max_segment_size_bytes.*">>,
|
||||||
[{<<"stream-max-segment-size-bytes">>, ?MAX_STREAM_MAX_SEGMENT_SIZE + 1_000}],
|
[{<<"stream-max-segment-size-bytes">>, ?MAX_STREAM_MAX_SEGMENT_SIZE + 1_000}],
|
||||||
0,
|
0,
|
||||||
|
|
@ -2162,23 +2169,23 @@ max_segment_size_bytes_policy(Config) ->
|
||||||
%% config update but will pick it up the next time a stream is restarted.
|
%% config update but will pick it up the next time a stream is restarted.
|
||||||
%% This is a limitation that we may want to address at some
|
%% This is a limitation that we may want to address at some
|
||||||
%% point but for now we need to set the policy _before_ creating the stream.
|
%% point but for now we need to set the policy _before_ creating the stream.
|
||||||
|
PolicyName = atom_to_binary(?FUNCTION_NAME),
|
||||||
ok = rabbit_ct_broker_helpers:set_policy(
|
ok = rabbit_ct_broker_helpers:set_policy(
|
||||||
Config, 0, <<"segment">>, <<"max_segment_size_bytes.*">>, <<"queues">>,
|
Config, 0, PolicyName, <<"max_segment_size_bytes.*">>, <<"queues">>,
|
||||||
[{<<"stream-max-segment-size-bytes">>, 5000}]),
|
[{<<"stream-max-segment-size-bytes">>, 5000}]),
|
||||||
|
|
||||||
[Server | _] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
|
[Server | _] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
|
||||||
|
|
||||||
Ch = rabbit_ct_client_helpers:open_channel(Config, Server),
|
Ch = rabbit_ct_client_helpers:open_channel(Config, Server),
|
||||||
Q = ?config(queue_name, Config),
|
Q = ?config(queue_name, Config),
|
||||||
?assertEqual({'queue.declare_ok', Q, 0, 0},
|
?assertEqual({'queue.declare_ok', Q, 0, 0},
|
||||||
declare(Ch, Q, [{<<"x-queue-type">>, longstr, <<"stream">>}])),
|
declare(Ch, Q, [{<<"x-queue-type">>, longstr, <<"stream">>}])),
|
||||||
Info = find_queue_info(Config, [policy, operator_policy, effective_policy_definition]),
|
Info = find_queue_info(Config, [policy, operator_policy, effective_policy_definition]),
|
||||||
|
|
||||||
?assertEqual(<<"segment">>, proplists:get_value(policy, Info)),
|
?assertEqual(PolicyName, proplists:get_value(policy, Info)),
|
||||||
?assertEqual('', proplists:get_value(operator_policy, Info)),
|
?assertEqual('', proplists:get_value(operator_policy, Info)),
|
||||||
?assertEqual([{<<"stream-max-segment-size-bytes">>, 5000}],
|
?assertEqual([{<<"stream-max-segment-size-bytes">>, 5000}],
|
||||||
proplists:get_value(effective_policy_definition, Info)),
|
proplists:get_value(effective_policy_definition, Info)),
|
||||||
ok = rabbit_ct_broker_helpers:clear_policy(Config, 0, <<"segment">>),
|
ok = rabbit_ct_broker_helpers:clear_policy(Config, 0, PolicyName),
|
||||||
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_testcase_queue, [Q]).
|
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_testcase_queue, [Q]).
|
||||||
|
|
||||||
purge(Config) ->
|
purge(Config) ->
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue