test: initialize clients in test setup, teardown after test
This commit is contained in:
parent
cded5fc6cf
commit
acef85e11a
|
@ -20,9 +20,7 @@
|
|||
|
||||
-include_lib("eunit/include/eunit.hrl").
|
||||
-include_lib("emqx/include/emqx_mqtt.hrl").
|
||||
|
||||
-define(CLIENTID, <<"api_clientid">>).
|
||||
-define(USERNAME, <<"api_username">>).
|
||||
-include_lib("common_test/include/ct.hrl").
|
||||
|
||||
-define(TOPIC1, <<"api_topic1">>).
|
||||
-define(TOPIC2, <<"api_topic2">>).
|
||||
|
@ -44,16 +42,21 @@ end_per_testcase(Case, Config) ->
|
|||
?MODULE:Case({'end', Config}).
|
||||
|
||||
t_publish_api({init, Config}) ->
|
||||
Config;
|
||||
t_publish_api({'end', _Config}) ->
|
||||
ok;
|
||||
t_publish_api(_) ->
|
||||
{ok, Client} = emqtt:start_link(#{
|
||||
username => <<"api_username">>, clientid => <<"api_clientid">>
|
||||
}),
|
||||
{ok, Client} = emqtt:start_link(
|
||||
#{
|
||||
username => <<"api_username">>,
|
||||
clientid => <<"api_clientid">>
|
||||
}
|
||||
),
|
||||
{ok, _} = emqtt:connect(Client),
|
||||
{ok, _, [0]} = emqtt:subscribe(Client, ?TOPIC1),
|
||||
{ok, _, [0]} = emqtt:subscribe(Client, ?TOPIC2),
|
||||
[{client, Client} | Config];
|
||||
t_publish_api({'end', Config}) ->
|
||||
Client = ?config(client, Config),
|
||||
emqtt:stop(Client),
|
||||
ok;
|
||||
t_publish_api(_) ->
|
||||
Payload = <<"hello">>,
|
||||
Path = emqx_mgmt_api_test_util:api_path(["publish"]),
|
||||
Auth = emqx_mgmt_api_test_util:auth_header_(),
|
||||
|
@ -61,8 +64,7 @@ t_publish_api(_) ->
|
|||
{ok, Response} = emqx_mgmt_api_test_util:request_api(post, Path, "", Auth, Body),
|
||||
ResponseMap = decode_json(Response),
|
||||
?assertEqual([<<"id">>], lists:sort(maps:keys(ResponseMap))),
|
||||
?assertEqual(ok, receive_assert(?TOPIC1, 0, Payload)),
|
||||
emqtt:stop(Client).
|
||||
?assertEqual(ok, receive_assert(?TOPIC1, 0, Payload)).
|
||||
|
||||
t_publish_no_subscriber({init, Config}) ->
|
||||
Config;
|
||||
|
@ -163,16 +165,18 @@ t_publish_bad_topic_bulk(_Config) ->
|
|||
).
|
||||
|
||||
t_publish_bulk_api({init, Config}) ->
|
||||
Config;
|
||||
t_publish_bulk_api({'end', _Config}) ->
|
||||
ok;
|
||||
t_publish_bulk_api(_) ->
|
||||
{ok, Client} = emqtt:start_link(#{
|
||||
username => <<"api_username">>, clientid => <<"api_clientid">>
|
||||
}),
|
||||
{ok, _} = emqtt:connect(Client),
|
||||
{ok, _, [0]} = emqtt:subscribe(Client, ?TOPIC1),
|
||||
{ok, _, [0]} = emqtt:subscribe(Client, ?TOPIC2),
|
||||
[{client, Client} | Config];
|
||||
t_publish_bulk_api({'end', Config}) ->
|
||||
Client = ?config(client, Config),
|
||||
emqtt:stop(Client),
|
||||
ok;
|
||||
t_publish_bulk_api(_) ->
|
||||
Payload = <<"hello">>,
|
||||
Path = emqx_mgmt_api_test_util:api_path(["publish", "bulk"]),
|
||||
Auth = emqx_mgmt_api_test_util:auth_header_(),
|
||||
|
@ -200,8 +204,7 @@ t_publish_bulk_api(_) ->
|
|||
ResponseList
|
||||
),
|
||||
?assertEqual(ok, receive_assert(?TOPIC1, 0, Payload)),
|
||||
?assertEqual(ok, receive_assert(?TOPIC2, 0, Payload)),
|
||||
emqtt:stop(Client).
|
||||
?assertEqual(ok, receive_assert(?TOPIC2, 0, Payload)).
|
||||
|
||||
t_publish_no_subscriber_bulk({init, Config}) ->
|
||||
Config;
|
||||
|
@ -267,17 +270,19 @@ t_publish_bulk_dispatch_one_message_invalid_topic(Config) when is_list(Config) -
|
|||
t_publish_bulk_dispatch_failure({init, Config}) ->
|
||||
meck:new(emqx, [no_link, passthrough, no_history]),
|
||||
meck:expect(emqx, is_running, fun() -> false end),
|
||||
Config;
|
||||
t_publish_bulk_dispatch_failure({'end', _Config}) ->
|
||||
meck:unload(emqx),
|
||||
ok;
|
||||
t_publish_bulk_dispatch_failure(Config) when is_list(Config) ->
|
||||
{ok, Client} = emqtt:start_link(#{
|
||||
username => <<"api_username">>, clientid => <<"api_clientid">>
|
||||
}),
|
||||
{ok, _} = emqtt:connect(Client),
|
||||
{ok, _, [0]} = emqtt:subscribe(Client, ?TOPIC1),
|
||||
{ok, _, [0]} = emqtt:subscribe(Client, ?TOPIC2),
|
||||
[{client, Client} | Config];
|
||||
t_publish_bulk_dispatch_failure({'end', Config}) ->
|
||||
meck:unload(emqx),
|
||||
Client = ?config(client, Config),
|
||||
emqtt:stop(Client),
|
||||
ok;
|
||||
t_publish_bulk_dispatch_failure(Config) when is_list(Config) ->
|
||||
Payload = <<"hello">>,
|
||||
Path = emqx_mgmt_api_test_util:api_path(["publish", "bulk"]),
|
||||
Auth = emqx_mgmt_api_test_util:auth_header_(),
|
||||
|
@ -303,8 +308,7 @@ t_publish_bulk_dispatch_failure(Config) when is_list(Config) ->
|
|||
#{<<"reason_code">> := ?RC_NO_MATCHING_SUBSCRIBERS}
|
||||
],
|
||||
decode_json(ResponseBody)
|
||||
),
|
||||
emqtt:stop(Client).
|
||||
).
|
||||
|
||||
receive_assert(Topic, Qos, Payload) ->
|
||||
receive
|
||||
|
|
Loading…
Reference in New Issue