Merge pull request #10212 from keynslug/test/EMQX-9269/cluster-env

test(bridge-api): also run testcases in cluster environment
This commit is contained in:
Andrew Mayorov 2023-03-28 11:36:48 +03:00 committed by GitHub
commit 89108594f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 659 additions and 520 deletions

View File

@ -299,6 +299,7 @@ generate_config(SchemaModule, ConfigFile) when is_atom(SchemaModule) ->
-spec stop_apps(list()) -> ok.
stop_apps(Apps) ->
[application:stop(App) || App <- Apps ++ [emqx, ekka, mria, mnesia]],
ok = mria_mnesia:delete_schema(),
%% to avoid inter-suite flakiness
application:unset_env(emqx, init_config_load_done),
persistent_term:erase(?EMQX_AUTHENTICATION_SCHEMA_MODULE_PT_KEY),
@ -723,7 +724,7 @@ setup_node(Node, Opts) when is_map(Opts) ->
ConfigureGenRpc = maps:get(configure_gen_rpc, Opts, true),
LoadSchema = maps:get(load_schema, Opts, true),
SchemaMod = maps:get(schema_mod, Opts, emqx_schema),
LoadApps = maps:get(load_apps, Opts, [gen_rpc, emqx, ekka, mria] ++ Apps),
LoadApps = maps:get(load_apps, Opts, Apps),
Env = maps:get(env, Opts, []),
Conf = maps:get(conf, Opts, []),
ListenerPorts = maps:get(listener_ports, Opts, [
@ -741,12 +742,13 @@ setup_node(Node, Opts) when is_map(Opts) ->
StartAutocluster = maps:get(start_autocluster, Opts, false),
%% Load env before doing anything to avoid overriding
lists:foreach(fun(App) -> rpc:call(Node, ?MODULE, load, [App]) end, LoadApps),
[ok = erpc:call(Node, ?MODULE, load, [App]) || App <- [gen_rpc, ekka, mria, emqx | LoadApps]],
%% Ensure a clean mnesia directory for each run to avoid
%% inter-test flakiness.
MnesiaDataDir = filename:join([
PrivDataDir,
node(),
Node,
integer_to_list(erlang:unique_integer()),
"mnesia"
]),

File diff suppressed because it is too large Load Diff

View File

@ -262,7 +262,7 @@ i18n_file() ->
end.
listeners() ->
emqx_conf:get([dashboard, listeners], []).
emqx_conf:get([dashboard, listeners], #{}).
api_key_authorize(Req, Key, Secret) ->
Path = cowboy_req:path(Req),

View File

@ -57,22 +57,11 @@ all() ->
emqx_common_test_helpers:all(?MODULE).
init_per_suite(Config) ->
emqx_common_test_helpers:start_apps(
[emqx_management, emqx_dashboard],
fun set_special_configs/1
),
emqx_mgmt_api_test_util:init_suite([emqx_management]),
Config.
end_per_suite(_Config) ->
mnesia:clear_table(?ADMIN),
emqx_common_test_helpers:stop_apps([emqx_dashboard, emqx_management]),
mria:stop().
set_special_configs(emqx_dashboard) ->
emqx_dashboard_api_test_helpers:set_default_config(),
ok;
set_special_configs(_) ->
ok.
emqx_mgmt_api_test_util:end_suite([emqx_management]).
t_overview(_) ->
mnesia:clear_table(?ADMIN),

View File

@ -19,36 +19,22 @@
-compile(export_all).
-include("emqx_dashboard.hrl").
-include_lib("emqx/include/http_api.hrl").
-include_lib("eunit/include/eunit.hrl").
all() ->
emqx_common_test_helpers:all(?MODULE).
init_per_suite(Config) ->
mria:start(),
application:load(emqx_dashboard),
emqx_common_test_helpers:start_apps([emqx_conf, emqx_dashboard], fun set_special_configs/1),
emqx_mgmt_api_test_util:init_suite([emqx_conf]),
Config.
set_special_configs(emqx_dashboard) ->
emqx_dashboard_api_test_helpers:set_default_config(),
ok;
set_special_configs(_) ->
ok.
end_per_suite(Config) ->
end_suite(),
Config.
end_per_suite(_Config) ->
emqx_mgmt_api_test_util:end_suite([emqx_conf]).
end_per_testcase(_, _Config) ->
All = emqx_dashboard_admin:all_users(),
[emqx_dashboard_admin:remove_user(Name) || #{username := Name} <- All].
end_suite() ->
application:unload(emqx_management),
emqx_common_test_helpers:stop_apps([emqx_dashboard]).
t_check_user(_) ->
Username = <<"admin1">>,
Password = <<"public_1">>,

View File

@ -31,15 +31,10 @@ all() ->
emqx_common_test_helpers:all(?MODULE).
init_per_suite(Config) ->
mria:start(),
emqx_mgmt_api_test_util:init_suite([emqx_conf]),
Config.
end_per_suite(Config) ->
end_suite(),
Config.
end_suite() ->
end_per_suite(_Config) ->
emqx_mgmt_api_test_util:end_suite([emqx_conf]).
t_bad_api_path(_) ->

View File

@ -29,24 +29,11 @@ all() ->
emqx_common_test_helpers:all(?MODULE).
init_per_suite(Config) ->
mria:start(),
application:load(emqx_dashboard),
emqx_common_test_helpers:start_apps([emqx_conf, emqx_dashboard], fun set_special_configs/1),
emqx_mgmt_api_test_util:init_suite([emqx_conf]),
Config.
set_special_configs(emqx_dashboard) ->
emqx_dashboard_api_test_helpers:set_default_config(),
ok;
set_special_configs(_) ->
ok.
end_per_suite(Config) ->
end_suite(),
Config.
end_suite() ->
application:unload(emqx_management),
emqx_common_test_helpers:stop_apps([emqx_dashboard]).
end_per_suite(_Config) ->
emqx_mgmt_api_test_util:end_suite([emqx_conf]).
t_all_code(_) ->
HrlDef = ?ERROR_CODES,

View File

@ -26,10 +26,7 @@ all() ->
emqx_common_test_helpers:all(?MODULE).
init_per_suite(Config) ->
emqx_common_test_helpers:start_apps(
[emqx_management, emqx_dashboard],
fun set_special_configs/1
),
emqx_mgmt_api_test_util:init_suite([emqx_management], fun set_special_configs/1),
Config.
set_special_configs(emqx_dashboard) ->
@ -38,12 +35,8 @@ set_special_configs(emqx_dashboard) ->
set_special_configs(_) ->
ok.
end_per_suite(Config) ->
application:unload(emqx_management),
mnesia:clear_table(?ADMIN),
emqx_common_test_helpers:stop_apps([emqx_dashboard, emqx_management]),
mria:stop(),
Config.
end_per_suite(_Config) ->
emqx_mgmt_api_test_util:end_suite([emqx_management]).
t_status(_Config) ->
ProxyInfo = #{

View File

@ -31,22 +31,11 @@ all() ->
emqx_common_test_helpers:all(?MODULE).
init_per_suite(Config) ->
application:load(emqx_dashboard),
mria:start(),
mnesia:clear_table(?ADMIN),
emqx_common_test_helpers:start_apps([emqx_dashboard], fun set_special_configs/1),
emqx_mgmt_api_test_util:init_suite([]),
Config.
end_per_suite(Config) ->
mnesia:clear_table(?ADMIN),
emqx_common_test_helpers:stop_apps([emqx_dashboard]),
Config.
set_special_configs(emqx_dashboard) ->
emqx_dashboard_api_test_helpers:set_default_config(),
ok;
set_special_configs(_) ->
ok.
end_per_suite(_Config) ->
emqx_mgmt_api_test_util:end_suite([]).
t_monitor_samplers_all(_Config) ->
timer:sleep(?DEFAULT_SAMPLE_INTERVAL * 2 * 1000 + 20),

View File

@ -63,25 +63,12 @@ groups() ->
].
init_per_suite(Config) ->
mria:start(),
application:load(emqx_dashboard),
emqx_common_test_helpers:start_apps([emqx_conf, emqx_dashboard], fun set_special_configs/1),
emqx_mgmt_api_test_util:init_suite([emqx_conf]),
emqx_dashboard:init_i18n(),
Config.
set_special_configs(emqx_dashboard) ->
emqx_dashboard_api_test_helpers:set_default_config(),
ok;
set_special_configs(_) ->
ok.
end_per_suite(Config) ->
end_suite(),
Config.
end_suite() ->
application:unload(emqx_management),
emqx_common_test_helpers:stop_apps([emqx_dashboard]).
end_per_suite(_Config) ->
emqx_mgmt_api_test_util:end_suite([emqx_conf]).
t_in_path(_Config) ->
Expect =

View File

@ -32,25 +32,17 @@
all() -> emqx_common_test_helpers:all(?MODULE).
init_per_suite(Config) ->
mria:start(),
application:load(emqx_dashboard),
emqx_common_test_helpers:start_apps([emqx_conf, emqx_dashboard], fun set_special_configs/1),
emqx_mgmt_api_test_util:init_suite([emqx_conf]),
emqx_dashboard:init_i18n(),
Config.
set_special_configs(emqx_dashboard) ->
emqx_dashboard_api_test_helpers:set_default_config(),
ok;
set_special_configs(_) ->
ok.
end_per_suite(Config) ->
end_suite(),
Config.
end_suite() ->
application:unload(emqx_management),
emqx_common_test_helpers:stop_apps([emqx_dashboard]).
emqx_mgmt_api_test_util:end_suite([emqx_conf]).
t_simple_binary(_config) ->
Path = "/simple/bin",