Skip to content

Commit 1277a4b

Browse files
Merge pull request #14039 from rabbitmq/mqtt-test-deps
MQTT tests: start just required dependencies
2 parents 0942fd8 + d4148cd commit 1277a4b

16 files changed

+135
-69
lines changed

deps/rabbitmq_mqtt/test/auth_SUITE.erl

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,9 @@ sub_groups() ->
125125

126126
init_per_suite(Config) ->
127127
rabbit_ct_helpers:log_environment(),
128-
Config.
128+
rabbit_ct_helpers:set_config(
129+
Config,
130+
[{start_rmq_with_plugins_disabled, true}]).
129131

130132
end_per_suite(Config) ->
131133
Config.
@@ -152,6 +154,7 @@ init_per_group(authz, Config0) ->
152154
Config1,
153155
rabbit_ct_broker_helpers:setup_steps() ++
154156
rabbit_ct_client_helpers:setup_steps()),
157+
util:enable_plugin(Config, rabbitmq_mqtt),
155158
rabbit_ct_broker_helpers:add_user(Config, User, Password),
156159
rabbit_ct_broker_helpers:add_vhost(Config, VHost),
157160
[Log|_] = rpc(Config, 0, rabbit, log_locations, []),
@@ -167,7 +170,7 @@ init_per_group(Group, Config) ->
167170
]),
168171
MqttConfig = mqtt_config(Group),
169172
AuthConfig = auth_config(Group),
170-
rabbit_ct_helpers:run_setup_steps(
173+
Config2 = rabbit_ct_helpers:run_setup_steps(
171174
Config1,
172175
[fun(Conf) -> case MqttConfig of
173176
undefined -> Conf;
@@ -179,8 +182,10 @@ init_per_group(Group, Config) ->
179182
_ -> merge_app_env(AuthConfig, Conf)
180183
end
181184
end] ++
182-
rabbit_ct_broker_helpers:setup_steps() ++
183-
rabbit_ct_client_helpers:setup_steps()).
185+
rabbit_ct_broker_helpers:setup_steps() ++
186+
rabbit_ct_client_helpers:setup_steps()),
187+
util:enable_plugin(Config2, rabbitmq_mqtt),
188+
Config2.
184189

185190
end_per_group(G, Config)
186191
when G =:= v4;

deps/rabbitmq_mqtt/test/cluster_SUITE.erl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ end_per_suite(Config) ->
6767
init_per_group(Group, Config) ->
6868
rabbit_ct_helpers:set_config(
6969
Config, [{rmq_nodes_count, 5},
70-
{mqtt_version, Group}]).
70+
{mqtt_version, Group},
71+
{start_rmq_with_plugins_disabled, true}]).
7172

7273
end_per_group(_, Config) ->
7374
Config.
@@ -79,11 +80,13 @@ init_per_testcase(Testcase, Config) ->
7980
{rmq_nodename_suffix, Testcase},
8081
{rmq_nodes_clustered, true}
8182
]),
82-
rabbit_ct_helpers:run_setup_steps(
83+
Config2 = rabbit_ct_helpers:run_setup_steps(
8384
Config1,
8485
[fun merge_app_env/1] ++
8586
setup_steps() ++
86-
rabbit_ct_client_helpers:setup_steps()).
87+
rabbit_ct_client_helpers:setup_steps()),
88+
util:enable_plugin(Config2, rabbitmq_mqtt),
89+
Config2.
8790

8891
end_per_testcase(Testcase, Config) ->
8992
rabbit_ct_helpers:run_steps(Config,

deps/rabbitmq_mqtt/test/command_SUITE.erl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,14 @@ init_per_suite(Config) ->
4242
{rmq_extra_tcp_ports, [tcp_port_mqtt_extra,
4343
tcp_port_mqtt_tls_extra]},
4444
{rmq_nodes_clustered, true},
45-
{rmq_nodes_count, 3}
45+
{rmq_nodes_count, 3},
46+
{start_rmq_with_plugins_disabled, true}
4647
]),
47-
rabbit_ct_helpers:run_setup_steps(Config1,
48+
Config2 = rabbit_ct_helpers:run_setup_steps(Config1,
4849
rabbit_ct_broker_helpers:setup_steps() ++
49-
rabbit_ct_client_helpers:setup_steps()).
50+
rabbit_ct_client_helpers:setup_steps()),
51+
util:enable_plugin(Config2, rabbitmq_mqtt),
52+
Config2.
5053

