Skip to content

Commit c49b2d4

Browse files
committed
tests
1 parent f62c11f commit c49b2d4

1 file changed

Lines changed: 66 additions & 15 deletions

File tree

deps/rabbit/test/rabbit_db_binding_SUITE.erl

Lines changed: 66 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
-module(rabbit_db_binding_SUITE).
99

1010
-include_lib("rabbit_common/include/rabbit.hrl").
11+
-include_lib("common_test/include/ct.hrl").
1112
-include_lib("eunit/include/eunit.hrl").
1213

1314
-export([all/0,
@@ -21,8 +22,8 @@
2122

2223
create/1, create1/1,
2324
exists/1, exists1/1,
24-
delete/1, delete1/1,
25-
auto_delete/1, auto_delete1/1,
25+
delete_v1/1, delete_v2/1, delete1/2,
26+
auto_delete_v1/1, auto_delete_v2/1, auto_delete1/2,
2627
get_all/1, get_all1/1,
2728
get_all_by_vhost/1, get_all_by_vhost1/1,
2829
get_all_for_source/1, get_all_for_source1/1,
@@ -33,7 +34,9 @@
3334
get_all_for_source_and_destination_reverse1/1,
3435
fold/1, fold1/1,
3536
match/1, match1/1,
36-
match_routing_key/1, match_routing_key1/1
37+
match_routing_key/1, match_routing_key1/1,
38+
replaced_delete_queue_transaction/1,
39+
replaced_delete_queue_transaction1/1
3740
]).
3841

3942
-define(VHOST, <<"/">>).
@@ -47,15 +50,18 @@ all() ->
4750
groups() ->
4851
[
4952
{all_tests, [], all_tests()},
50-
{feature_flags, [], [replaced_delete_queue_transaction]}
53+
{feature_flags, [],
54+
[delete_v1,
55+
delete_v2,
56+
auto_delete_v1,
57+
auto_delete_v2,
58+
replaced_delete_queue_transaction]}
5159
].
5260

5361
all_tests() ->
5462
[
5563
create,
5664
exists,
57-
delete,
58-
auto_delete,
5965
get_all,
6066
get_all_by_vhost,
6167
get_all_for_source,
@@ -101,7 +107,16 @@ end_per_group(_Group, Config) ->
101107
rabbit_ct_broker_helpers:teardown_steps()).
102108

103109
init_per_testcase(Testcase, Config) ->
104-
rabbit_ct_helpers:testcase_started(Config, Testcase).
110+
rabbit_ct_helpers:testcase_started(Config, Testcase),
111+
case lists:member({name, feature_flags}, ?config(tc_group_properties, Config)) of
112+
true ->
113+
ok = rabbit_ct_broker_helpers:stop_broker(Config, 0),
114+
ok = rabbit_ct_broker_helpers:reset_node(Config, 0),
115+
ok = rabbit_ct_broker_helpers:start_broker(Config, 0);
116+
false ->
117+
ok
118+
end,
119+
Config.
105120

106121
end_per_testcase(Testcase, Config) ->
107122
rabbit_ct_broker_helpers:rpc(Config, 0, rabbit_db_exchange, clear, []),
@@ -150,10 +165,28 @@ exists1(_Config) ->
150165
?assertEqual(true, rabbit_db_binding:exists(Binding)),
151166
passed.
152167

153-
delete(Config) ->
154-
passed = rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete1, [Config]).
155-
156-
delete1(_Config) ->
168+
delete_v1(Config) ->
169+
passed = rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete1, [Config, v1]).
170+
171+
delete_v2(Config) ->
172+
Ret = rabbit_ct_broker_helpers:enable_feature_flag(
173+
Config, replaced_delete_queue_transaction),
174+
case Ret of
175+
ok ->
176+
passed = rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete1, [Config, v2]);
177+
{skip, _} = Skip ->
178+
Skip
179+
end.
180+
181+
delete1(_Config, Version) ->
182+
case Version of
183+
v1 ->
184+
?assertNot(
185+
rabbit_feature_flags:is_enabled(replaced_delete_queue_transaction));
186+
v2 ->
187+
?assert(
188+
rabbit_feature_flags:is_enabled(replaced_delete_queue_transaction))
189+
end,
157190
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
158191
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
159192
Exchange1 = #exchange{name = XName1, durable = true, auto_delete = false, decorators = {[], []}},
@@ -171,10 +204,28 @@ delete1(_Config) ->
171204
?assertEqual(false, rabbit_db_binding:exists(Binding)),
172205
passed.
173206

174-
auto_delete(Config) ->
175-
passed = rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, auto_delete1, [Config]).
176-
177-
auto_delete1(_Config) ->
207+
auto_delete_v1(Config) ->
208+
passed = rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, auto_delete1, [Config, v1]).
209+
210+
auto_delete_v2(Config) ->
211+
Ret = rabbit_ct_broker_helpers:enable_feature_flag(
212+
Config, replaced_delete_queue_transaction),
213+
case Ret of
214+
ok ->
215+
passed = rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, auto_delete1, [Config, v2]);
216+
{skip, _} = Skip ->
217+
Skip
218+
end.
219+
220+
auto_delete1(_Config, Version) ->
221+
case Version of
222+
v1 ->
223+
?assertNot(
224+
rabbit_feature_flags:is_enabled(replaced_delete_queue_transaction));
225+
v2 ->
226+
?assert(
227+
rabbit_feature_flags:is_enabled(replaced_delete_queue_transaction))
228+
end,
178229
XName1 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange1">>),
179230
XName2 = rabbit_misc:r(?VHOST, exchange, <<"test-exchange2">>),
180231
Exchange1 = #exchange{name = XName1, durable = true, auto_delete = true, decorators = {[], []}},

0 commit comments

Comments
 (0)