fix(gateway): change the `/gateway` API path to plural form
This commit is contained in:
parent
d74564a7f0
commit
527ea23ec8
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
-export([request/2]).
|
-export([request/2]).
|
||||||
|
|
||||||
-define(PREFIX, "/gateway/coap/clients/:clientid").
|
-define(PREFIX, "/gateways/coap/clients/:clientid").
|
||||||
|
|
||||||
-import(hoconsc, [mk/2, enum/1]).
|
-import(hoconsc, [mk/2, enum/1]).
|
||||||
-import(emqx_dashboard_swagger, [error_codes/2]).
|
-import(emqx_dashboard_swagger, [error_codes/2]).
|
||||||
|
|
|
@ -62,8 +62,8 @@ api_spec() ->
|
||||||
|
|
||||||
paths() ->
|
paths() ->
|
||||||
[
|
[
|
||||||
"/gateway",
|
"/gateways",
|
||||||
"/gateway/:name"
|
"/gateways/:name"
|
||||||
].
|
].
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
@ -159,7 +159,7 @@ gateway_insta(put, #{
|
||||||
%% Swagger defines
|
%% Swagger defines
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
schema("/gateway") ->
|
schema("/gateways") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => gateway,
|
'operationId' => gateway,
|
||||||
get =>
|
get =>
|
||||||
|
@ -185,7 +185,7 @@ schema("/gateway") ->
|
||||||
?STANDARD_RESP(#{201 => schema_gateways_conf()})
|
?STANDARD_RESP(#{201 => schema_gateways_conf()})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
schema("/gateway/:name") ->
|
schema("/gateways/:name") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => gateway_insta,
|
'operationId' => gateway_insta,
|
||||||
get =>
|
get =>
|
||||||
|
|
|
@ -61,9 +61,9 @@ api_spec() ->
|
||||||
|
|
||||||
paths() ->
|
paths() ->
|
||||||
[
|
[
|
||||||
"/gateway/:name/authentication",
|
"/gateways/:name/authentication",
|
||||||
"/gateway/:name/authentication/users",
|
"/gateways/:name/authentication/users",
|
||||||
"/gateway/:name/authentication/users/:uid"
|
"/gateways/:name/authentication/users/:uid"
|
||||||
].
|
].
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
@ -176,7 +176,7 @@ parse_qstring(Qs) ->
|
||||||
%% Swagger defines
|
%% Swagger defines
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
schema("/gateway/:name/authentication") ->
|
schema("/gateways/:name/authentication") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => authn,
|
'operationId' => authn,
|
||||||
get =>
|
get =>
|
||||||
|
@ -215,7 +215,7 @@ schema("/gateway/:name/authentication") ->
|
||||||
?STANDARD_RESP(#{204 => <<"Deleted">>})
|
?STANDARD_RESP(#{204 => <<"Deleted">>})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
schema("/gateway/:name/authentication/users") ->
|
schema("/gateways/:name/authentication/users") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => users,
|
'operationId' => users,
|
||||||
get =>
|
get =>
|
||||||
|
@ -253,7 +253,7 @@ schema("/gateway/:name/authentication/users") ->
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
schema("/gateway/:name/authentication/users/:uid") ->
|
schema("/gateways/:name/authentication/users/:uid") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => users_insta,
|
'operationId' => users_insta,
|
||||||
get =>
|
get =>
|
||||||
|
|
|
@ -54,8 +54,8 @@ api_spec() ->
|
||||||
|
|
||||||
paths() ->
|
paths() ->
|
||||||
[
|
[
|
||||||
"/gateway/:name/authentication/import_users",
|
"/gateways/:name/authentication/import_users",
|
||||||
"/gateway/:name/listeners/:id/authentication/import_users"
|
"/gateways/:name/listeners/:id/authentication/import_users"
|
||||||
].
|
].
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
@ -117,7 +117,7 @@ import_listener_users(post, #{
|
||||||
%% Swagger defines
|
%% Swagger defines
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
schema("/gateway/:name/authentication/import_users") ->
|
schema("/gateways/:name/authentication/import_users") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => import_users,
|
'operationId' => import_users,
|
||||||
post =>
|
post =>
|
||||||
|
@ -129,7 +129,7 @@ schema("/gateway/:name/authentication/import_users") ->
|
||||||
?STANDARD_RESP(#{204 => <<"Imported">>})
|
?STANDARD_RESP(#{204 => <<"Imported">>})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
schema("/gateway/:name/listeners/:id/authentication/import_users") ->
|
schema("/gateways/:name/listeners/:id/authentication/import_users") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => import_listener_users,
|
'operationId' => import_listener_users,
|
||||||
post =>
|
post =>
|
||||||
|
|
|
@ -68,10 +68,10 @@ api_spec() ->
|
||||||
|
|
||||||
paths() ->
|
paths() ->
|
||||||
[
|
[
|
||||||
"/gateway/:name/clients",
|
"/gateways/:name/clients",
|
||||||
"/gateway/:name/clients/:clientid",
|
"/gateways/:name/clients/:clientid",
|
||||||
"/gateway/:name/clients/:clientid/subscriptions",
|
"/gateways/:name/clients/:clientid/subscriptions",
|
||||||
"/gateway/:name/clients/:clientid/subscriptions/:topic"
|
"/gateways/:name/clients/:clientid/subscriptions/:topic"
|
||||||
].
|
].
|
||||||
|
|
||||||
-define(CLIENT_QSCHEMA, [
|
-define(CLIENT_QSCHEMA, [
|
||||||
|
@ -462,7 +462,7 @@ conn_state_to_connected(_) -> false.
|
||||||
%% Swagger defines
|
%% Swagger defines
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
schema("/gateway/:name/clients") ->
|
schema("/gateways/:name/clients") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => clients,
|
'operationId' => clients,
|
||||||
get =>
|
get =>
|
||||||
|
@ -473,7 +473,7 @@ schema("/gateway/:name/clients") ->
|
||||||
?STANDARD_RESP(#{200 => schema_client_list()})
|
?STANDARD_RESP(#{200 => schema_client_list()})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
schema("/gateway/:name/clients/:clientid") ->
|
schema("/gateways/:name/clients/:clientid") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => clients_insta,
|
'operationId' => clients_insta,
|
||||||
get =>
|
get =>
|
||||||
|
@ -491,7 +491,7 @@ schema("/gateway/:name/clients/:clientid") ->
|
||||||
?STANDARD_RESP(#{204 => <<"Kicked">>})
|
?STANDARD_RESP(#{204 => <<"Kicked">>})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
schema("/gateway/:name/clients/:clientid/subscriptions") ->
|
schema("/gateways/:name/clients/:clientid/subscriptions") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => subscriptions,
|
'operationId' => subscriptions,
|
||||||
get =>
|
get =>
|
||||||
|
@ -527,7 +527,7 @@ schema("/gateway/:name/clients/:clientid/subscriptions") ->
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
schema("/gateway/:name/clients/:clientid/subscriptions/:topic") ->
|
schema("/gateways/:name/clients/:clientid/subscriptions/:topic") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => subscriptions,
|
'operationId' => subscriptions,
|
||||||
delete =>
|
delete =>
|
||||||
|
|
|
@ -69,11 +69,11 @@ api_spec() ->
|
||||||
|
|
||||||
paths() ->
|
paths() ->
|
||||||
[
|
[
|
||||||
"/gateway/:name/listeners",
|
"/gateways/:name/listeners",
|
||||||
"/gateway/:name/listeners/:id",
|
"/gateways/:name/listeners/:id",
|
||||||
"/gateway/:name/listeners/:id/authentication",
|
"/gateways/:name/listeners/:id/authentication",
|
||||||
"/gateway/:name/listeners/:id/authentication/users",
|
"/gateways/:name/listeners/:id/authentication/users",
|
||||||
"/gateway/:name/listeners/:id/authentication/users/:uid"
|
"/gateways/:name/listeners/:id/authentication/users/:uid"
|
||||||
].
|
].
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
@ -353,7 +353,7 @@ bind2str(Listener = #{<<"bind">> := Bind}) ->
|
||||||
%% Swagger defines
|
%% Swagger defines
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
schema("/gateway/:name/listeners") ->
|
schema("/gateways/:name/listeners") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => listeners,
|
'operationId' => listeners,
|
||||||
get =>
|
get =>
|
||||||
|
@ -391,7 +391,7 @@ schema("/gateway/:name/listeners") ->
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
schema("/gateway/:name/listeners/:id") ->
|
schema("/gateways/:name/listeners/:id") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => listeners_insta,
|
'operationId' => listeners_insta,
|
||||||
get =>
|
get =>
|
||||||
|
@ -437,7 +437,7 @@ schema("/gateway/:name/listeners/:id") ->
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
schema("/gateway/:name/listeners/:id/authentication") ->
|
schema("/gateways/:name/listeners/:id/authentication") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => listeners_insta_authn,
|
'operationId' => listeners_insta_authn,
|
||||||
get =>
|
get =>
|
||||||
|
@ -480,7 +480,7 @@ schema("/gateway/:name/listeners/:id/authentication") ->
|
||||||
?STANDARD_RESP(#{200 => <<"Deleted">>})
|
?STANDARD_RESP(#{200 => <<"Deleted">>})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
schema("/gateway/:name/listeners/:id/authentication/users") ->
|
schema("/gateways/:name/listeners/:id/authentication/users") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => users,
|
'operationId' => users,
|
||||||
get =>
|
get =>
|
||||||
|
@ -519,7 +519,7 @@ schema("/gateway/:name/listeners/:id/authentication/users") ->
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
schema("/gateway/:name/listeners/:id/authentication/users/:uid") ->
|
schema("/gateways/:name/listeners/:id/authentication/users/:uid") ->
|
||||||
#{
|
#{
|
||||||
'operationId' => users_insta,
|
'operationId' => users_insta,
|
||||||
get =>
|
get =>
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
-export([lookup/2, observe/2, read/2, write/2]).
|
-export([lookup/2, observe/2, read/2, write/2]).
|
||||||
|
|
||||||
-define(PATH(Suffix), "/gateway/lwm2m/clients/:clientid" Suffix).
|
-define(PATH(Suffix), "/gateways/lwm2m/clients/:clientid" Suffix).
|
||||||
-define(DATA_TYPE, ['Integer', 'Float', 'Time', 'String', 'Boolean', 'Opaque', 'Objlnk']).
|
-define(DATA_TYPE, ['Integer', 'Float', 'Time', 'String', 'Boolean', 'Opaque', 'Objlnk']).
|
||||||
|
|
||||||
-import(hoconsc, [mk/2, ref/1, ref/2]).
|
-import(hoconsc, [mk/2, ref/1, ref/2]).
|
||||||
|
|
|
@ -71,7 +71,7 @@ end_per_suite(Config) ->
|
||||||
t_send_request_api(_) ->
|
t_send_request_api(_) ->
|
||||||
ClientId = start_client(),
|
ClientId = start_client(),
|
||||||
timer:sleep(200),
|
timer:sleep(200),
|
||||||
Path = emqx_mgmt_api_test_util:api_path(["gateway/coap/clients/client1/request"]),
|
Path = emqx_mgmt_api_test_util:api_path(["gateways/coap/clients/client1/request"]),
|
||||||
Token = <<"atoken">>,
|
Token = <<"atoken">>,
|
||||||
Payload = <<"simple echo this">>,
|
Payload = <<"simple echo this">>,
|
||||||
Req = #{
|
Req = #{
|
||||||
|
|
|
@ -60,23 +60,23 @@ end_per_suite(Conf) ->
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
t_gateway(_) ->
|
t_gateway(_) ->
|
||||||
{200, Gateways} = request(get, "/gateway"),
|
{200, Gateways} = request(get, "/gateways"),
|
||||||
lists:foreach(fun assert_gw_unloaded/1, Gateways),
|
lists:foreach(fun assert_gw_unloaded/1, Gateways),
|
||||||
{400, BadReq} = request(get, "/gateway/uname_gateway"),
|
{400, BadReq} = request(get, "/gateways/uname_gateway"),
|
||||||
assert_bad_request(BadReq),
|
assert_bad_request(BadReq),
|
||||||
{201, _} = request(post, "/gateway", #{name => <<"stomp">>}),
|
{201, _} = request(post, "/gateways", #{name => <<"stomp">>}),
|
||||||
{200, StompGw1} = request(get, "/gateway/stomp"),
|
{200, StompGw1} = request(get, "/gateways/stomp"),
|
||||||
assert_feilds_apperence(
|
assert_feilds_apperence(
|
||||||
[name, status, enable, created_at, started_at],
|
[name, status, enable, created_at, started_at],
|
||||||
StompGw1
|
StompGw1
|
||||||
),
|
),
|
||||||
{204, _} = request(delete, "/gateway/stomp"),
|
{204, _} = request(delete, "/gateways/stomp"),
|
||||||
{200, StompGw2} = request(get, "/gateway/stomp"),
|
{200, StompGw2} = request(get, "/gateways/stomp"),
|
||||||
assert_gw_unloaded(StompGw2),
|
assert_gw_unloaded(StompGw2),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
t_gateway_stomp(_) ->
|
t_gateway_stomp(_) ->
|
||||||
{200, Gw} = request(get, "/gateway/stomp"),
|
{200, Gw} = request(get, "/gateways/stomp"),
|
||||||
assert_gw_unloaded(Gw),
|
assert_gw_unloaded(Gw),
|
||||||
%% post
|
%% post
|
||||||
GwConf = #{
|
GwConf = #{
|
||||||
|
@ -90,18 +90,18 @@ t_gateway_stomp(_) ->
|
||||||
#{name => <<"def">>, type => <<"tcp">>, bind => <<"61613">>}
|
#{name => <<"def">>, type => <<"tcp">>, bind => <<"61613">>}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway", GwConf),
|
{201, _} = request(post, "/gateways", GwConf),
|
||||||
{200, ConfResp} = request(get, "/gateway/stomp"),
|
{200, ConfResp} = request(get, "/gateways/stomp"),
|
||||||
assert_confs(GwConf, ConfResp),
|
assert_confs(GwConf, ConfResp),
|
||||||
%% put
|
%% put
|
||||||
GwConf2 = emqx_map_lib:deep_merge(GwConf, #{frame => #{max_headers => 10}}),
|
GwConf2 = emqx_map_lib:deep_merge(GwConf, #{frame => #{max_headers => 10}}),
|
||||||
{200, _} = request(put, "/gateway/stomp", maps:without([name, listeners], GwConf2)),
|
{200, _} = request(put, "/gateways/stomp", maps:without([name, listeners], GwConf2)),
|
||||||
{200, ConfResp2} = request(get, "/gateway/stomp"),
|
{200, ConfResp2} = request(get, "/gateways/stomp"),
|
||||||
assert_confs(GwConf2, ConfResp2),
|
assert_confs(GwConf2, ConfResp2),
|
||||||
{204, _} = request(delete, "/gateway/stomp").
|
{204, _} = request(delete, "/gateways/stomp").
|
||||||
|
|
||||||
t_gateway_mqttsn(_) ->
|
t_gateway_mqttsn(_) ->
|
||||||
{200, Gw} = request(get, "/gateway/mqttsn"),
|
{200, Gw} = request(get, "/gateways/mqttsn"),
|
||||||
assert_gw_unloaded(Gw),
|
assert_gw_unloaded(Gw),
|
||||||
%% post
|
%% post
|
||||||
GwConf = #{
|
GwConf = #{
|
||||||
|
@ -114,18 +114,18 @@ t_gateway_mqttsn(_) ->
|
||||||
#{name => <<"def">>, type => <<"udp">>, bind => <<"1884">>}
|
#{name => <<"def">>, type => <<"udp">>, bind => <<"1884">>}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway", GwConf),
|
{201, _} = request(post, "/gateways", GwConf),
|
||||||
{200, ConfResp} = request(get, "/gateway/mqttsn"),
|
{200, ConfResp} = request(get, "/gateways/mqttsn"),
|
||||||
assert_confs(GwConf, ConfResp),
|
assert_confs(GwConf, ConfResp),
|
||||||
%% put
|
%% put
|
||||||
GwConf2 = emqx_map_lib:deep_merge(GwConf, #{predefined => []}),
|
GwConf2 = emqx_map_lib:deep_merge(GwConf, #{predefined => []}),
|
||||||
{200, _} = request(put, "/gateway/mqttsn", maps:without([name, listeners], GwConf2)),
|
{200, _} = request(put, "/gateways/mqttsn", maps:without([name, listeners], GwConf2)),
|
||||||
{200, ConfResp2} = request(get, "/gateway/mqttsn"),
|
{200, ConfResp2} = request(get, "/gateways/mqttsn"),
|
||||||
assert_confs(GwConf2, ConfResp2),
|
assert_confs(GwConf2, ConfResp2),
|
||||||
{204, _} = request(delete, "/gateway/mqttsn").
|
{204, _} = request(delete, "/gateways/mqttsn").
|
||||||
|
|
||||||
t_gateway_coap(_) ->
|
t_gateway_coap(_) ->
|
||||||
{200, Gw} = request(get, "/gateway/coap"),
|
{200, Gw} = request(get, "/gateways/coap"),
|
||||||
assert_gw_unloaded(Gw),
|
assert_gw_unloaded(Gw),
|
||||||
%% post
|
%% post
|
||||||
GwConf = #{
|
GwConf = #{
|
||||||
|
@ -136,18 +136,18 @@ t_gateway_coap(_) ->
|
||||||
#{name => <<"def">>, type => <<"udp">>, bind => <<"5683">>}
|
#{name => <<"def">>, type => <<"udp">>, bind => <<"5683">>}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway", GwConf),
|
{201, _} = request(post, "/gateways", GwConf),
|
||||||
{200, ConfResp} = request(get, "/gateway/coap"),
|
{200, ConfResp} = request(get, "/gateways/coap"),
|
||||||
assert_confs(GwConf, ConfResp),
|
assert_confs(GwConf, ConfResp),
|
||||||
%% put
|
%% put
|
||||||
GwConf2 = emqx_map_lib:deep_merge(GwConf, #{heartbeat => <<"10s">>}),
|
GwConf2 = emqx_map_lib:deep_merge(GwConf, #{heartbeat => <<"10s">>}),
|
||||||
{200, _} = request(put, "/gateway/coap", maps:without([name, listeners], GwConf2)),
|
{200, _} = request(put, "/gateways/coap", maps:without([name, listeners], GwConf2)),
|
||||||
{200, ConfResp2} = request(get, "/gateway/coap"),
|
{200, ConfResp2} = request(get, "/gateways/coap"),
|
||||||
assert_confs(GwConf2, ConfResp2),
|
assert_confs(GwConf2, ConfResp2),
|
||||||
{204, _} = request(delete, "/gateway/coap").
|
{204, _} = request(delete, "/gateways/coap").
|
||||||
|
|
||||||
t_gateway_lwm2m(_) ->
|
t_gateway_lwm2m(_) ->
|
||||||
{200, Gw} = request(get, "/gateway/lwm2m"),
|
{200, Gw} = request(get, "/gateways/lwm2m"),
|
||||||
assert_gw_unloaded(Gw),
|
assert_gw_unloaded(Gw),
|
||||||
%% post
|
%% post
|
||||||
GwConf = #{
|
GwConf = #{
|
||||||
|
@ -168,18 +168,18 @@ t_gateway_lwm2m(_) ->
|
||||||
#{name => <<"def">>, type => <<"udp">>, bind => <<"5783">>}
|
#{name => <<"def">>, type => <<"udp">>, bind => <<"5783">>}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway", GwConf),
|
{201, _} = request(post, "/gateways", GwConf),
|
||||||
{200, ConfResp} = request(get, "/gateway/lwm2m"),
|
{200, ConfResp} = request(get, "/gateways/lwm2m"),
|
||||||
assert_confs(GwConf, ConfResp),
|
assert_confs(GwConf, ConfResp),
|
||||||
%% put
|
%% put
|
||||||
GwConf2 = emqx_map_lib:deep_merge(GwConf, #{qmode_time_window => <<"10s">>}),
|
GwConf2 = emqx_map_lib:deep_merge(GwConf, #{qmode_time_window => <<"10s">>}),
|
||||||
{200, _} = request(put, "/gateway/lwm2m", maps:without([name, listeners], GwConf2)),
|
{200, _} = request(put, "/gateways/lwm2m", maps:without([name, listeners], GwConf2)),
|
||||||
{200, ConfResp2} = request(get, "/gateway/lwm2m"),
|
{200, ConfResp2} = request(get, "/gateways/lwm2m"),
|
||||||
assert_confs(GwConf2, ConfResp2),
|
assert_confs(GwConf2, ConfResp2),
|
||||||
{204, _} = request(delete, "/gateway/lwm2m").
|
{204, _} = request(delete, "/gateways/lwm2m").
|
||||||
|
|
||||||
t_gateway_exproto(_) ->
|
t_gateway_exproto(_) ->
|
||||||
{200, Gw} = request(get, "/gateway/exproto"),
|
{200, Gw} = request(get, "/gateways/exproto"),
|
||||||
assert_gw_unloaded(Gw),
|
assert_gw_unloaded(Gw),
|
||||||
%% post
|
%% post
|
||||||
GwConf = #{
|
GwConf = #{
|
||||||
|
@ -190,18 +190,18 @@ t_gateway_exproto(_) ->
|
||||||
#{name => <<"def">>, type => <<"tcp">>, bind => <<"7993">>}
|
#{name => <<"def">>, type => <<"tcp">>, bind => <<"7993">>}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway", GwConf),
|
{201, _} = request(post, "/gateways", GwConf),
|
||||||
{200, ConfResp} = request(get, "/gateway/exproto"),
|
{200, ConfResp} = request(get, "/gateways/exproto"),
|
||||||
assert_confs(GwConf, ConfResp),
|
assert_confs(GwConf, ConfResp),
|
||||||
%% put
|
%% put
|
||||||
GwConf2 = emqx_map_lib:deep_merge(GwConf, #{server => #{bind => <<"9200">>}}),
|
GwConf2 = emqx_map_lib:deep_merge(GwConf, #{server => #{bind => <<"9200">>}}),
|
||||||
{200, _} = request(put, "/gateway/exproto", maps:without([name, listeners], GwConf2)),
|
{200, _} = request(put, "/gateways/exproto", maps:without([name, listeners], GwConf2)),
|
||||||
{200, ConfResp2} = request(get, "/gateway/exproto"),
|
{200, ConfResp2} = request(get, "/gateways/exproto"),
|
||||||
assert_confs(GwConf2, ConfResp2),
|
assert_confs(GwConf2, ConfResp2),
|
||||||
{204, _} = request(delete, "/gateway/exproto").
|
{204, _} = request(delete, "/gateways/exproto").
|
||||||
|
|
||||||
t_gateway_exproto_with_ssl(_) ->
|
t_gateway_exproto_with_ssl(_) ->
|
||||||
{200, Gw} = request(get, "/gateway/exproto"),
|
{200, Gw} = request(get, "/gateways/exproto"),
|
||||||
assert_gw_unloaded(Gw),
|
assert_gw_unloaded(Gw),
|
||||||
|
|
||||||
SslSvrOpts = ssl_server_opts(),
|
SslSvrOpts = ssl_server_opts(),
|
||||||
|
@ -221,8 +221,8 @@ t_gateway_exproto_with_ssl(_) ->
|
||||||
#{name => <<"def">>, type => <<"tcp">>, bind => <<"7993">>}
|
#{name => <<"def">>, type => <<"tcp">>, bind => <<"7993">>}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway", GwConf),
|
{201, _} = request(post, "/gateways", GwConf),
|
||||||
{200, ConfResp} = request(get, "/gateway/exproto"),
|
{200, ConfResp} = request(get, "/gateways/exproto"),
|
||||||
assert_confs(GwConf, ConfResp),
|
assert_confs(GwConf, ConfResp),
|
||||||
%% put
|
%% put
|
||||||
GwConf2 = emqx_map_lib:deep_merge(GwConf, #{
|
GwConf2 = emqx_map_lib:deep_merge(GwConf, #{
|
||||||
|
@ -231,50 +231,50 @@ t_gateway_exproto_with_ssl(_) ->
|
||||||
ssl_options => SslCliOpts
|
ssl_options => SslCliOpts
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
{200, _} = request(put, "/gateway/exproto", maps:without([name, listeners], GwConf2)),
|
{200, _} = request(put, "/gateways/exproto", maps:without([name, listeners], GwConf2)),
|
||||||
{200, ConfResp2} = request(get, "/gateway/exproto"),
|
{200, ConfResp2} = request(get, "/gateways/exproto"),
|
||||||
assert_confs(GwConf2, ConfResp2),
|
assert_confs(GwConf2, ConfResp2),
|
||||||
{204, _} = request(delete, "/gateway/exproto").
|
{204, _} = request(delete, "/gateways/exproto").
|
||||||
|
|
||||||
t_authn(_) ->
|
t_authn(_) ->
|
||||||
GwConf = #{name => <<"stomp">>},
|
GwConf = #{name => <<"stomp">>},
|
||||||
{201, _} = request(post, "/gateway", GwConf),
|
{201, _} = request(post, "/gateways", GwConf),
|
||||||
ct:sleep(500),
|
ct:sleep(500),
|
||||||
{204, _} = request(get, "/gateway/stomp/authentication"),
|
{204, _} = request(get, "/gateways/stomp/authentication"),
|
||||||
|
|
||||||
AuthConf = #{
|
AuthConf = #{
|
||||||
mechanism => <<"password_based">>,
|
mechanism => <<"password_based">>,
|
||||||
backend => <<"built_in_database">>,
|
backend => <<"built_in_database">>,
|
||||||
user_id_type => <<"clientid">>
|
user_id_type => <<"clientid">>
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway/stomp/authentication", AuthConf),
|
{201, _} = request(post, "/gateways/stomp/authentication", AuthConf),
|
||||||
{200, ConfResp} = request(get, "/gateway/stomp/authentication"),
|
{200, ConfResp} = request(get, "/gateways/stomp/authentication"),
|
||||||
assert_confs(AuthConf, ConfResp),
|
assert_confs(AuthConf, ConfResp),
|
||||||
|
|
||||||
AuthConf2 = maps:merge(AuthConf, #{user_id_type => <<"username">>}),
|
AuthConf2 = maps:merge(AuthConf, #{user_id_type => <<"username">>}),
|
||||||
{200, _} = request(put, "/gateway/stomp/authentication", AuthConf2),
|
{200, _} = request(put, "/gateways/stomp/authentication", AuthConf2),
|
||||||
|
|
||||||
{200, ConfResp2} = request(get, "/gateway/stomp/authentication"),
|
{200, ConfResp2} = request(get, "/gateways/stomp/authentication"),
|
||||||
assert_confs(AuthConf2, ConfResp2),
|
assert_confs(AuthConf2, ConfResp2),
|
||||||
|
|
||||||
{204, _} = request(delete, "/gateway/stomp/authentication"),
|
{204, _} = request(delete, "/gateways/stomp/authentication"),
|
||||||
{204, _} = request(get, "/gateway/stomp/authentication"),
|
{204, _} = request(get, "/gateways/stomp/authentication"),
|
||||||
{204, _} = request(delete, "/gateway/stomp").
|
{204, _} = request(delete, "/gateways/stomp").
|
||||||
|
|
||||||
t_authn_data_mgmt(_) ->
|
t_authn_data_mgmt(_) ->
|
||||||
GwConf = #{name => <<"stomp">>},
|
GwConf = #{name => <<"stomp">>},
|
||||||
{201, _} = request(post, "/gateway", GwConf),
|
{201, _} = request(post, "/gateways", GwConf),
|
||||||
ct:sleep(500),
|
ct:sleep(500),
|
||||||
{204, _} = request(get, "/gateway/stomp/authentication"),
|
{204, _} = request(get, "/gateways/stomp/authentication"),
|
||||||
|
|
||||||
AuthConf = #{
|
AuthConf = #{
|
||||||
mechanism => <<"password_based">>,
|
mechanism => <<"password_based">>,
|
||||||
backend => <<"built_in_database">>,
|
backend => <<"built_in_database">>,
|
||||||
user_id_type => <<"clientid">>
|
user_id_type => <<"clientid">>
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway/stomp/authentication", AuthConf),
|
{201, _} = request(post, "/gateways/stomp/authentication", AuthConf),
|
||||||
ct:sleep(500),
|
ct:sleep(500),
|
||||||
{200, ConfResp} = request(get, "/gateway/stomp/authentication"),
|
{200, ConfResp} = request(get, "/gateways/stomp/authentication"),
|
||||||
assert_confs(AuthConf, ConfResp),
|
assert_confs(AuthConf, ConfResp),
|
||||||
|
|
||||||
User1 = #{
|
User1 = #{
|
||||||
|
@ -282,19 +282,19 @@ t_authn_data_mgmt(_) ->
|
||||||
password => <<"123456">>,
|
password => <<"123456">>,
|
||||||
is_superuser => false
|
is_superuser => false
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway/stomp/authentication/users", User1),
|
{201, _} = request(post, "/gateways/stomp/authentication/users", User1),
|
||||||
{200, #{data := [UserRespd1]}} = request(get, "/gateway/stomp/authentication/users"),
|
{200, #{data := [UserRespd1]}} = request(get, "/gateways/stomp/authentication/users"),
|
||||||
assert_confs(UserRespd1, User1),
|
assert_confs(UserRespd1, User1),
|
||||||
|
|
||||||
{200, UserRespd2} = request(
|
{200, UserRespd2} = request(
|
||||||
get,
|
get,
|
||||||
"/gateway/stomp/authentication/users/test"
|
"/gateways/stomp/authentication/users/test"
|
||||||
),
|
),
|
||||||
assert_confs(UserRespd2, User1),
|
assert_confs(UserRespd2, User1),
|
||||||
|
|
||||||
{200, UserRespd3} = request(
|
{200, UserRespd3} = request(
|
||||||
put,
|
put,
|
||||||
"/gateway/stomp/authentication/users/test",
|
"/gateways/stomp/authentication/users/test",
|
||||||
#{
|
#{
|
||||||
password => <<"654321">>,
|
password => <<"654321">>,
|
||||||
is_superuser => true
|
is_superuser => true
|
||||||
|
@ -304,19 +304,19 @@ t_authn_data_mgmt(_) ->
|
||||||
|
|
||||||
{200, UserRespd4} = request(
|
{200, UserRespd4} = request(
|
||||||
get,
|
get,
|
||||||
"/gateway/stomp/authentication/users/test"
|
"/gateways/stomp/authentication/users/test"
|
||||||
),
|
),
|
||||||
assert_confs(UserRespd4, User1#{is_superuser => true}),
|
assert_confs(UserRespd4, User1#{is_superuser => true}),
|
||||||
|
|
||||||
{204, _} = request(delete, "/gateway/stomp/authentication/users/test"),
|
{204, _} = request(delete, "/gateways/stomp/authentication/users/test"),
|
||||||
|
|
||||||
{200, #{data := []}} = request(
|
{200, #{data := []}} = request(
|
||||||
get,
|
get,
|
||||||
"/gateway/stomp/authentication/users"
|
"/gateways/stomp/authentication/users"
|
||||||
),
|
),
|
||||||
|
|
||||||
ImportUri = emqx_dashboard_api_test_helpers:uri(
|
ImportUri = emqx_dashboard_api_test_helpers:uri(
|
||||||
["gateway", "stomp", "authentication", "import_users"]
|
["gateways", "stomp", "authentication", "import_users"]
|
||||||
),
|
),
|
||||||
|
|
||||||
Dir = code:lib_dir(emqx_authn, test),
|
Dir = code:lib_dir(emqx_authn, test),
|
||||||
|
@ -332,38 +332,38 @@ t_authn_data_mgmt(_) ->
|
||||||
{filename, "user-credentials.csv", CSVData}
|
{filename, "user-credentials.csv", CSVData}
|
||||||
]),
|
]),
|
||||||
|
|
||||||
{204, _} = request(delete, "/gateway/stomp/authentication"),
|
{204, _} = request(delete, "/gateways/stomp/authentication"),
|
||||||
{204, _} = request(get, "/gateway/stomp/authentication"),
|
{204, _} = request(get, "/gateways/stomp/authentication"),
|
||||||
{204, _} = request(delete, "/gateway/stomp").
|
{204, _} = request(delete, "/gateways/stomp").
|
||||||
|
|
||||||
t_listeners_tcp(_) ->
|
t_listeners_tcp(_) ->
|
||||||
GwConf = #{name => <<"stomp">>},
|
GwConf = #{name => <<"stomp">>},
|
||||||
{201, _} = request(post, "/gateway", GwConf),
|
{201, _} = request(post, "/gateways", GwConf),
|
||||||
{404, _} = request(get, "/gateway/stomp/listeners"),
|
{404, _} = request(get, "/gateways/stomp/listeners"),
|
||||||
LisConf = #{
|
LisConf = #{
|
||||||
name => <<"def">>,
|
name => <<"def">>,
|
||||||
type => <<"tcp">>,
|
type => <<"tcp">>,
|
||||||
bind => <<"127.0.0.1:61613">>
|
bind => <<"127.0.0.1:61613">>
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway/stomp/listeners", LisConf),
|
{201, _} = request(post, "/gateways/stomp/listeners", LisConf),
|
||||||
{200, ConfResp} = request(get, "/gateway/stomp/listeners"),
|
{200, ConfResp} = request(get, "/gateways/stomp/listeners"),
|
||||||
assert_confs([LisConf], ConfResp),
|
assert_confs([LisConf], ConfResp),
|
||||||
{200, ConfResp1} = request(get, "/gateway/stomp/listeners/stomp:tcp:def"),
|
{200, ConfResp1} = request(get, "/gateways/stomp/listeners/stomp:tcp:def"),
|
||||||
assert_confs(LisConf, ConfResp1),
|
assert_confs(LisConf, ConfResp1),
|
||||||
|
|
||||||
LisConf2 = maps:merge(LisConf, #{bind => <<"127.0.0.1:61614">>}),
|
LisConf2 = maps:merge(LisConf, #{bind => <<"127.0.0.1:61614">>}),
|
||||||
{200, _} = request(
|
{200, _} = request(
|
||||||
put,
|
put,
|
||||||
"/gateway/stomp/listeners/stomp:tcp:def",
|
"/gateways/stomp/listeners/stomp:tcp:def",
|
||||||
LisConf2
|
LisConf2
|
||||||
),
|
),
|
||||||
|
|
||||||
{200, ConfResp2} = request(get, "/gateway/stomp/listeners/stomp:tcp:def"),
|
{200, ConfResp2} = request(get, "/gateways/stomp/listeners/stomp:tcp:def"),
|
||||||
assert_confs(LisConf2, ConfResp2),
|
assert_confs(LisConf2, ConfResp2),
|
||||||
|
|
||||||
{204, _} = request(delete, "/gateway/stomp/listeners/stomp:tcp:def"),
|
{204, _} = request(delete, "/gateways/stomp/listeners/stomp:tcp:def"),
|
||||||
{404, _} = request(get, "/gateway/stomp/listeners/stomp:tcp:def"),
|
{404, _} = request(get, "/gateways/stomp/listeners/stomp:tcp:def"),
|
||||||
{204, _} = request(delete, "/gateway/stomp").
|
{204, _} = request(delete, "/gateways/stomp").
|
||||||
|
|
||||||
t_listeners_authn(_) ->
|
t_listeners_authn(_) ->
|
||||||
GwConf = #{
|
GwConf = #{
|
||||||
|
@ -376,9 +376,9 @@ t_listeners_authn(_) ->
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway", GwConf),
|
{201, _} = request(post, "/gateways", GwConf),
|
||||||
ct:sleep(500),
|
ct:sleep(500),
|
||||||
{200, ConfResp} = request(get, "/gateway/stomp"),
|
{200, ConfResp} = request(get, "/gateways/stomp"),
|
||||||
assert_confs(GwConf, ConfResp),
|
assert_confs(GwConf, ConfResp),
|
||||||
|
|
||||||
AuthConf = #{
|
AuthConf = #{
|
||||||
|
@ -386,7 +386,7 @@ t_listeners_authn(_) ->
|
||||||
backend => <<"built_in_database">>,
|
backend => <<"built_in_database">>,
|
||||||
user_id_type => <<"clientid">>
|
user_id_type => <<"clientid">>
|
||||||
},
|
},
|
||||||
Path = "/gateway/stomp/listeners/stomp:tcp:def/authentication",
|
Path = "/gateways/stomp/listeners/stomp:tcp:def/authentication",
|
||||||
{201, _} = request(post, Path, AuthConf),
|
{201, _} = request(post, Path, AuthConf),
|
||||||
{200, ConfResp2} = request(get, Path),
|
{200, ConfResp2} = request(get, Path),
|
||||||
assert_confs(AuthConf, ConfResp2),
|
assert_confs(AuthConf, ConfResp2),
|
||||||
|
@ -400,7 +400,7 @@ t_listeners_authn(_) ->
|
||||||
{204, _} = request(delete, Path),
|
{204, _} = request(delete, Path),
|
||||||
%% FIXME: 204?
|
%% FIXME: 204?
|
||||||
{204, _} = request(get, Path),
|
{204, _} = request(get, Path),
|
||||||
{204, _} = request(delete, "/gateway/stomp").
|
{204, _} = request(delete, "/gateways/stomp").
|
||||||
|
|
||||||
t_listeners_authn_data_mgmt(_) ->
|
t_listeners_authn_data_mgmt(_) ->
|
||||||
GwConf = #{
|
GwConf = #{
|
||||||
|
@ -413,8 +413,8 @@ t_listeners_authn_data_mgmt(_) ->
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway", GwConf),
|
{201, _} = request(post, "/gateways", GwConf),
|
||||||
{200, ConfResp} = request(get, "/gateway/stomp"),
|
{200, ConfResp} = request(get, "/gateways/stomp"),
|
||||||
assert_confs(GwConf, ConfResp),
|
assert_confs(GwConf, ConfResp),
|
||||||
|
|
||||||
AuthConf = #{
|
AuthConf = #{
|
||||||
|
@ -422,7 +422,7 @@ t_listeners_authn_data_mgmt(_) ->
|
||||||
backend => <<"built_in_database">>,
|
backend => <<"built_in_database">>,
|
||||||
user_id_type => <<"clientid">>
|
user_id_type => <<"clientid">>
|
||||||
},
|
},
|
||||||
Path = "/gateway/stomp/listeners/stomp:tcp:def/authentication",
|
Path = "/gateways/stomp/listeners/stomp:tcp:def/authentication",
|
||||||
{201, _} = request(post, Path, AuthConf),
|
{201, _} = request(post, Path, AuthConf),
|
||||||
{200, ConfResp2} = request(get, Path),
|
{200, ConfResp2} = request(get, Path),
|
||||||
assert_confs(AuthConf, ConfResp2),
|
assert_confs(AuthConf, ConfResp2),
|
||||||
|
@ -434,7 +434,7 @@ t_listeners_authn_data_mgmt(_) ->
|
||||||
},
|
},
|
||||||
{201, _} = request(
|
{201, _} = request(
|
||||||
post,
|
post,
|
||||||
"/gateway/stomp/listeners/stomp:tcp:def/authentication/users",
|
"/gateways/stomp/listeners/stomp:tcp:def/authentication/users",
|
||||||
User1
|
User1
|
||||||
),
|
),
|
||||||
|
|
||||||
|
@ -474,7 +474,7 @@ t_listeners_authn_data_mgmt(_) ->
|
||||||
),
|
),
|
||||||
|
|
||||||
ImportUri = emqx_dashboard_api_test_helpers:uri(
|
ImportUri = emqx_dashboard_api_test_helpers:uri(
|
||||||
["gateway", "stomp", "listeners", "stomp:tcp:def", "authentication", "import_users"]
|
["gateways", "stomp", "listeners", "stomp:tcp:def", "authentication", "import_users"]
|
||||||
),
|
),
|
||||||
|
|
||||||
Dir = code:lib_dir(emqx_authn, test),
|
Dir = code:lib_dir(emqx_authn, test),
|
||||||
|
@ -490,31 +490,31 @@ t_listeners_authn_data_mgmt(_) ->
|
||||||
{filename, "user-credentials.csv", CSVData}
|
{filename, "user-credentials.csv", CSVData}
|
||||||
]),
|
]),
|
||||||
|
|
||||||
{204, _} = request(delete, "/gateway/stomp").
|
{204, _} = request(delete, "/gateways/stomp").
|
||||||
|
|
||||||
t_authn_fuzzy_search(_) ->
|
t_authn_fuzzy_search(_) ->
|
||||||
GwConf = #{name => <<"stomp">>},
|
GwConf = #{name => <<"stomp">>},
|
||||||
{201, _} = request(post, "/gateway", GwConf),
|
{201, _} = request(post, "/gateways", GwConf),
|
||||||
{204, _} = request(get, "/gateway/stomp/authentication"),
|
{204, _} = request(get, "/gateways/stomp/authentication"),
|
||||||
|
|
||||||
AuthConf = #{
|
AuthConf = #{
|
||||||
mechanism => <<"password_based">>,
|
mechanism => <<"password_based">>,
|
||||||
backend => <<"built_in_database">>,
|
backend => <<"built_in_database">>,
|
||||||
user_id_type => <<"clientid">>
|
user_id_type => <<"clientid">>
|
||||||
},
|
},
|
||||||
{201, _} = request(post, "/gateway/stomp/authentication", AuthConf),
|
{201, _} = request(post, "/gateways/stomp/authentication", AuthConf),
|
||||||
{200, ConfResp} = request(get, "/gateway/stomp/authentication"),
|
{200, ConfResp} = request(get, "/gateways/stomp/authentication"),
|
||||||
assert_confs(AuthConf, ConfResp),
|
assert_confs(AuthConf, ConfResp),
|
||||||
|
|
||||||
Checker = fun({User, Fuzzy}) ->
|
Checker = fun({User, Fuzzy}) ->
|
||||||
{200, #{data := [UserRespd]}} = request(
|
{200, #{data := [UserRespd]}} = request(
|
||||||
get, "/gateway/stomp/authentication/users", Fuzzy
|
get, "/gateways/stomp/authentication/users", Fuzzy
|
||||||
),
|
),
|
||||||
assert_confs(UserRespd, User)
|
assert_confs(UserRespd, User)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
Create = fun(User) ->
|
Create = fun(User) ->
|
||||||
{201, _} = request(post, "/gateway/stomp/authentication/users", User)
|
{201, _} = request(post, "/gateways/stomp/authentication/users", User)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
UserDatas = [
|
UserDatas = [
|
||||||
|
@ -535,9 +535,9 @@ t_authn_fuzzy_search(_) ->
|
||||||
lists:foreach(Create, UserDatas),
|
lists:foreach(Create, UserDatas),
|
||||||
lists:foreach(Checker, lists:zip(UserDatas, FuzzyDatas)),
|
lists:foreach(Checker, lists:zip(UserDatas, FuzzyDatas)),
|
||||||
|
|
||||||
{204, _} = request(delete, "/gateway/stomp/authentication"),
|
{204, _} = request(delete, "/gateways/stomp/authentication"),
|
||||||
{204, _} = request(get, "/gateway/stomp/authentication"),
|
{204, _} = request(get, "/gateways/stomp/authentication"),
|
||||||
{204, _} = request(delete, "/gateway/stomp").
|
{204, _} = request(delete, "/gateways/stomp").
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
%% Asserts
|
%% Asserts
|
||||||
|
|
|
@ -338,7 +338,7 @@ t_observe(Config) ->
|
||||||
%%% Internal Functions
|
%%% Internal Functions
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
call_lookup_api(ClientId, Path, Action) ->
|
call_lookup_api(ClientId, Path, Action) ->
|
||||||
ApiPath = emqx_mgmt_api_test_util:api_path(["gateway/lwm2m/clients", ClientId, "lookup"]),
|
ApiPath = emqx_mgmt_api_test_util:api_path(["gateways/lwm2m/clients", ClientId, "lookup"]),
|
||||||
Auth = emqx_mgmt_api_test_util:auth_header_(),
|
Auth = emqx_mgmt_api_test_util:auth_header_(),
|
||||||
Query = io_lib:format("path=~ts&action=~ts", [Path, Action]),
|
Query = io_lib:format("path=~ts&action=~ts", [Path, Action]),
|
||||||
{ok, Response} = emqx_mgmt_api_test_util:request_api(get, ApiPath, Query, Auth),
|
{ok, Response} = emqx_mgmt_api_test_util:request_api(get, ApiPath, Query, Auth),
|
||||||
|
@ -346,7 +346,7 @@ call_lookup_api(ClientId, Path, Action) ->
|
||||||
Response.
|
Response.
|
||||||
|
|
||||||
call_send_api(ClientId, Cmd, Query) ->
|
call_send_api(ClientId, Cmd, Query) ->
|
||||||
ApiPath = emqx_mgmt_api_test_util:api_path(["gateway/lwm2m/clients", ClientId, Cmd]),
|
ApiPath = emqx_mgmt_api_test_util:api_path(["gateways/lwm2m/clients", ClientId, Cmd]),
|
||||||
Auth = emqx_mgmt_api_test_util:auth_header_(),
|
Auth = emqx_mgmt_api_test_util:auth_header_(),
|
||||||
{ok, Response} = emqx_mgmt_api_test_util:request_api(post, ApiPath, Query, Auth),
|
{ok, Response} = emqx_mgmt_api_test_util:request_api(post, ApiPath, Query, Auth),
|
||||||
?LOGT("rest api response:~ts~n", [Response]),
|
?LOGT("rest api response:~ts~n", [Response]),
|
||||||
|
|
Loading…
Reference in New Issue