test: fix test case flakyness
This commit is contained in:
parent
55941000c0
commit
ab763fe665
|
@ -353,13 +353,13 @@ init(_Opts) ->
|
|||
ok = emqx_config_handler:add_handler([listeners, '?', '?', ?CONF_ROOT], Module),
|
||||
ok = hook_deny(),
|
||||
{ok, #{hooked => false, providers => #{}, init_done => false},
|
||||
{continue, initialize_authentication}}.
|
||||
{continue, {initialize_authentication, init}}}.
|
||||
|
||||
handle_call(get_providers, _From, #{providers := Providers} = State) ->
|
||||
reply(Providers, State);
|
||||
handle_call(
|
||||
{register_providers, Providers},
|
||||
_From,
|
||||
From,
|
||||
#{providers := Reg0} = State
|
||||
) ->
|
||||
case lists:filter(fun({T, _}) -> maps:is_key(T, Reg0) end, Providers) of
|
||||
|
@ -371,7 +371,7 @@ handle_call(
|
|||
Reg0,
|
||||
Providers
|
||||
),
|
||||
reply(ok, State#{providers := Reg}, initialize_authentication);
|
||||
reply(ok, State#{providers := Reg}, {initialize_authentication, From});
|
||||
Clashes ->
|
||||
reply({error, {authentication_type_clash, Clashes}}, State)
|
||||
end;
|
||||
|
@ -447,10 +447,10 @@ handle_call(Req, _From, State) ->
|
|||
?SLOG(error, #{msg => "unexpected_call", call => Req}),
|
||||
{reply, ignored, State}.
|
||||
|
||||
handle_continue(initialize_authentication, #{init_done := true} = State) ->
|
||||
handle_continue({initialize_authentication, _From}, #{init_done := true} = State) ->
|
||||
{noreply, State};
|
||||
handle_continue(initialize_authentication, #{providers := Providers} = State) ->
|
||||
InitDone = initialize_authentication(Providers),
|
||||
handle_continue({initialize_authentication, From}, #{providers := Providers} = State) ->
|
||||
InitDone = initialize_authentication(Providers, From),
|
||||
{noreply, maybe_hook(State#{init_done := InitDone})}.
|
||||
|
||||
handle_cast(Req, State) ->
|
||||
|
@ -484,11 +484,13 @@ code_change(_OldVsn, State, _Extra) ->
|
|||
%% Private functions
|
||||
%%------------------------------------------------------------------------------
|
||||
|
||||
initialize_authentication(Providers) ->
|
||||
initialize_authentication(Providers, From) ->
|
||||
ProviderTypes = maps:keys(Providers),
|
||||
Chains = chain_configs(),
|
||||
HasProviders = has_providers_for_configs(Chains, ProviderTypes),
|
||||
do_initialize_authentication(Providers, Chains, HasProviders).
|
||||
Result = do_initialize_authentication(Providers, Chains, HasProviders),
|
||||
?tp(info, authn_chains_initialization_done, #{from => From, result => Result}),
|
||||
Result.
|
||||
|
||||
do_initialize_authentication(_Providers, _Chains, _HasProviders = false) ->
|
||||
false;
|
||||
|
@ -500,7 +502,6 @@ do_initialize_authentication(Providers, Chains, _HasProviders = true) ->
|
|||
Chains
|
||||
),
|
||||
ok = unhook_deny(),
|
||||
?tp(info, authn_chains_initialization_done, #{}),
|
||||
true.
|
||||
|
||||
initialize_chain_authentication(_Providers, _ChainName, []) ->
|
||||
|
|
|
@ -69,9 +69,10 @@ t_initialize(_Config) ->
|
|||
emqx_access_control:authenticate(?CLIENTINFO)
|
||||
),
|
||||
|
||||
Self = self(),
|
||||
?assertWaitEvent(
|
||||
ok = emqx_authn_test_lib:register_fake_providers([{password_based, built_in_database}]),
|
||||
#{?snk_kind := authn_chains_initialization_done},
|
||||
#{?snk_kind := authn_chains_initialization_done, from := {Self, _}},
|
||||
100
|
||||
),
|
||||
|
||||
|
|
Loading…
Reference in New Issue