fix: add sub api doc & test suite (#5634)
* fix: add sub api doc & test suite
This commit is contained in:
parent
f4eae8c0cb
commit
be0fd6fddd
|
@ -96,13 +96,13 @@ parameters() ->
|
||||||
#{
|
#{
|
||||||
name => topic,
|
name => topic,
|
||||||
in => query,
|
in => query,
|
||||||
description => <<"Topic">>,
|
description => <<"Topic, url encoding">>,
|
||||||
schema => #{type => string}
|
schema => #{type => string}
|
||||||
}
|
}
|
||||||
#{
|
#{
|
||||||
name => match_topic,
|
name => match_topic,
|
||||||
in => query,
|
in => query,
|
||||||
description => <<"Match topic string">>,
|
description => <<"Match topic string, url encoding">>,
|
||||||
schema => #{type => string}
|
schema => #{type => string}
|
||||||
} | page_params()
|
} | page_params()
|
||||||
].
|
].
|
||||||
|
|
|
@ -24,8 +24,10 @@
|
||||||
-define(USERNAME, <<"api_username">>).
|
-define(USERNAME, <<"api_username">>).
|
||||||
|
|
||||||
%% notice: integer topic for sort response
|
%% notice: integer topic for sort response
|
||||||
-define(TOPIC1, <<"0000">>).
|
-define(TOPIC1, <<"/t/0000">>).
|
||||||
-define(TOPIC2, <<"0001">>).
|
-define(TOPIC2, <<"/t/0001">>).
|
||||||
|
|
||||||
|
-define(TOPIC_SORT, #{?TOPIC1 => 1, ?TOPIC2 => 2}).
|
||||||
|
|
||||||
all() ->
|
all() ->
|
||||||
emqx_ct:all(?MODULE).
|
emqx_ct:all(?MODULE).
|
||||||
|
@ -53,11 +55,24 @@ t_subscription_api(_) ->
|
||||||
?assertEqual(length(Subscriptions), 2),
|
?assertEqual(length(Subscriptions), 2),
|
||||||
Sort =
|
Sort =
|
||||||
fun(#{<<"topic">> := T1}, #{<<"topic">> := T2}) ->
|
fun(#{<<"topic">> := T1}, #{<<"topic">> := T2}) ->
|
||||||
binary_to_integer(T1) =< binary_to_integer(T2)
|
maps:get(T1, ?TOPIC_SORT) =< maps:get(T2, ?TOPIC_SORT)
|
||||||
end,
|
end,
|
||||||
[Subscriptions1, Subscriptions2] = lists:sort(Sort, Subscriptions),
|
[Subscriptions1, Subscriptions2] = lists:sort(Sort, Subscriptions),
|
||||||
?assertEqual(maps:get(<<"topic">>, Subscriptions1), ?TOPIC1),
|
?assertEqual(maps:get(<<"topic">>, Subscriptions1), ?TOPIC1),
|
||||||
?assertEqual(maps:get(<<"topic">>, Subscriptions2), ?TOPIC2),
|
?assertEqual(maps:get(<<"topic">>, Subscriptions2), ?TOPIC2),
|
||||||
?assertEqual(maps:get(<<"clientid">>, Subscriptions1), ?CLIENTID),
|
?assertEqual(maps:get(<<"clientid">>, Subscriptions1), ?CLIENTID),
|
||||||
?assertEqual(maps:get(<<"clientid">>, Subscriptions2), ?CLIENTID),
|
?assertEqual(maps:get(<<"clientid">>, Subscriptions2), ?CLIENTID),
|
||||||
|
|
||||||
|
QsTopic = "topic=" ++ <<"%2Ft%2F0001">>,
|
||||||
|
Headers = emqx_mgmt_api_test_util:auth_header_(),
|
||||||
|
{ok, ResponseTopic1} = emqx_mgmt_api_test_util:request_api(get, Path, QsTopic, Headers),
|
||||||
|
DataTopic1 = emqx_json:decode(ResponseTopic1, [return_maps]),
|
||||||
|
Meta1 = maps:get(<<"meta">>, DataTopic1),
|
||||||
|
?assertEqual(1, maps:get(<<"page">>, Meta1)),
|
||||||
|
?assertEqual(emqx_mgmt:max_row_limit(), maps:get(<<"limit">>, Meta1)),
|
||||||
|
?assertEqual(1, maps:get(<<"count">>, Meta1)),
|
||||||
|
Subscriptions_qs1 = maps:get(<<"data">>, DataTopic1),
|
||||||
|
?assertEqual(length(Subscriptions_qs1), 1),
|
||||||
|
|
||||||
|
|
||||||
emqtt:disconnect(Client).
|
emqtt:disconnect(Client).
|
||||||
|
|
Loading…
Reference in New Issue