5154
end_per_suite(Config) ->
5255
rabbit_ct_helpers:run_teardown_steps(Config,

deps/rabbitmq_mqtt/test/config_SUITE.erl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,11 @@ suite() ->
3434
%% Testsuite setup/teardown.
3535
%% -------------------------------------------------------------------
3636

37-
init_per_suite(Config) ->
37+
init_per_suite(Config0) ->
3838
rabbit_ct_helpers:log_environment(),
39+
Config = rabbit_ct_helpers:set_config(
40+
Config0,
41+
[{start_rmq_with_plugins_disabled, true}]),
3942
rabbit_ct_helpers:run_setup_steps(Config).
4043

4144
end_per_suite(Config) ->

deps/rabbitmq_mqtt/test/config_schema_SUITE.erl

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,15 @@ end_per_suite(Config) ->
3030
init_per_testcase(Testcase, Config) ->
3131
rabbit_ct_helpers:testcase_started(Config, Testcase),
3232
Config1 = rabbit_ct_helpers:set_config(Config, [
33-
{rmq_nodename_suffix, Testcase}
33+
{rmq_nodename_suffix, Testcase},
34+
{start_rmq_with_plugins_disabled, true}
3435
]),
35-
rabbit_ct_helpers:run_steps(Config1,
36-
rabbit_ct_broker_helpers:setup_steps() ++
37-
rabbit_ct_client_helpers:setup_steps()).
36+
Config2 = rabbit_ct_helpers:run_steps(
37+
Config1,
38+
rabbit_ct_broker_helpers:setup_steps() ++
39+
rabbit_ct_client_helpers:setup_steps()),
40+
util:enable_plugin(Config2, rabbitmq_mqtt),
41+
Config2.
3842

3943
end_per_testcase(Testcase, Config) ->
4044
Config1 = rabbit_ct_helpers:run_steps(Config,

deps/rabbitmq_mqtt/test/feature_flag_SUITE.erl

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,18 @@ init_per_suite(Config) ->
2727
Config1 = rabbit_ct_helpers:set_config(
2828
Config,
2929
[{mqtt_version, v5},
30-
{rmq_nodename_suffix, ?MODULE}]),
30+
{rmq_nodename_suffix, ?MODULE},
31+
{start_rmq_with_plugins_disabled, true}
32+
]),
3133
Config2 = rabbit_ct_helpers:merge_app_env(
3234
Config1,
3335
{rabbit, [{forced_feature_flags_on_init, []}]}),
34-
rabbit_ct_helpers:run_setup_steps(
35-
Config2,
36-
rabbit_ct_broker_helpers:setup_steps() ++
37-
rabbit_ct_client_helpers:setup_steps()).
36+
Config3 = rabbit_ct_helpers:run_setup_steps(
37+
Config2,
38+
rabbit_ct_broker_helpers:setup_steps() ++
39+
rabbit_ct_client_helpers:setup_steps()),
40+
util:enable_plugin(Config3, rabbitmq_mqtt),
41+
Config3.
3842

3943
end_per_suite(Config) ->
4044
rabbit_ct_helpers:run_teardown_steps(

deps/rabbitmq_mqtt/test/federation_SUITE.erl

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,16 @@ init_per_suite(Config) ->
2222
Config,
2323
[{rmq_nodename_suffix, ?MODULE},
2424
{rmq_nodes_count, 2},
25-
{rmq_nodes_clustered, false}]),
26-
rabbit_ct_helpers:run_setup_steps(
27-
Config1,
28-
rabbit_ct_broker_helpers:setup_steps() ++
29-
rabbit_ct_client_helpers:setup_steps()).
25+
{rmq_nodes_clustered, false},
26+
{start_rmq_with_plugins_disabled, true}
27+
]),
28+
Config2 = rabbit_ct_helpers:run_setup_steps(
29+
Config1,
30+
rabbit_ct_broker_helpers:setup_steps() ++
31+
rabbit_ct_client_helpers:setup_steps()),
32+
util:enable_plugin(Config2, rabbitmq_mqtt),
33+
util:enable_plugin(Config2, rabbitmq_federation),
34+
Config2.
3035

