Update the test cases for emqttd
This commit is contained in:
parent
945f925136
commit
2d92f95294
3
Makefile
3
Makefile
|
@ -25,8 +25,9 @@ NO_AUTOPATCH = cuttlefish
|
||||||
BUILD_DEPS = cuttlefish
|
BUILD_DEPS = cuttlefish
|
||||||
dep_cuttlefish = git https://github.com/emqtt/cuttlefish
|
dep_cuttlefish = git https://github.com/emqtt/cuttlefish
|
||||||
|
|
||||||
TEST_DEPS = emqttc
|
TEST_DEPS = emqttc emq_dashboard
|
||||||
dep_emqttc = git https://github.com/emqtt/emqttc
|
dep_emqttc = git https://github.com/emqtt/emqttc
|
||||||
|
dep_emq_dashboard = git https://github.com/emqtt/emq_dashboard
|
||||||
|
|
||||||
TEST_ERLC_OPTS += +debug_info
|
TEST_ERLC_OPTS += +debug_info
|
||||||
TEST_ERLC_OPTS += +'{parse_transform, lager_transform}'
|
TEST_ERLC_OPTS += +'{parse_transform, lager_transform}'
|
||||||
|
|
|
@ -67,7 +67,6 @@ all() ->
|
||||||
{group, http},
|
{group, http},
|
||||||
{group, alarms},
|
{group, alarms},
|
||||||
{group, cli},
|
{group, cli},
|
||||||
{group, get_api},
|
|
||||||
{group, cleanSession}].
|
{group, cleanSession}].
|
||||||
|
|
||||||
groups() ->
|
groups() ->
|
||||||
|
@ -99,7 +98,8 @@ groups() ->
|
||||||
run_hooks]},
|
run_hooks]},
|
||||||
{http, [sequence],
|
{http, [sequence],
|
||||||
[request_status,
|
[request_status,
|
||||||
request_publish
|
request_publish,
|
||||||
|
get_api_lists
|
||||||
% websocket_test
|
% websocket_test
|
||||||
]},
|
]},
|
||||||
{alarms, [sequence],
|
{alarms, [sequence],
|
||||||
|
@ -122,8 +122,7 @@ groups() ->
|
||||||
]},
|
]},
|
||||||
cli_vm]},
|
cli_vm]},
|
||||||
{cleanSession, [sequence],
|
{cleanSession, [sequence],
|
||||||
[cleanSession_validate]},
|
[cleanSession_validate]}].
|
||||||
{get_api, [sequence], [get_api_lists]}].
|
|
||||||
|
|
||||||
init_per_suite(Config) ->
|
init_per_suite(Config) ->
|
||||||
NewConfig = generate_config(),
|
NewConfig = generate_config(),
|
||||||
|
@ -235,9 +234,9 @@ pubsub(_) ->
|
||||||
emqttd:unsubscribe(<<"a/b/c">>).
|
emqttd:unsubscribe(<<"a/b/c">>).
|
||||||
|
|
||||||
t_local_subscribe(_) ->
|
t_local_subscribe(_) ->
|
||||||
emqttd:subscribe("$local/topic0"),
|
ok = emqttd:subscribe("$local/topic0"),
|
||||||
emqttd:subscribe("$local/topic1", <<"x">>),
|
ok = emqttd:subscribe("$local/topic1", <<"x">>),
|
||||||
emqttd:subscribe("$local/topic2", <<"x">>, [{qos, 2}]),
|
ok = emqttd:subscribe("$local/topic2", <<"x">>, [{qos, 2}]),
|
||||||
timer:sleep(10),
|
timer:sleep(10),
|
||||||
?assertEqual([self()], emqttd:subscribers("$local/topic0")),
|
?assertEqual([self()], emqttd:subscribers("$local/topic0")),
|
||||||
?assertEqual([{<<"x">>, self()}], emqttd:subscribers("$local/topic1")),
|
?assertEqual([{<<"x">>, self()}], emqttd:subscribers("$local/topic1")),
|
||||||
|
@ -451,19 +450,20 @@ request_status(_) ->
|
||||||
?assertEqual(binary_to_list(Status), Return).
|
?assertEqual(binary_to_list(Status), Return).
|
||||||
|
|
||||||
request_publish(_) ->
|
request_publish(_) ->
|
||||||
|
application:start(emq_dashboard),
|
||||||
emqttc:start_link([{host, "localhost"},
|
emqttc:start_link([{host, "localhost"},
|
||||||
{port, 1883},
|
{port, 1883},
|
||||||
{client_id, <<"random">>},
|
{client_id, <<"random">>},
|
||||||
{clean_sess, false}]),
|
{clean_sess, false}]),
|
||||||
SubParams = "{\"qos\":1, \"topic\" : \"a\/b\/c\", \"client_id\" :\"random\"}",
|
SubParams = "{\"qos\":1, \"topic\" : \"a\/b\/c\", \"client_id\" :\"random\"}",
|
||||||
?assert(connect_emqttd_pubsub_(post, "api/v2/mqtt/subscribe", SubParams, auth_header_("", ""))),
|
?assert(connect_emqttd_pubsub_(post, "api/v2/mqtt/subscribe", SubParams, auth_header_("admin", "public"))),
|
||||||
ok = emqttd:subscribe(<<"a/b/c">>, self(), [{qos, 1}]),
|
ok = emqttd:subscribe(<<"a/b/c">>, self(), [{qos, 1}]),
|
||||||
Params = "{\"qos\":1, \"retain\":false, \"topic\" : \"a\/b\/c\", \"messages\" :\"hello\"}",
|
Params = "{\"qos\":1, \"retain\":false, \"topic\" : \"a\/b\/c\", \"messages\" :\"hello\"}",
|
||||||
?assert(connect_emqttd_pubsub_(post, "api/v2/mqtt/publish", Params, auth_header_("", ""))),
|
?assert(connect_emqttd_pubsub_(post, "api/v2/mqtt/publish", Params, auth_header_("admin", "public"))),
|
||||||
?assert(receive {dispatch, <<"a/b/c">>, _} -> true after 2 -> false end),
|
?assert(receive {dispatch, <<"a/b/c">>, _} -> true after 2 -> false end),
|
||||||
|
|
||||||
UnSubParams = "{\"topic\" : \"a\/b\/c\", \"client_id\" :\"random\"}",
|
UnSubParams = "{\"topic\" : \"a\/b\/c\", \"client_id\" :\"random\"}",
|
||||||
?assert(connect_emqttd_pubsub_(post, "api/v2/mqtt/unsubscribe", UnSubParams, auth_header_("", ""))).
|
?assert(connect_emqttd_pubsub_(post, "api/v2/mqtt/unsubscribe", UnSubParams, auth_header_("admin", "public"))).
|
||||||
|
|
||||||
connect_emqttd_pubsub_(Method, Api, Params, Auth) ->
|
connect_emqttd_pubsub_(Method, Api, Params, Auth) ->
|
||||||
Url = "http://127.0.0.1:8080/" ++ Api,
|
Url = "http://127.0.0.1:8080/" ++ Api,
|
||||||
|
@ -482,6 +482,9 @@ auth_header_(User, Pass) ->
|
||||||
Encoded = base64:encode_to_string(lists:append([User,":",Pass])),
|
Encoded = base64:encode_to_string(lists:append([User,":",Pass])),
|
||||||
{"Authorization","Basic " ++ Encoded}.
|
{"Authorization","Basic " ++ Encoded}.
|
||||||
|
|
||||||
|
get_api_lists(_Config) ->
|
||||||
|
lists:foreach(fun request/1, ?GET_API).
|
||||||
|
|
||||||
websocket_test(_) ->
|
websocket_test(_) ->
|
||||||
Conn = esockd_connection:new(esockd_transport, nil, []),
|
Conn = esockd_connection:new(esockd_transport, nil, []),
|
||||||
Req = mochiweb_request:new(Conn, 'GET', "/mqtt", {1, 1},
|
Req = mochiweb_request:new(Conn, 'GET', "/mqtt", {1, 1},
|
||||||
|
@ -626,9 +629,6 @@ cleanSession_validate(_) ->
|
||||||
emqttc:disconnect(Pub),
|
emqttc:disconnect(Pub),
|
||||||
emqttc:disconnect(C11).
|
emqttc:disconnect(C11).
|
||||||
|
|
||||||
get_api_lists(_Config) ->
|
|
||||||
lists:foreach(fun request/1, ?GET_API).
|
|
||||||
|
|
||||||
change_opts(SslType) ->
|
change_opts(SslType) ->
|
||||||
{ok, Listeners} = application:get_env(?APP, listeners),
|
{ok, Listeners} = application:get_env(?APP, listeners),
|
||||||
NewListeners =
|
NewListeners =
|
||||||
|
@ -697,7 +697,7 @@ http_post(Method, Path, Params) ->
|
||||||
|
|
||||||
req(Method, Path, Body) ->
|
req(Method, Path, Body) ->
|
||||||
Url = ?URL ++ Path,
|
Url = ?URL ++ Path,
|
||||||
Headers = auth_header_("", ""),
|
Headers = auth_header_("admin", "public"),
|
||||||
case httpc:request(Method, {Url, [Headers]}, [], []) of
|
case httpc:request(Method, {Url, [Headers]}, [], []) of
|
||||||
{error, socket_closed_remotely} ->
|
{error, socket_closed_remotely} ->
|
||||||
false;
|
false;
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
%% limitations under the License.
|
%% limitations under the License.
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
-module(emqttd_router_SUITE).
|
-module(emqttd_cli_SUITE).
|
||||||
|
|
||||||
-compile(export_all).
|
-compile(export_all).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue