Run Java v5 tests in separate RMQ cluster

- to avoid test poluting since both v3 and v5 java test cases use
the same resource names
This commit is contained in:
Chunyi Lyu 2023-06-21 12:17:05 +01:00 committed by Chunyi Lyu
parent 0a98c1e986
commit 147e2d6676
3 changed files with 43 additions and 24 deletions

View File

@ -190,6 +190,9 @@ rabbitmq_integration_suite(
rabbitmq_integration_suite(
name = "java_SUITE",
additional_beam = [
":test_util_beam",
],
)
rabbitmq_suite(

View File

@ -22,14 +22,14 @@
all() ->
[
{group, non_parallel_tests}
{group, v3},
{group, v5}
].
groups() ->
[
{non_parallel_tests, [], [
java
]}
{v3, [], [java]},
{v5, [], [java_v5]}
].
suite() ->
@ -47,28 +47,31 @@ merge_app_env(Config) ->
init_per_suite(Config) ->
rabbit_ct_helpers:log_environment(),
Config1 = rabbit_ct_helpers:set_config(Config, [
{rmq_nodename_suffix, ?MODULE},
{rmq_certspwd, "bunnychow"},
{rmq_nodes_clustered, true},
{rmq_nodes_count, 3}
]),
rabbit_ct_helpers:run_setup_steps(Config1,
[ fun merge_app_env/1 ] ++
rabbit_ct_broker_helpers:setup_steps() ++
rabbit_ct_client_helpers:setup_steps()).
Config.
end_per_suite(Config) ->
rabbit_ct_helpers:run_teardown_steps(Config).
init_per_group(Group, Config0) ->
Suffix = rabbit_ct_helpers:testcase_absname(Config0, "", "-"),
Config1 = rabbit_ct_helpers:set_config(Config0, [
{rmq_nodename_suffix, Suffix},
{rmq_certspwd, "bunnychow"},
{rmq_nodes_clustered, true},
{rmq_nodes_count, 3},
{mqtt_version, Group}
]),
Config = 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:maybe_skip_v5(Config).
end_per_group(_, Config) ->
rabbit_ct_helpers:run_teardown_steps(Config,
rabbit_ct_client_helpers:teardown_steps() ++
rabbit_ct_broker_helpers:teardown_steps()).
init_per_group(_, Config) ->
Config.
end_per_group(_, Config) ->
Config.
init_per_testcase(Testcase, Config) ->
CertsDir = ?config(rmq_certsdir, Config),
CertFile = filename:join([CertsDir, "client", "cert.pem"]),
@ -92,12 +95,17 @@ init_per_testcase(Testcase, Config) ->
end_per_testcase(Testcase, Config) ->
rabbit_ct_helpers:testcase_finished(Config, Testcase).
%% -------------------------------------------------------------------
%% Testsuite cases
%% -------------------------------------------------------------------
java(Config) ->
run_test(Config, ["tests", "ssltests"]).
java_v5(Config) ->
run_test(Config, ["v5tests"]).
run_test(Config, Target) ->
CertsDir = rabbit_ct_helpers:get_config(Config, rmq_certsdir),
MqttPort = rabbit_ct_broker_helpers:get_node_config(Config, 0, tcp_port_mqtt),
MqttPort2 = rabbit_ct_broker_helpers:get_node_config(Config, 1, tcp_port_mqtt),
@ -111,7 +119,7 @@ java(Config) ->
os:putenv("MQTT_PORT_3", erlang:integer_to_list(MqttPort3)),
os:putenv("AMQP_PORT", erlang:integer_to_list(AmqpPort)),
DataDir = rabbit_ct_helpers:get_config(Config, data_dir),
MakeResult = rabbit_ct_helpers:make(Config, DataDir, ["tests"]),
MakeResult = rabbit_ct_helpers:make(Config, DataDir, Target),
{ok, _} = MakeResult.
rpc(Config, M, F, A) ->

View File

@ -9,7 +9,7 @@ MVN_FLAGS += -Ddeps.dir="$(abspath $(DEPS_DIR))" \
-Dmqtt.port.3=$(MQTT_PORT_3) \
-Damqp.port=$(AMQP_PORT)
.PHONY: deps tests clean distclean
.PHONY: deps tests v5tests ssltests clean distclean
deps:
mkdir -p lib
@ -18,7 +18,15 @@ deps:
tests:
# Note: to run a single test
# @mvnw -q $(MVN_FLAGS) -Dtest=MqttTest#subscribeMultiple test
@mvnw -q $(MVN_FLAGS) test
@mvnw -q $(MVN_FLAGS) -Dtest=MqttTest test
ssltests:
@mvnw -q $(MVN_FLAGS) -Dtest=MqttSSLTest test
v5tests:
# MQTT v5 tests; to focus
# @mvnw -q $(MVN_FLAGS) -Dtest=MqttV5Test#subscribeMultiple test
@mvnw -q $(MVN_FLAGS) -Dtest=MqttV5Test test
clean:
@mvnw clean