3136
end_per_suite(Config) ->
3237
rabbit_ct_helpers:run_teardown_steps(

deps/rabbitmq_mqtt/test/java_SUITE.erl

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,16 @@ init_per_group(Group, Config0) ->
5959
{rmq_certspwd, "bunnychow"},
6060
{rmq_nodes_clustered, true},
6161
{rmq_nodes_count, 3},
62-
{mqtt_version, Group}]),
63-
rabbit_ct_helpers:run_setup_steps(
64-
Config,
65-
[fun merge_app_env/1] ++
66-
rabbit_ct_broker_helpers:setup_steps() ++
67-
rabbit_ct_client_helpers:setup_steps()).
62+
{mqtt_version, Group},
63+
{start_rmq_with_plugins_disabled, true}
64+
]),
65+
Config1 = rabbit_ct_helpers:run_setup_steps(
66+
Config,
67+
[fun merge_app_env/1] ++
68+
rabbit_ct_broker_helpers:setup_steps() ++
69+
rabbit_ct_client_helpers:setup_steps()),
70+
util:enable_plugin(Config1, rabbitmq_mqtt),
71+
Config1.
6872

6973
end_per_group(_, Config) ->
7074
rabbit_ct_helpers:run_teardown_steps(Config,

deps/rabbitmq_mqtt/test/mqtt_shared_SUITE.erl

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,8 @@ init_per_suite(Config) ->
164164
Config, {rabbit, [
165165
{quorum_tick_interval, 1000},
166166
{stream_tick_interval, 1000},
167-
{forced_feature_flags_on_init, []}
167+
{forced_feature_flags_on_init, []},
168+
{start_rmq_with_plugins_disabled, true}
168169
]}),
169170
rabbit_ct_helpers:run_setup_steps(Config1).
170171

@@ -189,10 +190,12 @@ init_per_group(Group, Config0) ->
189190
Config0,
190191
[{rmq_nodes_count, Nodes},
191192
{rmq_nodename_suffix, Suffix}]),
192-
rabbit_ct_helpers:run_steps(
193-
Config,
194-
rabbit_ct_broker_helpers:setup_steps() ++
195-
rabbit_ct_client_helpers:setup_steps()).
193+
Config1 = rabbit_ct_helpers:run_steps(
194+
Config,
195+
rabbit_ct_broker_helpers:setup_steps() ++
196+
rabbit_ct_client_helpers:setup_steps()),
197+
util:enable_plugin(Config1, rabbitmq_mqtt),
198+
Config1.
196199

197200
end_per_group(G, Config)
198201
when G =:= cluster_size_1;

deps/rabbitmq_mqtt/test/protocol_interop_SUITE.erl

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,16 @@ init_per_group(Group, Config0) ->
6969
Config1 = rabbit_ct_helpers:set_config(
7070
Config0,
7171
[{rmq_nodes_count, Nodes},
72-
{mqtt_version, v5}]),
72+
{mqtt_version, v5},
73+
{start_rmq_with_plugins_disabled, true}
74+
]),
7375
Config = rabbit_ct_helpers:run_steps(
7476
Config1,
7577
rabbit_ct_broker_helpers:setup_steps() ++
7678
rabbit_ct_client_helpers:setup_steps()),
77-
78-
Plugins = [rabbitmq_stomp,
79-
rabbitmq_stream],
80-
[ok = rabbit_ct_broker_helpers:enable_plugin(Config, 0, Plugin) || Plugin <- Plugins],
79+
util:enable_plugin(Config, rabbitmq_mqtt),
80+
util:enable_plugin(Config, rabbitmq_stomp),
81+
util:enable_plugin(Config, rabbitmq_stream),
8182
Config.
8283

8384
end_per_group(_Group, Config) ->

deps/rabbitmq_mqtt/test/proxy_protocol_SUITE.erl

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,17 @@ init_per_suite(Config) ->
3737
Config1 = rabbit_ct_helpers:set_config(Config, [
3838
{rmq_nodename_suffix, Suffix},
3939
{rmq_certspwd, "bunnychow"},
40-
{rabbitmq_ct_tls_verify, verify_none}
40+
{rabbitmq_ct_tls_verify, verify_none},
41+
{start_rmq_with_plugins_disabled, true}
4142
]),
4243
MqttConfig = mqtt_config(),
43-
rabbit_ct_helpers:run_setup_steps(Config1,
44-
[ fun(Conf) -> merge_app_env(MqttConfig, Conf) end ] ++
45-
rabbit_ct_broker_helpers:setup_steps() ++
46-
rabbit_ct_client_helpers:setup_steps()).
44+
Config2 = rabbit_ct_helpers:run_setup_steps(
45+
Config1,
46+
[ fun(Conf) -> merge_app_env(MqttConfig, Conf) end ] ++
47+
rabbit_ct_broker_helpers:setup_steps() ++
48+
rabbit_ct_client_helpers:setup_steps()),
49+
util:enable_plugin(Config2, rabbitmq_mqtt),
50+
Config2.
4751

