summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2020-03-12 21:41:29 +0300
committerMichael Klishin <michael@clojurewerkz.org>2020-03-12 21:41:29 +0300
commit141f6bfc2ba058b5e57f93dc08a2d5a0595a3f1e (patch)
treefd97f0fc08d0ae74cac92280e8b0cba7a3156355
parentc503d57e884dd440aa6b830bb9835be4dd2d8f69 (diff)
downloadrabbitmq-server-git-141f6bfc2ba058b5e57f93dc08a2d5a0595a3f1e.tar.gz
Add a test case that imports definitions on boot
This is a follow-up to c503d57e884dd440aa6b830bb9835be4dd2d8f69 which was a follow-up to 12571627a6089aa7d603e92b3e35745c8d398b3e.
-rw-r--r--test/definition_import_SUITE.erl37
1 files changed, 34 insertions, 3 deletions
diff --git a/test/definition_import_SUITE.erl b/test/definition_import_SUITE.erl
index f09fc64326..063b1de46a 100644
--- a/test/definition_import_SUITE.erl
+++ b/test/definition_import_SUITE.erl
@@ -25,12 +25,13 @@
all() ->
[
- {group, non_parallel_tests}
+ {group, import_on_a_running_node},
+ {group, import_on_a_booting_node}
].
groups() ->
[
- {non_parallel_tests, [], [
+ {import_on_a_running_node, [], [
%% Note: to make it easier to see which case failed,
%% these are intentionally not folded into a single case.
%% If generation becomes an alternative worth considering for these tests,
@@ -47,7 +48,10 @@ groups() ->
import_case10,
import_case11,
import_case12
- ]}
+ ]},
+ {import_on_a_booting_node, [], [
+ import_on_boot_case1
+ ]}
].
%% -------------------------------------------------------------------
@@ -74,6 +78,20 @@ init_per_group(_, Config) ->
end_per_group(_, Config) ->
Config.
+init_per_testcase(import_on_boot_case1 = Testcase, Config) ->
+ CasePath = filename:join(?config(data_dir, Config), "case5.json"),
+ Config1 = rabbit_ct_helpers:set_config(Config, [
+ {rmq_nodename_suffix, Testcase},
+ {rmq_nodes_count, 1}
+ ]),
+ Config2 = rabbit_ct_helpers:merge_app_env(Config1,
+ {rabbit, [
+ {load_definitions, CasePath}
+ ]}),
+ rabbit_ct_helpers:run_steps(Config2,
+ rabbit_ct_broker_helpers:setup_steps() ++
+ rabbit_ct_client_helpers:setup_steps()),
+ rabbit_ct_helpers:testcase_started(Config, Testcase);
init_per_testcase(Testcase, Config) ->
rabbit_ct_helpers:testcase_started(Config, Testcase).
@@ -108,6 +126,19 @@ import_case5(Config) ->
import_case11(Config) -> import_file_case(Config, "case11").
import_case12(Config) -> import_invalid_file_case(Config, "failing_case12").
+import_on_boot_case1(Config) ->
+ %% see case5.json
+ VHost = <<"vhost2">>,
+ %% verify that vhost2 eventually starts
+ case rabbit_ct_broker_helpers:rpc(Config, 0, rabbit_vhost, await_running_on_all_nodes, [VHost, 3000]) of
+ ok -> ok;
+ {error, timeout} -> ct:fail("virtual host ~p was not imported on boot", [VHost])
+ end.
+
+%%
+%% Implementation
+%%
+
import_file_case(Config, CaseName) ->
CasePath = filename:join(?config(data_dir, Config), CaseName ++ ".json"),
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, run_import_case, [CasePath]),