fix: listeners id param name
This commit is contained in:
parent
137294db8f
commit
52ff6e1b3e
|
@ -502,10 +502,10 @@ listener_id_filter(Identifier, Listeners) ->
|
||||||
|
|
||||||
-spec manage_listener(Operation :: start_listener|stop_listener|restart_listener, Param :: map()) ->
|
-spec manage_listener(Operation :: start_listener|stop_listener|restart_listener, Param :: map()) ->
|
||||||
ok | {error, Reason :: term()}.
|
ok | {error, Reason :: term()}.
|
||||||
manage_listener(Operation, #{identifier := Identifier, node := Node}) when Node =:= node()->
|
manage_listener(Operation, #{id := ID, node := Node}) when Node =:= node()->
|
||||||
erlang:apply(emqx_listeners, Operation, [Identifier]);
|
erlang:apply(emqx_listeners, Operation, [ID]);
|
||||||
manage_listener(Operation, Param = #{node := Node}) ->
|
manage_listener(Operation, Param = #{node := Node}) ->
|
||||||
rpc_call(Node, restart_listener, [Operation, Param]).
|
rpc_call(Node, manage_listener, [Operation, Param]).
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
%% Get Alarms
|
%% Get Alarms
|
||||||
|
|
|
@ -35,7 +35,7 @@ api_spec() ->
|
||||||
{
|
{
|
||||||
[
|
[
|
||||||
listeners_api(),
|
listeners_api(),
|
||||||
restart_listeners_api(),
|
listener_api(),
|
||||||
nodes_listeners_api(),
|
nodes_listeners_api(),
|
||||||
nodes_listener_api(),
|
nodes_listener_api(),
|
||||||
manage_listeners_api(),
|
manage_listeners_api(),
|
||||||
|
@ -53,21 +53,21 @@ listener_schema() ->
|
||||||
type => string,
|
type => string,
|
||||||
description => <<"Node">>,
|
description => <<"Node">>,
|
||||||
example => node()},
|
example => node()},
|
||||||
identifier => #{
|
id => #{
|
||||||
type => string,
|
type => string,
|
||||||
description => <<"Identifier">>},
|
description => <<"Identifier">>},
|
||||||
acceptors => #{
|
acceptors => #{
|
||||||
type => integer,
|
type => integer,
|
||||||
description => <<"Number of Acceptor proce">>},
|
description => <<"Number of Acceptor process">>},
|
||||||
max_conn => #{
|
max_conn => #{
|
||||||
type => integer,
|
type => integer,
|
||||||
description => <<"Maximum number of allowed connection">>},
|
description => <<"Maximum number of allowed connection">>},
|
||||||
type => #{
|
type => #{
|
||||||
type => string,
|
type => string,
|
||||||
description => <<"Plugin decription">>},
|
description => <<"Listener type">>},
|
||||||
listen_on => #{
|
listen_on => #{
|
||||||
type => string,
|
type => string,
|
||||||
description => <<"Litening port">>},
|
description => <<"Listening port">>},
|
||||||
running => #{
|
running => #{
|
||||||
type => boolean,
|
type => boolean,
|
||||||
description => <<"Open or close">>},
|
description => <<"Open or close">>},
|
||||||
|
@ -84,24 +84,24 @@ listeners_api() ->
|
||||||
emqx_mgmt_util:response_array_schema(<<"List all listeners">>, listener)}}},
|
emqx_mgmt_util:response_array_schema(<<"List all listeners">>, listener)}}},
|
||||||
{"/listeners", Metadata, listeners}.
|
{"/listeners", Metadata, listeners}.
|
||||||
|
|
||||||
restart_listeners_api() ->
|
listener_api() ->
|
||||||
Metadata = #{
|
Metadata = #{
|
||||||
get => #{
|
get => #{
|
||||||
description => <<"List listeners by listener ID">>,
|
description => <<"List listeners by listener ID">>,
|
||||||
parameters => [param_path_identifier()],
|
parameters => [param_path_id()],
|
||||||
responses => #{
|
responses => #{
|
||||||
<<"404">> =>
|
<<"404">> =>
|
||||||
emqx_mgmt_util:response_error_schema(<<"Listener id not found">>, ['BAD_LISTENER_ID']),
|
emqx_mgmt_util:response_error_schema(<<"Listener id not found">>, ['BAD_LISTENER_ID']),
|
||||||
<<"200">> =>
|
<<"200">> =>
|
||||||
emqx_mgmt_util:response_array_schema(<<"List listener info ok">>, listener)}}},
|
emqx_mgmt_util:response_array_schema(<<"List listener info ok">>, listener)}}},
|
||||||
{"/listeners/:identifier", Metadata, listener}.
|
{"/listeners/:id", Metadata, listener}.
|
||||||
|
|
||||||
manage_listeners_api() ->
|
manage_listeners_api() ->
|
||||||
Metadata = #{
|
Metadata = #{
|
||||||
get => #{
|
get => #{
|
||||||
description => <<"Restart listeners in cluster">>,
|
description => <<"Restart listeners in cluster">>,
|
||||||
parameters => [
|
parameters => [
|
||||||
param_path_identifier(),
|
param_path_id(),
|
||||||
param_path_operation()],
|
param_path_operation()],
|
||||||
responses => #{
|
responses => #{
|
||||||
<<"500">> =>
|
<<"500">> =>
|
||||||
|
@ -114,15 +114,15 @@ manage_listeners_api() ->
|
||||||
['BAD_REQUEST']),
|
['BAD_REQUEST']),
|
||||||
<<"200">> =>
|
<<"200">> =>
|
||||||
emqx_mgmt_util:response_schema(<<"Operation success">>)}}},
|
emqx_mgmt_util:response_schema(<<"Operation success">>)}}},
|
||||||
{"/listeners/:identifier/:operation", Metadata, manage_listeners}.
|
{"/listeners/:id/:operation", Metadata, manage_listeners}.
|
||||||
|
|
||||||
manage_nodes_listeners_api() ->
|
manage_nodes_listeners_api() ->
|
||||||
Metadata = #{
|
Metadata = #{
|
||||||
get => #{
|
put => #{
|
||||||
description => <<"Restart listeners in cluster">>,
|
description => <<"Restart listeners in cluster">>,
|
||||||
parameters => [
|
parameters => [
|
||||||
param_path_node(),
|
param_path_node(),
|
||||||
param_path_identifier(),
|
param_path_id(),
|
||||||
param_path_operation()],
|
param_path_operation()],
|
||||||
responses => #{
|
responses => #{
|
||||||
<<"500">> =>
|
<<"500">> =>
|
||||||
|
@ -135,20 +135,20 @@ manage_nodes_listeners_api() ->
|
||||||
['BAD_REQUEST']),
|
['BAD_REQUEST']),
|
||||||
<<"200">> =>
|
<<"200">> =>
|
||||||
emqx_mgmt_util:response_schema(<<"Operation success">>)}}},
|
emqx_mgmt_util:response_schema(<<"Operation success">>)}}},
|
||||||
{"/node/:node/listeners/:identifier/:operation", Metadata, manage_nodes_listeners}.
|
{"/node/:node/listeners/:id/:operation", Metadata, manage_nodes_listeners}.
|
||||||
|
|
||||||
nodes_listeners_api() ->
|
nodes_listeners_api() ->
|
||||||
Metadata = #{
|
Metadata = #{
|
||||||
get => #{
|
get => #{
|
||||||
description => <<"Get listener info in one node">>,
|
description => <<"Get listener info in one node">>,
|
||||||
parameters => [param_path_node(), param_path_identifier()],
|
parameters => [param_path_node(), param_path_id()],
|
||||||
responses => #{
|
responses => #{
|
||||||
<<"404">> =>
|
<<"404">> =>
|
||||||
emqx_mgmt_util:response_error_schema(<<"Node name or listener id not found">>,
|
emqx_mgmt_util:response_error_schema(<<"Node name or listener id not found">>,
|
||||||
['BAD_NODE_NAME', 'BAD_LISTENER_ID']),
|
['BAD_NODE_NAME', 'BAD_LISTENER_ID']),
|
||||||
<<"200">> =>
|
<<"200">> =>
|
||||||
emqx_mgmt_util:response_schema(<<"Get listener info ok">>, listener)}}},
|
emqx_mgmt_util:response_schema(<<"Get listener info ok">>, listener)}}},
|
||||||
{"/nodes/:node/listeners/:identifier", Metadata, node_listener}.
|
{"/nodes/:node/listeners/:id", Metadata, node_listener}.
|
||||||
|
|
||||||
nodes_listener_api() ->
|
nodes_listener_api() ->
|
||||||
Metadata = #{
|
Metadata = #{
|
||||||
|
@ -172,10 +172,10 @@ param_path_node() ->
|
||||||
example => node()
|
example => node()
|
||||||
}.
|
}.
|
||||||
|
|
||||||
param_path_identifier() ->
|
param_path_id() ->
|
||||||
{Example,_} = hd(emqx_mgmt:list_listeners(node())),
|
{Example,_} = hd(emqx_mgmt:list_listeners(node())),
|
||||||
#{
|
#{
|
||||||
name => identifier,
|
name => id,
|
||||||
in => path,
|
in => path,
|
||||||
schema => #{type => string},
|
schema => #{type => string},
|
||||||
required => true,
|
required => true,
|
||||||
|
@ -199,8 +199,8 @@ listeners(get, _Request) ->
|
||||||
list().
|
list().
|
||||||
|
|
||||||
listener(get, Request) ->
|
listener(get, Request) ->
|
||||||
ListenerID = binary_to_atom(cowboy_req:binding(identifier, Request)),
|
ID = binary_to_atom(cowboy_req:binding(id, Request)),
|
||||||
get_listeners(#{identifier => ListenerID}).
|
get_listeners(#{id => ID}).
|
||||||
|
|
||||||
node_listeners(get, Request) ->
|
node_listeners(get, Request) ->
|
||||||
Node = binary_to_atom(cowboy_req:binding(node, Request)),
|
Node = binary_to_atom(cowboy_req:binding(node, Request)),
|
||||||
|
@ -208,19 +208,19 @@ node_listeners(get, Request) ->
|
||||||
|
|
||||||
node_listener(get, Request) ->
|
node_listener(get, Request) ->
|
||||||
Node = binary_to_atom(cowboy_req:binding(node, Request)),
|
Node = binary_to_atom(cowboy_req:binding(node, Request)),
|
||||||
ListenerID = binary_to_atom(cowboy_req:binding(identifier, Request)),
|
ID = binary_to_atom(cowboy_req:binding(id, Request)),
|
||||||
get_listeners(#{node => Node, identifier => ListenerID}).
|
get_listeners(#{node => Node, id => ID}).
|
||||||
|
|
||||||
manage_listeners(_, Request) ->
|
manage_listeners(_, Request) ->
|
||||||
Identifier = binary_to_atom(cowboy_req:binding(identifier, Request)),
|
ID = binary_to_atom(cowboy_req:binding(id, Request)),
|
||||||
Operation = binary_to_atom(cowboy_req:binding(operation, Request)),
|
Operation = binary_to_atom(cowboy_req:binding(operation, Request)),
|
||||||
manage(Operation, #{identifier => Identifier}).
|
manage(Operation, #{id => ID}).
|
||||||
|
|
||||||
manage_nodes_listeners(_, Request) ->
|
manage_nodes_listeners(_, Request) ->
|
||||||
Node = binary_to_atom(cowboy_req:binding(node, Request)),
|
Node = binary_to_atom(cowboy_req:binding(node, Request)),
|
||||||
Identifier = binary_to_atom(cowboy_req:binding(identifier, Request)),
|
ID = binary_to_atom(cowboy_req:binding(id, Request)),
|
||||||
Operation = binary_to_atom(cowboy_req:binding(operation, Request)),
|
Operation = binary_to_atom(cowboy_req:binding(operation, Request)),
|
||||||
manage(Operation, #{identifier => Identifier, node => Node}).
|
manage(Operation, #{id => ID, node => Node}).
|
||||||
|
|
||||||
%%%==============================================================================================
|
%%%==============================================================================================
|
||||||
|
|
||||||
|
@ -231,8 +231,8 @@ list() ->
|
||||||
get_listeners(Param) ->
|
get_listeners(Param) ->
|
||||||
case list_listener(Param) of
|
case list_listener(Param) of
|
||||||
{error, not_found} ->
|
{error, not_found} ->
|
||||||
Identifier = maps:get(identifier, Param),
|
ID = maps:get(id, Param),
|
||||||
Reason = list_to_binary(io_lib:format("Error listener identifier ~p", [Identifier])),
|
Reason = list_to_binary(io_lib:format("Error listener id ~p", [ID])),
|
||||||
{404, #{code => 'BAD_LISTENER_ID', message => Reason}};
|
{404, #{code => 'BAD_LISTENER_ID', message => Reason}};
|
||||||
{error, nodedown} ->
|
{error, nodedown} ->
|
||||||
Node = maps:get(node, Param),
|
Node = maps:get(node, Param),
|
||||||
|
@ -240,8 +240,8 @@ get_listeners(Param) ->
|
||||||
Response = #{code => 'BAD_NODE_NAME', message => Reason},
|
Response = #{code => 'BAD_NODE_NAME', message => Reason},
|
||||||
{404, Response};
|
{404, Response};
|
||||||
[] ->
|
[] ->
|
||||||
Identifier = maps:get(identifier, Param),
|
ID = maps:get(id, Param),
|
||||||
Reason = list_to_binary(io_lib:format("Error listener identifier ~p", [Identifier])),
|
Reason = list_to_binary(io_lib:format("Error listener id ~p", [ID])),
|
||||||
{404, #{code => 'BAD_LISTENER_ID', message => Reason}};
|
{404, #{code => 'BAD_LISTENER_ID', message => Reason}};
|
||||||
Data ->
|
Data ->
|
||||||
{200, Data}
|
{200, Data}
|
||||||
|
@ -252,8 +252,8 @@ manage(Operation0, Param) ->
|
||||||
Operation = maps:get(Operation0, OperationMap),
|
Operation = maps:get(Operation0, OperationMap),
|
||||||
case list_listener(Param) of
|
case list_listener(Param) of
|
||||||
{error, not_found} ->
|
{error, not_found} ->
|
||||||
Identifier = maps:get(identifier, Param),
|
ID = maps:get(id, Param),
|
||||||
Reason = list_to_binary(io_lib:format("Error listener identifier ~p", [Identifier])),
|
Reason = list_to_binary(io_lib:format("Error listener id ~p", [ID])),
|
||||||
{404, #{code => 'BAD_LISTENER_ID', message => Reason}};
|
{404, #{code => 'BAD_LISTENER_ID', message => Reason}};
|
||||||
{error, nodedown} ->
|
{error, nodedown} ->
|
||||||
Node = maps:get(node, Param),
|
Node = maps:get(node, Param),
|
||||||
|
@ -261,8 +261,8 @@ manage(Operation0, Param) ->
|
||||||
Response = #{code => 'BAD_NODE_NAME', message => Reason},
|
Response = #{code => 'BAD_NODE_NAME', message => Reason},
|
||||||
{404, Response};
|
{404, Response};
|
||||||
[] ->
|
[] ->
|
||||||
Identifier = maps:get(identifier, Param),
|
ID = maps:get(id, Param),
|
||||||
Reason = list_to_binary(io_lib:format("Error listener identifier ~p", [Identifier])),
|
Reason = list_to_binary(io_lib:format("Error listener id ~p", [ID])),
|
||||||
{404, #{code => 'RESOURCE_NOT_FOUND', message => Reason}};
|
{404, #{code => 'RESOURCE_NOT_FOUND', message => Reason}};
|
||||||
ListenersOrSingleListener ->
|
ListenersOrSingleListener ->
|
||||||
manage_(Operation, ListenersOrSingleListener)
|
manage_(Operation, ListenersOrSingleListener)
|
||||||
|
@ -278,14 +278,14 @@ manage_(Operation, Listeners) when is_list(Listeners) ->
|
||||||
Errors ->
|
Errors ->
|
||||||
case lists:filter(fun({error, {already_started, _}}) -> false; (_) -> true end, Results) of
|
case lists:filter(fun({error, {already_started, _}}) -> false; (_) -> true end, Results) of
|
||||||
[] ->
|
[] ->
|
||||||
Identifier = maps:get(identifier, hd(Listeners)),
|
ID = maps:get(id, hd(Listeners)),
|
||||||
Message = list_to_binary(io_lib:format("Already Started: ~s", [Identifier])),
|
Message = list_to_binary(io_lib:format("Already Started: ~s", [ID])),
|
||||||
{400, #{code => 'BAD_REQUEST', message => Message}};
|
{400, #{code => 'BAD_REQUEST', message => Message}};
|
||||||
_ ->
|
_ ->
|
||||||
case lists:filter(fun({error,not_found}) -> false; (_) -> true end, Results) of
|
case lists:filter(fun({error,not_found}) -> false; (_) -> true end, Results) of
|
||||||
[] ->
|
[] ->
|
||||||
Identifier = maps:get(identifier, hd(Listeners)),
|
ID = maps:get(id, hd(Listeners)),
|
||||||
Message = list_to_binary(io_lib:format("Already Stoped: ~s", [Identifier])),
|
Message = list_to_binary(io_lib:format("Already Stopped: ~s", [ID])),
|
||||||
{400, #{code => 'BAD_REQUEST', message => Message}};
|
{400, #{code => 'BAD_REQUEST', message => Message}};
|
||||||
_ ->
|
_ ->
|
||||||
Reason = list_to_binary(io_lib:format("~p", [Errors])),
|
Reason = list_to_binary(io_lib:format("~p", [Errors])),
|
||||||
|
@ -299,9 +299,9 @@ manage_(Operation, Listeners) when is_list(Listeners) ->
|
||||||
list_listener(Params) ->
|
list_listener(Params) ->
|
||||||
format(list_listener_(Params)).
|
format(list_listener_(Params)).
|
||||||
|
|
||||||
list_listener_(#{node := Node, identifier := Identifier}) ->
|
list_listener_(#{node := Node, id := Identifier}) ->
|
||||||
emqx_mgmt:get_listener(Node, Identifier);
|
emqx_mgmt:get_listener(Node, Identifier);
|
||||||
list_listener_(#{identifier := Identifier}) ->
|
list_listener_(#{id := Identifier}) ->
|
||||||
emqx_mgmt:list_listeners_by_id(Identifier);
|
emqx_mgmt:list_listeners_by_id(Identifier);
|
||||||
list_listener_(#{node := Node}) ->
|
list_listener_(#{node := Node}) ->
|
||||||
emqx_mgmt:list_listeners(Node);
|
emqx_mgmt:list_listeners(Node);
|
||||||
|
@ -314,9 +314,9 @@ format(Listeners) when is_list(Listeners) ->
|
||||||
format({error, Reason}) ->
|
format({error, Reason}) ->
|
||||||
{error, Reason};
|
{error, Reason};
|
||||||
|
|
||||||
format({Identifier, Conf}) ->
|
format({ID, Conf}) ->
|
||||||
#{
|
#{
|
||||||
identifier => Identifier,
|
id => ID,
|
||||||
node => maps:get(node, Conf),
|
node => maps:get(node, Conf),
|
||||||
acceptors => maps:get(acceptors, Conf),
|
acceptors => maps:get(acceptors, Conf),
|
||||||
max_conn => maps:get(max_connections, Conf),
|
max_conn => maps:get(max_connections, Conf),
|
||||||
|
|
|
@ -49,36 +49,41 @@ t_list_node_listeners(_) ->
|
||||||
|
|
||||||
t_get_listeners(_) ->
|
t_get_listeners(_) ->
|
||||||
LocalListener = emqx_mgmt_api_listeners:format(hd(emqx_mgmt:list_listeners())),
|
LocalListener = emqx_mgmt_api_listeners:format(hd(emqx_mgmt:list_listeners())),
|
||||||
Identifier = maps:get(identifier, LocalListener),
|
ID = maps:get(id, LocalListener),
|
||||||
Path = emqx_mgmt_api_test_util:api_path(["listeners", atom_to_list(Identifier)]),
|
Path = emqx_mgmt_api_test_util:api_path(["listeners", atom_to_list(ID)]),
|
||||||
get_api(Path).
|
get_api(Path).
|
||||||
|
|
||||||
t_get_node_listeners(_) ->
|
t_get_node_listeners(_) ->
|
||||||
LocalListener = emqx_mgmt_api_listeners:format(hd(emqx_mgmt:list_listeners())),
|
LocalListener = emqx_mgmt_api_listeners:format(hd(emqx_mgmt:list_listeners())),
|
||||||
Identifier = maps:get(identifier, LocalListener),
|
ID = maps:get(id, LocalListener),
|
||||||
Path = emqx_mgmt_api_test_util:api_path(
|
Path = emqx_mgmt_api_test_util:api_path(
|
||||||
["nodes", atom_to_binary(node(), utf8), "listeners", atom_to_list(Identifier)]),
|
["nodes", atom_to_binary(node(), utf8), "listeners", atom_to_list(ID)]),
|
||||||
get_api(Path).
|
get_api(Path).
|
||||||
|
|
||||||
t_stop_listener(_) ->
|
t_manage_listener(_) ->
|
||||||
LocalListener = emqx_mgmt_api_listeners:format(hd(emqx_mgmt:list_listeners())),
|
ID = "default:mqtt_tcp",
|
||||||
Identifier = maps:get(identifier, LocalListener),
|
manage_listener(ID, "stop", false),
|
||||||
Path = emqx_mgmt_api_test_util:api_path(["listeners", atom_to_list(Identifier), "stop"]),
|
manage_listener(ID, "start", true),
|
||||||
|
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),
|
{ok, _} = emqx_mgmt_api_test_util:request_api(get, Path),
|
||||||
GetPath = emqx_mgmt_api_test_util:api_path(["listeners", atom_to_list(Identifier)]),
|
timer:sleep(500),
|
||||||
|
GetPath = emqx_mgmt_api_test_util:api_path(["listeners", ID]),
|
||||||
{ok, ListenersResponse} = emqx_mgmt_api_test_util:request_api(get, GetPath),
|
{ok, ListenersResponse} = emqx_mgmt_api_test_util:request_api(get, GetPath),
|
||||||
Listeners = emqx_json:decode(ListenersResponse, [return_maps]),
|
Listeners = emqx_json:decode(ListenersResponse, [return_maps]),
|
||||||
[listener_stats(Listener, false) || Listener <- Listeners].
|
[listener_stats(Listener, Running) || Listener <- Listeners].
|
||||||
|
|
||||||
get_api(Path) ->
|
get_api(Path) ->
|
||||||
{ok, ListenersData} = emqx_mgmt_api_test_util:request_api(get, Path),
|
{ok, ListenersData} = emqx_mgmt_api_test_util:request_api(get, Path),
|
||||||
LocalListeners = emqx_mgmt_api_listeners:format(emqx_mgmt:list_listeners()),
|
LocalListeners = emqx_mgmt_api_listeners:format(emqx_mgmt:list_listeners()),
|
||||||
case emqx_json:decode(ListenersData, [return_maps]) of
|
case emqx_json:decode(ListenersData, [return_maps]) of
|
||||||
[Listener] ->
|
[Listener] ->
|
||||||
Identifier = binary_to_atom(maps:get(<<"identifier">>, Listener), utf8),
|
ID = binary_to_atom(maps:get(<<"id">>, Listener), utf8),
|
||||||
Filter =
|
Filter =
|
||||||
fun(Local) ->
|
fun(Local) ->
|
||||||
maps:get(identifier, Local) =:= Identifier
|
maps:get(id, Local) =:= ID
|
||||||
end,
|
end,
|
||||||
LocalListener = hd(lists:filter(Filter, LocalListeners)),
|
LocalListener = hd(lists:filter(Filter, LocalListeners)),
|
||||||
comparison_listener(LocalListener, Listener);
|
comparison_listener(LocalListener, Listener);
|
||||||
|
@ -86,28 +91,28 @@ get_api(Path) ->
|
||||||
?assertEqual(erlang:length(LocalListeners), erlang:length(Listeners)),
|
?assertEqual(erlang:length(LocalListeners), erlang:length(Listeners)),
|
||||||
Fun =
|
Fun =
|
||||||
fun(LocalListener) ->
|
fun(LocalListener) ->
|
||||||
Identifier = maps:get(identifier, LocalListener),
|
ID = maps:get(id, LocalListener),
|
||||||
IdentifierBinary = atom_to_binary(Identifier, utf8),
|
IDBinary = atom_to_binary(ID, utf8),
|
||||||
Filter =
|
Filter =
|
||||||
fun(Listener) ->
|
fun(Listener) ->
|
||||||
maps:get(<<"identifier">>, Listener) =:= IdentifierBinary
|
maps:get(<<"id">>, Listener) =:= IDBinary
|
||||||
end,
|
end,
|
||||||
Listener = hd(lists:filter(Filter, Listeners)),
|
Listener = hd(lists:filter(Filter, Listeners)),
|
||||||
comparison_listener(LocalListener, Listener)
|
comparison_listener(LocalListener, Listener)
|
||||||
end,
|
end,
|
||||||
lists:foreach(Fun, LocalListeners);
|
lists:foreach(Fun, LocalListeners);
|
||||||
Listener when is_map(Listener) ->
|
Listener when is_map(Listener) ->
|
||||||
Identifier = binary_to_atom(maps:get(<<"identifier">>, Listener), utf8),
|
ID = binary_to_atom(maps:get(<<"id">>, Listener), utf8),
|
||||||
Filter =
|
Filter =
|
||||||
fun(Local) ->
|
fun(Local) ->
|
||||||
maps:get(identifier, Local) =:= Identifier
|
maps:get(id, Local) =:= ID
|
||||||
end,
|
end,
|
||||||
LocalListener = hd(lists:filter(Filter, LocalListeners)),
|
LocalListener = hd(lists:filter(Filter, LocalListeners)),
|
||||||
comparison_listener(LocalListener, Listener)
|
comparison_listener(LocalListener, Listener)
|
||||||
end.
|
end.
|
||||||
|
|
||||||
comparison_listener(Local, Response) ->
|
comparison_listener(Local, Response) ->
|
||||||
?assertEqual(maps:get(identifier, Local), binary_to_atom(maps:get(<<"identifier">>, 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(node, Local), binary_to_atom(maps:get(<<"node">>, Response))),
|
||||||
?assertEqual(maps:get(acceptors, Local), maps:get(<<"acceptors">>, Response)),
|
?assertEqual(maps:get(acceptors, Local), maps:get(<<"acceptors">>, Response)),
|
||||||
?assertEqual(maps:get(max_conn, Local), maps:get(<<"max_conn">>, Response)),
|
?assertEqual(maps:get(max_conn, Local), maps:get(<<"max_conn">>, Response)),
|
||||||
|
|
Loading…
Reference in New Issue