4852
mqtt_config() ->
4953
{rabbitmq_mqtt, [

deps/rabbitmq_mqtt/test/reader_SUITE.erl

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,18 @@ merge_app_env(Config) ->
6262

6363
init_per_suite(Config) ->
6464
rabbit_ct_helpers:log_environment(),
65-
Config1 = rabbit_ct_helpers:set_config(Config, {rmq_nodename_suffix, ?MODULE}),
66-
rabbit_ct_helpers:run_setup_steps(
67-
Config1,
68-
[fun merge_app_env/1] ++
69-
rabbit_ct_broker_helpers:setup_steps() ++
70-
rabbit_ct_client_helpers:setup_steps()).
65+
Config1 = rabbit_ct_helpers:set_config(
66+
Config,
67+
[{rmq_nodename_suffix, ?MODULE},
68+
{start_rmq_with_plugins_disabled, true}
69+
]),
70+
Config2 = rabbit_ct_helpers:run_setup_steps(
71+
Config1,
72+
[fun merge_app_env/1] ++
73+
rabbit_ct_broker_helpers:setup_steps() ++
74+
rabbit_ct_client_helpers:setup_steps()),
75+
util:enable_plugin(Config2, rabbitmq_mqtt),
76+
Config2.
7177

7278
end_per_suite(Config) ->
7379
rabbit_ct_helpers:run_teardown_steps(Config,

deps/rabbitmq_mqtt/test/retainer_SUITE.erl

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ init_per_group(G, Config)
6464
init_per_group(Group, Config0) ->
6565
Suffix = rabbit_ct_helpers:testcase_absname(Config0, "", "-"),
6666
Config = rabbit_ct_helpers:set_config(
67-
Config0, {rmq_nodename_suffix, Suffix}),
67+
Config0, [{rmq_nodename_suffix, Suffix},
68+
{start_rmq_with_plugins_disabled, true}
69+
]),
6870
Mod = list_to_atom("rabbit_mqtt_retained_msg_store_" ++ atom_to_list(Group)),
6971
Env = [{rabbitmq_mqtt, [{retained_message_store, Mod}]},
7072
{rabbit, [
@@ -73,11 +75,13 @@ init_per_group(Group, Config0) ->
7375
{default_vhost, "/"},
7476
{default_permissions, [".*", ".*", ".*"]}
7577
]}],
76-
rabbit_ct_helpers:run_setup_steps(
77-
Config,
78-
[fun(Conf) -> rabbit_ct_helpers:merge_app_env(Conf, Env) end] ++
79-
rabbit_ct_broker_helpers:setup_steps() ++
80-
rabbit_ct_client_helpers:setup_steps()).
78+
Config1 = rabbit_ct_helpers:run_setup_steps(
79+
Config,
80+
[fun(Conf) -> rabbit_ct_helpers:merge_app_env(Conf, Env) end] ++
81+
rabbit_ct_broker_helpers:setup_steps() ++
82+
rabbit_ct_client_helpers:setup_steps()),
83+
util:enable_plugin(Config1, rabbitmq_mqtt),
84+
Config1.
8185

8286
end_per_group(G, Config)
8387
when G =:= v4;
@@ -173,6 +177,7 @@ recover(Config) ->
173177
{qos, 1}]),
174178
ok = emqtt:disconnect(C1),
175179
ok = rabbit_ct_broker_helpers:restart_node(Config, 0),
180+
rabbit_ct_broker_helpers:enable_plugin(Config, 0, rabbitmq_mqtt),
176181
C2 = connect(ClientId, Config),
177182
{ok, _, _} = emqtt:subscribe(C2, Topic, qos1),
178183
ok = expect_publishes(C2, Topic, [Payload]),
@@ -193,6 +198,7 @@ recover_with_message_expiry_interval(Config) ->
193198
ok = emqtt:disconnect(C1),
194199
%% Takes around 9 seconds on Linux.
195200
ok = rabbit_ct_broker_helpers:restart_node(Config, 0),
201+
rabbit_ct_broker_helpers:enable_plugin(Config, 0, rabbitmq_mqtt),
196202
C2 = connect(ClientId, Config),
197203

