Merge pull request #14039 from rabbitmq/mqtt-test-deps
MQTT tests: start just required dependencies
This commit is contained in:
commit
1277a4b8b3
|
@ -125,7 +125,9 @@ sub_groups() ->
|
|||
|
||||
init_per_suite(Config) ->
|
||||
rabbit_ct_helpers:log_environment(),
|
||||
Config.
|
||||
rabbit_ct_helpers:set_config(
|
||||
Config,
|
||||
[{start_rmq_with_plugins_disabled, true}]).
|
||||
|
||||
end_per_suite(Config) ->
|
||||
Config.
|
||||
|
@ -152,6 +154,7 @@ init_per_group(authz, Config0) ->
|
|||
Config1,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
util:enable_plugin(Config, rabbitmq_mqtt),
|
||||
rabbit_ct_broker_helpers:add_user(Config, User, Password),
|
||||
rabbit_ct_broker_helpers:add_vhost(Config, VHost),
|
||||
[Log|_] = rpc(Config, 0, rabbit, log_locations, []),
|
||||
|
@ -167,7 +170,7 @@ init_per_group(Group, Config) ->
|
|||
]),
|
||||
MqttConfig = mqtt_config(Group),
|
||||
AuthConfig = auth_config(Group),
|
||||
rabbit_ct_helpers:run_setup_steps(
|
||||
Config2 = rabbit_ct_helpers:run_setup_steps(
|
||||
Config1,
|
||||
[fun(Conf) -> case MqttConfig of
|
||||
undefined -> Conf;
|
||||
|
@ -179,8 +182,10 @@ init_per_group(Group, Config) ->
|
|||
_ -> merge_app_env(AuthConfig, Conf)
|
||||
end
|
||||
end] ++
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()).
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
util:enable_plugin(Config2, rabbitmq_mqtt),
|
||||
Config2.
|
||||
|
||||
end_per_group(G, Config)
|
||||
when G =:= v4;
|
||||
|
|
|
@ -67,7 +67,8 @@ end_per_suite(Config) ->
|
|||
init_per_group(Group, Config) ->
|
||||
rabbit_ct_helpers:set_config(
|
||||
Config, [{rmq_nodes_count, 5},
|
||||
{mqtt_version, Group}]).
|
||||
{mqtt_version, Group},
|
||||
{start_rmq_with_plugins_disabled, true}]).
|
||||
|
||||
end_per_group(_, Config) ->
|
||||
Config.
|
||||
|
@ -79,11 +80,13 @@ init_per_testcase(Testcase, Config) ->
|
|||
{rmq_nodename_suffix, Testcase},
|
||||
{rmq_nodes_clustered, true}
|
||||
]),
|
||||
rabbit_ct_helpers:run_setup_steps(
|
||||
Config2 = rabbit_ct_helpers:run_setup_steps(
|
||||
Config1,
|
||||
[fun merge_app_env/1] ++
|
||||
setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()).
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
util:enable_plugin(Config2, rabbitmq_mqtt),
|
||||
Config2.
|
||||
|
||||
end_per_testcase(Testcase, Config) ->
|
||||
rabbit_ct_helpers:run_steps(Config,
|
||||
|
|
|
@ -42,11 +42,14 @@ init_per_suite(Config) ->
|
|||
{rmq_extra_tcp_ports, [tcp_port_mqtt_extra,
|
||||
tcp_port_mqtt_tls_extra]},
|
||||
{rmq_nodes_clustered, true},
|
||||
{rmq_nodes_count, 3}
|
||||
{rmq_nodes_count, 3},
|
||||
{start_rmq_with_plugins_disabled, true}
|
||||
]),
|
||||
rabbit_ct_helpers:run_setup_steps(Config1,
|
||||
Config2 = rabbit_ct_helpers:run_setup_steps(Config1,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()).
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
util:enable_plugin(Config2, rabbitmq_mqtt),
|
||||
Config2.
|
||||
|
||||
end_per_suite(Config) ->
|
||||
rabbit_ct_helpers:run_teardown_steps(Config,
|
||||
|
|
|
@ -34,8 +34,11 @@ suite() ->
|
|||
%% Testsuite setup/teardown.
|
||||
%% -------------------------------------------------------------------
|
||||
|
||||
init_per_suite(Config) ->
|
||||
init_per_suite(Config0) ->
|
||||
rabbit_ct_helpers:log_environment(),
|
||||
Config = rabbit_ct_helpers:set_config(
|
||||
Config0,
|
||||
[{start_rmq_with_plugins_disabled, true}]),
|
||||
rabbit_ct_helpers:run_setup_steps(Config).
|
||||
|
||||
end_per_suite(Config) ->
|
||||
|
|
|
@ -30,11 +30,15 @@ end_per_suite(Config) ->
|
|||
init_per_testcase(Testcase, Config) ->
|
||||
rabbit_ct_helpers:testcase_started(Config, Testcase),
|
||||
Config1 = rabbit_ct_helpers:set_config(Config, [
|
||||
{rmq_nodename_suffix, Testcase}
|
||||
{rmq_nodename_suffix, Testcase},
|
||||
{start_rmq_with_plugins_disabled, true}
|
||||
]),
|
||||
rabbit_ct_helpers:run_steps(Config1,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()).
|
||||
Config2 = rabbit_ct_helpers:run_steps(
|
||||
Config1,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
util:enable_plugin(Config2, rabbitmq_mqtt),
|
||||
Config2.
|
||||
|
||||
end_per_testcase(Testcase, Config) ->
|
||||
Config1 = rabbit_ct_helpers:run_steps(Config,
|
||||
|
|
|
@ -27,14 +27,18 @@ init_per_suite(Config) ->
|
|||
Config1 = rabbit_ct_helpers:set_config(
|
||||
Config,
|
||||
[{mqtt_version, v5},
|
||||
{rmq_nodename_suffix, ?MODULE}]),
|
||||
{rmq_nodename_suffix, ?MODULE},
|
||||
{start_rmq_with_plugins_disabled, true}
|
||||
]),
|
||||
Config2 = rabbit_ct_helpers:merge_app_env(
|
||||
Config1,
|
||||
{rabbit, [{forced_feature_flags_on_init, []}]}),
|
||||
rabbit_ct_helpers:run_setup_steps(
|
||||
Config2,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()).
|
||||
Config3 = rabbit_ct_helpers:run_setup_steps(
|
||||
Config2,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
util:enable_plugin(Config3, rabbitmq_mqtt),
|
||||
Config3.
|
||||
|
||||
end_per_suite(Config) ->
|
||||
rabbit_ct_helpers:run_teardown_steps(
|
||||
|
|
|
@ -22,11 +22,16 @@ init_per_suite(Config) ->
|
|||
Config,
|
||||
[{rmq_nodename_suffix, ?MODULE},
|
||||
{rmq_nodes_count, 2},
|
||||
{rmq_nodes_clustered, false}]),
|
||||
rabbit_ct_helpers:run_setup_steps(
|
||||
Config1,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()).
|
||||
{rmq_nodes_clustered, false},
|
||||
{start_rmq_with_plugins_disabled, true}
|
||||
]),
|
||||
Config2 = rabbit_ct_helpers:run_setup_steps(
|
||||
Config1,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
util:enable_plugin(Config2, rabbitmq_mqtt),
|
||||
util:enable_plugin(Config2, rabbitmq_federation),
|
||||
Config2.
|
||||
|
||||
end_per_suite(Config) ->
|
||||
rabbit_ct_helpers:run_teardown_steps(
|
||||
|
|
|
@ -59,12 +59,16 @@ init_per_group(Group, Config0) ->
|
|||
{rmq_certspwd, "bunnychow"},
|
||||
{rmq_nodes_clustered, true},
|
||||
{rmq_nodes_count, 3},
|
||||
{mqtt_version, Group}]),
|
||||
rabbit_ct_helpers:run_setup_steps(
|
||||
Config,
|
||||
[fun merge_app_env/1] ++
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()).
|
||||
{mqtt_version, Group},
|
||||
{start_rmq_with_plugins_disabled, true}
|
||||
]),
|
||||
Config1 = rabbit_ct_helpers:run_setup_steps(
|
||||
Config,
|
||||
[fun merge_app_env/1] ++
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
util:enable_plugin(Config1, rabbitmq_mqtt),
|
||||
Config1.
|
||||
|
||||
end_per_group(_, Config) ->
|
||||
rabbit_ct_helpers:run_teardown_steps(Config,
|
||||
|
|
|
@ -164,7 +164,8 @@ init_per_suite(Config) ->
|
|||
Config, {rabbit, [
|
||||
{quorum_tick_interval, 1000},
|
||||
{stream_tick_interval, 1000},
|
||||
{forced_feature_flags_on_init, []}
|
||||
{forced_feature_flags_on_init, []},
|
||||
{start_rmq_with_plugins_disabled, true}
|
||||
]}),
|
||||
rabbit_ct_helpers:run_setup_steps(Config1).
|
||||
|
||||
|
@ -189,10 +190,12 @@ init_per_group(Group, Config0) ->
|
|||
Config0,
|
||||
[{rmq_nodes_count, Nodes},
|
||||
{rmq_nodename_suffix, Suffix}]),
|
||||
rabbit_ct_helpers:run_steps(
|
||||
Config,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()).
|
||||
Config1 = rabbit_ct_helpers:run_steps(
|
||||
Config,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
util:enable_plugin(Config1, rabbitmq_mqtt),
|
||||
Config1.
|
||||
|
||||
end_per_group(G, Config)
|
||||
when G =:= cluster_size_1;
|
||||
|
|
|
@ -69,15 +69,16 @@ init_per_group(Group, Config0) ->
|
|||
Config1 = rabbit_ct_helpers:set_config(
|
||||
Config0,
|
||||
[{rmq_nodes_count, Nodes},
|
||||
{mqtt_version, v5}]),
|
||||
{mqtt_version, v5},
|
||||
{start_rmq_with_plugins_disabled, true}
|
||||
]),
|
||||
Config = rabbit_ct_helpers:run_steps(
|
||||
Config1,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
|
||||
Plugins = [rabbitmq_stomp,
|
||||
rabbitmq_stream],
|
||||
[ok = rabbit_ct_broker_helpers:enable_plugin(Config, 0, Plugin) || Plugin <- Plugins],
|
||||
util:enable_plugin(Config, rabbitmq_mqtt),
|
||||
util:enable_plugin(Config, rabbitmq_stomp),
|
||||
util:enable_plugin(Config, rabbitmq_stream),
|
||||
Config.
|
||||
|
||||
end_per_group(_Group, Config) ->
|
||||
|
|
|
@ -37,13 +37,17 @@ init_per_suite(Config) ->
|
|||
Config1 = rabbit_ct_helpers:set_config(Config, [
|
||||
{rmq_nodename_suffix, Suffix},
|
||||
{rmq_certspwd, "bunnychow"},
|
||||
{rabbitmq_ct_tls_verify, verify_none}
|
||||
{rabbitmq_ct_tls_verify, verify_none},
|
||||
{start_rmq_with_plugins_disabled, true}
|
||||
]),
|
||||
MqttConfig = mqtt_config(),
|
||||
rabbit_ct_helpers:run_setup_steps(Config1,
|
||||
[ fun(Conf) -> merge_app_env(MqttConfig, Conf) end ] ++
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()).
|
||||
Config2 = rabbit_ct_helpers:run_setup_steps(
|
||||
Config1,
|
||||
[ fun(Conf) -> merge_app_env(MqttConfig, Conf) end ] ++
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
util:enable_plugin(Config2, rabbitmq_mqtt),
|
||||
Config2.
|
||||
|
||||
mqtt_config() ->
|
||||
{rabbitmq_mqtt, [
|
||||
|
|
|
@ -62,12 +62,18 @@ merge_app_env(Config) ->
|
|||
|
||||
init_per_suite(Config) ->
|
||||
rabbit_ct_helpers:log_environment(),
|
||||
Config1 = rabbit_ct_helpers:set_config(Config, {rmq_nodename_suffix, ?MODULE}),
|
||||
rabbit_ct_helpers:run_setup_steps(
|
||||
Config1,
|
||||
[fun merge_app_env/1] ++
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()).
|
||||
Config1 = rabbit_ct_helpers:set_config(
|
||||
Config,
|
||||
[{rmq_nodename_suffix, ?MODULE},
|
||||
{start_rmq_with_plugins_disabled, true}
|
||||
]),
|
||||
Config2 = rabbit_ct_helpers:run_setup_steps(
|
||||
Config1,
|
||||
[fun merge_app_env/1] ++
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
util:enable_plugin(Config2, rabbitmq_mqtt),
|
||||
Config2.
|
||||
|
||||
end_per_suite(Config) ->
|
||||
rabbit_ct_helpers:run_teardown_steps(Config,
|
||||
|
|
|
@ -64,7 +64,9 @@ init_per_group(G, Config)
|
|||
init_per_group(Group, Config0) ->
|
||||
Suffix = rabbit_ct_helpers:testcase_absname(Config0, "", "-"),
|
||||
Config = rabbit_ct_helpers:set_config(
|
||||
Config0, {rmq_nodename_suffix, Suffix}),
|
||||
Config0, [{rmq_nodename_suffix, Suffix},
|
||||
{start_rmq_with_plugins_disabled, true}
|
||||
]),
|
||||
Mod = list_to_atom("rabbit_mqtt_retained_msg_store_" ++ atom_to_list(Group)),
|
||||
Env = [{rabbitmq_mqtt, [{retained_message_store, Mod}]},
|
||||
{rabbit, [
|
||||
|
@ -73,11 +75,13 @@ init_per_group(Group, Config0) ->
|
|||
{default_vhost, "/"},
|
||||
{default_permissions, [".*", ".*", ".*"]}
|
||||
]}],
|
||||
rabbit_ct_helpers:run_setup_steps(
|
||||
Config,
|
||||
[fun(Conf) -> rabbit_ct_helpers:merge_app_env(Conf, Env) end] ++
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()).
|
||||
Config1 = rabbit_ct_helpers:run_setup_steps(
|
||||
Config,
|
||||
[fun(Conf) -> rabbit_ct_helpers:merge_app_env(Conf, Env) end] ++
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
util:enable_plugin(Config1, rabbitmq_mqtt),
|
||||
Config1.
|
||||
|
||||
end_per_group(G, Config)
|
||||
when G =:= v4;
|
||||
|
@ -173,6 +177,7 @@ recover(Config) ->
|
|||
{qos, 1}]),
|
||||
ok = emqtt:disconnect(C1),
|
||||
ok = rabbit_ct_broker_helpers:restart_node(Config, 0),
|
||||
rabbit_ct_broker_helpers:enable_plugin(Config, 0, rabbitmq_mqtt),
|
||||
C2 = connect(ClientId, Config),
|
||||
{ok, _, _} = emqtt:subscribe(C2, Topic, qos1),
|
||||
ok = expect_publishes(C2, Topic, [Payload]),
|
||||
|
@ -193,6 +198,7 @@ recover_with_message_expiry_interval(Config) ->
|
|||
ok = emqtt:disconnect(C1),
|
||||
%% Takes around 9 seconds on Linux.
|
||||
ok = rabbit_ct_broker_helpers:restart_node(Config, 0),
|
||||
rabbit_ct_broker_helpers:enable_plugin(Config, 0, rabbitmq_mqtt),
|
||||
C2 = connect(ClientId, Config),
|
||||
|
||||
%% Retained message for topic/3 should have expired during node restart.
|
||||
|
|
|
@ -24,7 +24,8 @@
|
|||
assert_message_expiry_interval/2,
|
||||
await_exit/1,
|
||||
await_exit/2,
|
||||
non_clean_sess_opts/0
|
||||
non_clean_sess_opts/0,
|
||||
enable_plugin/2
|
||||
]).
|
||||
|
||||
all_connection_pids(Config) ->
|
||||
|
@ -171,3 +172,8 @@ start_client(ClientId, Config, Node, AdditionalOpts) ->
|
|||
] ++ WsOpts ++ AdditionalOpts,
|
||||
{ok, C} = emqtt:start_link(Options),
|
||||
{C, Connect}.
|
||||
|
||||
enable_plugin(Config, Plugin) ->
|
||||
Nodes = rabbit_ct_broker_helpers:get_node_configs(Config, nodename),
|
||||
[rabbit_ct_broker_helpers:enable_plugin(Config, Node, Plugin)
|
||||
|| Node <- Nodes].
|
||||
|
|
|
@ -142,8 +142,9 @@ suite() ->
|
|||
%% Testsuite setup/teardown.
|
||||
%% -------------------------------------------------------------------
|
||||
|
||||
init_per_suite(Config) ->
|
||||
init_per_suite(Config0) ->
|
||||
rabbit_ct_helpers:log_environment(),
|
||||
Config = rabbit_ct_helpers:set_config(Config0, {test_plugins, [rabbitmq_mqtt]}),
|
||||
rabbit_ct_helpers:run_setup_steps(Config).
|
||||
|
||||
end_per_suite(Config) ->
|
||||
|
@ -161,14 +162,18 @@ init_per_group(Group, Config0) ->
|
|||
Config0,
|
||||
[{mqtt_version, v5},
|
||||
{rmq_nodes_count, Nodes},
|
||||
{rmq_nodename_suffix, Suffix}]),
|
||||
{rmq_nodename_suffix, Suffix},
|
||||
{start_rmq_with_plugins_disabled, true}
|
||||
]),
|
||||
Config = rabbit_ct_helpers:merge_app_env(
|
||||
Config1,
|
||||
{rabbit, [{quorum_tick_interval, 200}]}),
|
||||
rabbit_ct_helpers:run_steps(
|
||||
Config,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()).
|
||||
Config2 = rabbit_ct_helpers:run_steps(
|
||||
Config,
|
||||
rabbit_ct_broker_helpers:setup_steps() ++
|
||||
rabbit_ct_client_helpers:setup_steps()),
|
||||
[util:enable_plugin(Config2, Plugin) || Plugin <- ?config(test_plugins, Config2)],
|
||||
Config2.
|
||||
|
||||
end_per_group(G, Config)
|
||||
when G =:= cluster_size_1;
|
||||
|
@ -918,6 +923,7 @@ subscription_options_persisted(Config) ->
|
|||
{<<"t2">>, [{nl, false}, {rap, true}, {qos, 1}]}]),
|
||||
unlink(C1),
|
||||
ok = rabbit_ct_broker_helpers:restart_node(Config, 0),
|
||||
[util:enable_plugin(Config, Plugin) || Plugin <- ?config(test_plugins, Config)],
|
||||
C2 = connect(ClientId, Config, [{clean_start, false}]),
|
||||
ok = emqtt:publish(C2, <<"t1">>, <<"m1">>),
|
||||
ok = emqtt:publish(C2, <<"t2">>, <<"m2">>, [{retain, true}]),
|
||||
|
@ -1742,6 +1748,7 @@ will_delay_node_restart(Config) ->
|
|||
timer:sleep(SleepMs),
|
||||
assert_nothing_received(),
|
||||
ok = rabbit_ct_broker_helpers:start_node(Config, 0),
|
||||
[util:enable_plugin(Config, Plugin) || Plugin <- ?config(test_plugins, Config)],
|
||||
%% After node 0 restarts, we should receive the Will Message promptly on both nodes 0 and 1.
|
||||
receive {publish, #{client_pid := Sub1,
|
||||
payload := Payload}} -> ok
|
||||
|
|
|
@ -18,8 +18,10 @@ groups() ->
|
|||
suite() ->
|
||||
v5_SUITE:suite().
|
||||
|
||||
init_per_suite(Config) ->
|
||||
v5_SUITE:init_per_suite(Config).
|
||||
init_per_suite(Config0) ->
|
||||
Config = v5_SUITE:init_per_suite(Config0),
|
||||
rabbit_ct_helpers:set_config(Config, {test_plugins, [rabbitmq_mqtt,
|
||||
rabbitmq_web_mqtt]}).
|
||||
|
||||
end_per_suite(Config) ->
|
||||
v5_SUITE:end_per_suite(Config).
|
||||
|
@ -27,8 +29,8 @@ end_per_suite(Config) ->
|
|||
init_per_group(mqtt, Config) ->
|
||||
%% This is the main difference with rabbitmq_mqtt.
|
||||
rabbit_ct_helpers:set_config(Config, {websocket, true});
|
||||
init_per_group(Group, Config) ->
|
||||
v5_SUITE:init_per_group(Group, Config).
|
||||
init_per_group(Group, Config0) ->
|
||||
v5_SUITE:init_per_group(Group, Config0).
|
||||
|
||||
end_per_group(Group, Config) ->
|
||||
v5_SUITE:end_per_group(Group, Config).
|
||||
|
|
Loading…
Reference in New Issue