feat(queue): add new test scenarios
This commit is contained in:
parent
bceb5d43ed
commit
8f0d807c00
|
@ -67,6 +67,91 @@ t_lease_initial(_Config) ->
|
||||||
ok = emqtt:disconnect(ConnShared),
|
ok = emqtt:disconnect(ConnShared),
|
||||||
ok = emqtt:disconnect(ConnPub).
|
ok = emqtt:disconnect(ConnPub).
|
||||||
|
|
||||||
|
t_two_clients(_Config) ->
|
||||||
|
ConnShared1 = emqtt_connect_sub(<<"client_shared1">>),
|
||||||
|
{ok, _, _} = emqtt:subscribe(ConnShared1, <<"$share/gr4/topic4/#">>, 1),
|
||||||
|
|
||||||
|
ConnShared2 = emqtt_connect_sub(<<"client_shared2">>),
|
||||||
|
{ok, _, _} = emqtt:subscribe(ConnShared2, <<"$share/gr4/topic4/#">>, 1),
|
||||||
|
|
||||||
|
ConnPub = emqtt_connect_pub(<<"client_pub">>),
|
||||||
|
|
||||||
|
{ok, _} = emqtt:publish(ConnPub, <<"topic4/1">>, <<"hello1">>, 1),
|
||||||
|
{ok, _} = emqtt:publish(ConnPub, <<"topic4/2">>, <<"hello2">>, 1),
|
||||||
|
ct:sleep(2_000),
|
||||||
|
{ok, _} = emqtt:publish(ConnPub, <<"topic4/1">>, <<"hello3">>, 1),
|
||||||
|
{ok, _} = emqtt:publish(ConnPub, <<"topic4/2">>, <<"hello4">>, 1),
|
||||||
|
|
||||||
|
?assertReceive({publish, #{payload := <<"hello1">>}}, 10_000),
|
||||||
|
?assertReceive({publish, #{payload := <<"hello2">>}}, 10_000),
|
||||||
|
?assertReceive({publish, #{payload := <<"hello3">>}}, 10_000),
|
||||||
|
?assertReceive({publish, #{payload := <<"hello4">>}}, 10_000),
|
||||||
|
|
||||||
|
ok = emqtt:disconnect(ConnShared1),
|
||||||
|
ok = emqtt:disconnect(ConnShared2),
|
||||||
|
ok = emqtt:disconnect(ConnPub).
|
||||||
|
|
||||||
|
t_client_loss(_Config) ->
|
||||||
|
process_flag(trap_exit, true),
|
||||||
|
|
||||||
|
ConnShared1 = emqtt_connect_sub(<<"client_shared1">>),
|
||||||
|
{ok, _, _} = emqtt:subscribe(ConnShared1, <<"$share/gr5/topic5/#">>, 1),
|
||||||
|
|
||||||
|
ConnShared2 = emqtt_connect_sub(<<"client_shared2">>),
|
||||||
|
{ok, _, _} = emqtt:subscribe(ConnShared2, <<"$share/gr5/topic5/#">>, 1),
|
||||||
|
|
||||||
|
ConnPub = emqtt_connect_pub(<<"client_pub">>),
|
||||||
|
|
||||||
|
{ok, _} = emqtt:publish(ConnPub, <<"topic5/1">>, <<"hello1">>, 1),
|
||||||
|
{ok, _} = emqtt:publish(ConnPub, <<"topic5/2">>, <<"hello2">>, 1),
|
||||||
|
|
||||||
|
exit(ConnShared1, kill),
|
||||||
|
|
||||||
|
{ok, _} = emqtt:publish(ConnPub, <<"topic5/1">>, <<"hello3">>, 1),
|
||||||
|
{ok, _} = emqtt:publish(ConnPub, <<"topic5/2">>, <<"hello4">>, 1),
|
||||||
|
|
||||||
|
?assertReceive({publish, #{payload := <<"hello3">>}}, 10_000),
|
||||||
|
?assertReceive({publish, #{payload := <<"hello4">>}}, 10_000),
|
||||||
|
|
||||||
|
ok = emqtt:disconnect(ConnShared2),
|
||||||
|
ok = emqtt:disconnect(ConnPub).
|
||||||
|
|
||||||
|
t_stream_revoke(_Config) ->
|
||||||
|
process_flag(trap_exit, true),
|
||||||
|
|
||||||
|
ConnShared1 = emqtt_connect_sub(<<"client_shared1">>),
|
||||||
|
{ok, _, _} = emqtt:subscribe(ConnShared1, <<"$share/gr6/topic6/#">>, 1),
|
||||||
|
|
||||||
|
ConnPub = emqtt_connect_pub(<<"client_pub">>),
|
||||||
|
|
||||||
|
{ok, _} = emqtt:publish(ConnPub, <<"topic6/1">>, <<"hello1">>, 1),
|
||||||
|
{ok, _} = emqtt:publish(ConnPub, <<"topic6/2">>, <<"hello2">>, 1),
|
||||||
|
|
||||||
|
?assertReceive({publish, #{payload := <<"hello1">>}}, 10_000),
|
||||||
|
?assertReceive({publish, #{payload := <<"hello2">>}}, 10_000),
|
||||||
|
|
||||||
|
ConnShared2 = emqtt_connect_sub(<<"client_shared2">>),
|
||||||
|
|
||||||
|
?assertWaitEvent(
|
||||||
|
{ok, _, _} = emqtt:subscribe(ConnShared2, <<"$share/gr6/topic6/#">>, 1),
|
||||||
|
#{
|
||||||
|
?snk_kind := shared_sub_group_sm_leader_update_streams,
|
||||||
|
stream_progresses := [_ | _],
|
||||||
|
id := <<"client_shared2">>
|
||||||
|
},
|
||||||
|
5_000
|
||||||
|
),
|
||||||
|
|
||||||
|
{ok, _} = emqtt:publish(ConnPub, <<"topic6/1">>, <<"hello3">>, 1),
|
||||||
|
{ok, _} = emqtt:publish(ConnPub, <<"topic6/2">>, <<"hello4">>, 1),
|
||||||
|
|
||||||
|
?assertReceive({publish, #{payload := <<"hello3">>}}, 10_000),
|
||||||
|
?assertReceive({publish, #{payload := <<"hello4">>}}, 10_000),
|
||||||
|
|
||||||
|
ok = emqtt:disconnect(ConnShared1),
|
||||||
|
ok = emqtt:disconnect(ConnShared2),
|
||||||
|
ok = emqtt:disconnect(ConnPub).
|
||||||
|
|
||||||
t_lease_reconnect(_Config) ->
|
t_lease_reconnect(_Config) ->
|
||||||
ConnPub = emqtt_connect_pub(<<"client_pub">>),
|
ConnPub = emqtt_connect_pub(<<"client_pub">>),
|
||||||
|
|
||||||
|
@ -127,7 +212,7 @@ t_renew_lease_timeout(_Config) ->
|
||||||
|
|
||||||
emqtt_connect_sub(ClientId) ->
|
emqtt_connect_sub(ClientId) ->
|
||||||
{ok, C} = emqtt:start_link([
|
{ok, C} = emqtt:start_link([
|
||||||
{client_id, ClientId},
|
{clientid, ClientId},
|
||||||
{clean_start, true},
|
{clean_start, true},
|
||||||
{proto_ver, v5},
|
{proto_ver, v5},
|
||||||
{properties, #{'Session-Expiry-Interval' => 7_200}}
|
{properties, #{'Session-Expiry-Interval' => 7_200}}
|
||||||
|
@ -137,7 +222,7 @@ emqtt_connect_sub(ClientId) ->
|
||||||
|
|
||||||
emqtt_connect_pub(ClientId) ->
|
emqtt_connect_pub(ClientId) ->
|
||||||
{ok, C} = emqtt:start_link([
|
{ok, C} = emqtt:start_link([
|
||||||
{client_id, ClientId},
|
{clientid, ClientId},
|
||||||
{clean_start, true},
|
{clean_start, true},
|
||||||
{proto_ver, v5}
|
{proto_ver, v5}
|
||||||
]),
|
]),
|
||||||
|
|
Loading…
Reference in New Issue