198204
%% Retained message for topic/3 should have expired during node restart.

deps/rabbitmq_mqtt/test/util.erl

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
assert_message_expiry_interval/2,
2525
await_exit/1,
2626
await_exit/2,
27-
non_clean_sess_opts/0
27+
non_clean_sess_opts/0,
28+
enable_plugin/2
2829
]).
2930

3031
all_connection_pids(Config) ->
@@ -171,3 +172,8 @@ start_client(ClientId, Config, Node, AdditionalOpts) ->
171172
] ++ WsOpts ++ AdditionalOpts,
172173
{ok, C} = emqtt:start_link(Options),
173174
{C, Connect}.
175+
176+
enable_plugin(Config, Plugin) ->
177+
Nodes = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
178+
[rabbit_ct_broker_helpers:enable_plugin(Config, Node, Plugin)
179+
|| Node <- Nodes].

deps/rabbitmq_mqtt/test/v5_SUITE.erl

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,9 @@ suite() ->
142142
%% Testsuite setup/teardown.
143143
%% -------------------------------------------------------------------
144144

145-
init_per_suite(Config) ->
145+
init_per_suite(Config0) ->
146146
rabbit_ct_helpers:log_environment(),
147+
Config = rabbit_ct_helpers:set_config(Config0, {test_plugins, [rabbitmq_mqtt]}),
147148
rabbit_ct_helpers:run_setup_steps(Config).
148149

149150
end_per_suite(Config) ->
@@ -161,14 +162,18 @@ init_per_group(Group, Config0) ->
161162
Config0,
162163
[{mqtt_version, v5},
163164
{rmq_nodes_count, Nodes},
164-
{rmq_nodename_suffix, Suffix}]),
165+
{rmq_nodename_suffix, Suffix},
166+
{start_rmq_with_plugins_disabled, true}
167+
]),
165168
Config = rabbit_ct_helpers:merge_app_env(
166169
Config1,
167170
{rabbit, [{quorum_tick_interval, 200}]}),
168-
rabbit_ct_helpers:run_steps(
169-
Config,
170-
rabbit_ct_broker_helpers:setup_steps() ++
171-
rabbit_ct_client_helpers:setup_steps()).
171+
Config2 = rabbit_ct_helpers:run_steps(
172+
Config,
173+
rabbit_ct_broker_helpers:setup_steps() ++
174+
rabbit_ct_client_helpers:setup_steps()),
175+
[util:enable_plugin(Config2, Plugin) || Plugin <- ?config(test_plugins, Config2)],
176+
Config2.
172177

173178
end_per_group(G, Config)
174179
when G =:= cluster_size_1;
@@ -918,6 +923,7 @@ subscription_options_persisted(Config) ->
918923
{<<"t2">>, [{nl, false}, {rap, true}, {qos, 1}]}]),
919924
unlink(C1),
920925
ok = rabbit_ct_broker_helpers:restart_node(Config, 0),
926+
[util:enable_plugin(Config, Plugin) || Plugin <- ?config(test_plugins, Config)],
921927
C2 = connect(ClientId, Config, [{clean_start, false}]),
922928
ok = emqtt:publish(C2, <<"t1">>, <<"m1">>),
923929
ok = emqtt:publish(C2, <<"t2">>, <<"m2">>, [{retain, true}]),
@@ -1742,6 +1748,7 @@ will_delay_node_restart(Config) ->
17421748
timer:sleep(SleepMs),
17431749
assert_nothing_received(),
17441750
ok = rabbit_ct_broker_helpers:start_node(Config, 0),
1751+
[util:enable_plugin(Config, Plugin) || Plugin <- ?config(test_plugins, Config)],
17451752
%% After node 0 restarts, we should receive the Will Message promptly on both nodes 0 and 1.
17461753
receive {publish, #{client_pid := Sub1,
17471754
payload := Payload}} -> ok

0 commit comments

Comments
 (0)