Browse Source

test: fix a flaky one

zmstone 1 year ago
parent
commit
b0832ecc74

+ 8 - 8
apps/emqx_auth/src/emqx_authn/emqx_authn_chains.erl

@@ -355,13 +355,13 @@ init(_Opts) ->
     ok = emqx_config_handler:add_handler([listeners, '?', '?', ?CONF_ROOT], Module),
     ok = emqx_config_handler:add_handler([listeners, '?', '?', ?CONF_ROOT], Module),
     ok = hook_deny(),
     ok = hook_deny(),
     {ok, #{hooked => false, providers => #{}, init_done => false},
     {ok, #{hooked => false, providers => #{}, init_done => false},
-        {continue, {initialize_authentication, init}}}.
+        {continue, initialize_authentication}}.
 
 
 handle_call(get_providers, _From, #{providers := Providers} = State) ->
 handle_call(get_providers, _From, #{providers := Providers} = State) ->
     reply(Providers, State);
     reply(Providers, State);
 handle_call(
 handle_call(
     {register_providers, Providers},
     {register_providers, Providers},
-    From,
+    _From,
     #{providers := Reg0} = State
     #{providers := Reg0} = State
 ) ->
 ) ->
     case lists:filter(fun({T, _}) -> maps:is_key(T, Reg0) end, Providers) of
     case lists:filter(fun({T, _}) -> maps:is_key(T, Reg0) end, Providers) of
@@ -373,7 +373,7 @@ handle_call(
                 Reg0,
                 Reg0,
                 Providers
                 Providers
             ),
             ),
-            reply(ok, State#{providers := Reg}, {initialize_authentication, From});
+            reply(ok, State#{providers := Reg}, initialize_authentication);
         Clashes ->
         Clashes ->
             reply({error, {authentication_type_clash, Clashes}}, State)
             reply({error, {authentication_type_clash, Clashes}}, State)
     end;
     end;
@@ -449,10 +449,10 @@ handle_call(Req, _From, State) ->
     ?SLOG(error, #{msg => "unexpected_call", call => Req}),
     ?SLOG(error, #{msg => "unexpected_call", call => Req}),
     {reply, ignored, State}.
     {reply, ignored, State}.
 
 
-handle_continue({initialize_authentication, _From}, #{init_done := true} = State) ->
+handle_continue(initialize_authentication, #{init_done := true} = State) ->
     {noreply, State};
     {noreply, State};
-handle_continue({initialize_authentication, From}, #{providers := Providers} = State) ->
-    InitDone = initialize_authentication(Providers, From),
+handle_continue(initialize_authentication, #{providers := Providers} = State) ->
+    InitDone = initialize_authentication(Providers),
     {noreply, maybe_hook(State#{init_done := InitDone})}.
     {noreply, maybe_hook(State#{init_done := InitDone})}.
 
 
 handle_cast(Req, State) ->
 handle_cast(Req, State) ->
@@ -486,12 +486,12 @@ code_change(_OldVsn, State, _Extra) ->
 %% Private functions
 %% Private functions
 %%------------------------------------------------------------------------------
 %%------------------------------------------------------------------------------
 
 
-initialize_authentication(Providers, From) ->
+initialize_authentication(Providers) ->
     ProviderTypes = maps:keys(Providers),
     ProviderTypes = maps:keys(Providers),
     Chains = chain_configs(),
     Chains = chain_configs(),
     HasProviders = has_providers_for_configs(Chains, ProviderTypes),
     HasProviders = has_providers_for_configs(Chains, ProviderTypes),
     Result = do_initialize_authentication(Providers, Chains, HasProviders),
     Result = do_initialize_authentication(Providers, Chains, HasProviders),
-    ?tp(info, authn_chains_initialization_done, #{from => From, result => Result}),
+    ?tp(info, authn_chains_initialization_done, #{providers => Providers}),
     Result.
     Result.
 
 
 do_initialize_authentication(_Providers, _Chains, _HasProviders = false) ->
 do_initialize_authentication(_Providers, _Chains, _HasProviders = false) ->

+ 4 - 2
apps/emqx_auth/test/emqx_authn/emqx_authn_init_SUITE.erl

@@ -69,10 +69,12 @@ t_initialize(_Config) ->
         emqx_access_control:authenticate(?CLIENTINFO)
         emqx_access_control:authenticate(?CLIENTINFO)
     ),
     ),
 
 
-    Self = self(),
     ?assertWaitEvent(
     ?assertWaitEvent(
         ok = emqx_authn_test_lib:register_fake_providers([{password_based, built_in_database}]),
         ok = emqx_authn_test_lib:register_fake_providers([{password_based, built_in_database}]),
-        #{?snk_kind := authn_chains_initialization_done, from := {Self, _}},
+        #{
+            ?snk_kind := authn_chains_initialization_done,
+            providers := #{{password_based, built_in_database} := emqx_authn_fake_provider}
+        },
         100
         100
     ),
     ),