fix(listeners): test case emqx_mgmt_listeners_api_SUITE failed

This commit is contained in:
Shawn 2021-08-30 17:54:01 +08:00
parent 8c36b7879f
commit 7390d2bb36
4 changed files with 23 additions and 16 deletions

View File

@ -480,20 +480,19 @@ list_listeners(Node) when Node =:= node() ->
list_listeners(Node) ->
rpc_call(Node, list_listeners, [Node]).
list_listeners_by_id(Identifier) ->
listener_id_filter(Identifier, list_listeners()).
list_listeners_by_id(Id) ->
listener_id_filter(Id, list_listeners()).
get_listener(Node, Identifier) ->
case listener_id_filter(Identifier, list_listeners(Node)) of
get_listener(Node, Id) ->
case listener_id_filter(Id, list_listeners(Node)) of
[] ->
{error, not_found};
[Listener] ->
Listener
end.
listener_id_filter(Identifier, Listeners) ->
Filter =
fun({Id, _}) -> Id =:= Identifier end,
listener_id_filter(Id, Listeners) ->
Filter = fun(#{id := Id0}) -> Id0 =:= Id end,
lists:filter(Filter, Listeners).
-spec manage_listener(Operation :: start_listener|stop_listener|restart_listener, Param :: map()) ->

View File

@ -132,7 +132,7 @@ api_get_update_listener_by_id_on_node() ->
api_manage_listeners() ->
Metadata = #{
get => #{
post => #{
description => <<"Restart listeners on all nodes in the cluster">>,
parameters => [
param_path_id(),

View File

@ -52,13 +52,23 @@ request_api(Method, Url, Auth) ->
request_api(Method, Url, QueryParams, Auth) ->
request_api(Method, Url, QueryParams, Auth, []).
request_api(Method, Url, QueryParams, Auth, []) ->
request_api(Method, Url, QueryParams, Auth, [])
when (Method =:= options) orelse
(Method =:= get) orelse
(Method =:= put) orelse
(Method =:= head) orelse
(Method =:= delete) orelse
(Method =:= trace) ->
NewUrl = case QueryParams of
"" -> Url;
_ -> Url ++ "?" ++ QueryParams
end,
do_request_api(Method, {NewUrl, [Auth]});
request_api(Method, Url, QueryParams, Auth, Body) ->
request_api(Method, Url, QueryParams, Auth, Body)
when (Method =:= post) orelse
(Method =:= patch) orelse
(Method =:= put) orelse
(Method =:= delete) ->
NewUrl = case QueryParams of
"" -> Url;
_ -> Url ++ "?" ++ QueryParams

View File

@ -58,8 +58,8 @@ t_manage_listener(_) ->
manage_listener(ID, "restart", true).
manage_listener(ID, Operation, Running) ->
Path = emqx_mgmt_api_test_util:api_path(["listeners", ID, Operation]),
{ok, _} = emqx_mgmt_api_test_util:request_api(get, Path),
Path = emqx_mgmt_api_test_util:api_path(["listeners", ID, "operation", Operation]),
{ok, _} = emqx_mgmt_api_test_util:request_api(post, Path),
timer:sleep(500),
GetPath = emqx_mgmt_api_test_util:api_path(["listeners", ID]),
{ok, ListenersResponse} = emqx_mgmt_api_test_util:request_api(get, GetPath),
@ -106,10 +106,8 @@ comparison_listener(Local, Response) ->
?assertEqual(maps:get(id, Local), binary_to_atom(maps:get(<<"id">>, Response))),
?assertEqual(maps:get(node, Local), binary_to_atom(maps:get(<<"node">>, Response))),
?assertEqual(maps:get(acceptors, Local), maps:get(<<"acceptors">>, Response)),
?assertEqual(maps:get(max_conn, Local), maps:get(<<"max_conn">>, Response)),
?assertEqual(maps:get(listen_on, Local), maps:get(<<"listen_on">>, Response)),
?assertEqual(maps:get(running, Local), maps:get(<<"running">>, Response)).
listener_stats(Listener, Stats) ->
?assertEqual(maps:get(<<"running">>, Listener), Stats).
listener_stats(Listener, ExpectedStats) ->
?assertEqual(ExpectedStats, maps:get(<<"running">>, Listener)).