Deflake per_user_connection_tracking_SUITE
This commit is contained in:
parent
6def891d42
commit
fd1d037874
|
@ -100,60 +100,64 @@ end_per_testcase(Testcase, Config) ->
|
||||||
%% Test cases.
|
%% Test cases.
|
||||||
%% -------------------------------------------------------------------
|
%% -------------------------------------------------------------------
|
||||||
single_node_list_of_user(Config) ->
|
single_node_list_of_user(Config) ->
|
||||||
Username = proplists:get_value(rmq_username, Config),
|
Username1 = list_to_binary(atom_to_list(?FUNCTION_NAME) ++ "-1"),
|
||||||
Username2 = <<"guest2">>,
|
Username2 = list_to_binary(atom_to_list(?FUNCTION_NAME) ++ "-2"),
|
||||||
|
|
||||||
Vhost = proplists:get_value(rmq_vhost, Config),
|
Vhost = proplists:get_value(rmq_vhost, Config),
|
||||||
|
|
||||||
rabbit_ct_broker_helpers:add_user(Config, Username2),
|
[ begin
|
||||||
rabbit_ct_broker_helpers:set_full_permissions(Config, Username2, Vhost),
|
rabbit_ct_broker_helpers:add_user(Config, U),
|
||||||
|
rabbit_ct_broker_helpers:set_full_permissions(Config, U, Vhost)
|
||||||
|
end || U <- [Username1, Username2]],
|
||||||
|
|
||||||
?assertEqual(0, count_connections_in(Config, Username)),
|
?assertEqual(0, count_connections_in(Config, Username1)),
|
||||||
?assertEqual(0, count_connections_in(Config, Username2)),
|
?assertEqual(0, count_connections_in(Config, Username2)),
|
||||||
|
|
||||||
[Conn1] = open_connections(Config, [0]),
|
[Conn1] = open_connections(Config, [{0, Username1}]),
|
||||||
?awaitMatch(1, count_connections_in(Config, Username), ?AWAIT_TIMEOUT),
|
?awaitMatch(1, count_connections_in(Config, Username1), ?AWAIT_TIMEOUT),
|
||||||
[#tracked_connection{username = Username}] = connections_in(Config, Username),
|
[#tracked_connection{username = Username1}] = connections_in(Config, Username1),
|
||||||
close_connections([Conn1]),
|
close_connections([Conn1]),
|
||||||
?awaitMatch(0, count_connections_in(Config, Username), ?AWAIT_TIMEOUT),
|
?awaitMatch(0, count_connections_in(Config, Username1), ?AWAIT_TIMEOUT),
|
||||||
|
|
||||||
[Conn2] = open_connections(Config, [{0, Username2}]),
|
[Conn2] = open_connections(Config, [{0, Username2}]),
|
||||||
?awaitMatch(1, count_connections_in(Config, Username2), ?AWAIT_TIMEOUT),
|
?awaitMatch(1, count_connections_in(Config, Username2), ?AWAIT_TIMEOUT),
|
||||||
[#tracked_connection{username = Username2}] = connections_in(Config, Username2),
|
[#tracked_connection{username = Username2}] = connections_in(Config, Username2),
|
||||||
|
|
||||||
[Conn3] = open_connections(Config, [0]),
|
[Conn3] = open_connections(Config, [{0, Username1}]),
|
||||||
?awaitMatch(1, count_connections_in(Config, Username), ?AWAIT_TIMEOUT),
|
?awaitMatch(1, count_connections_in(Config, Username1), ?AWAIT_TIMEOUT),
|
||||||
[#tracked_connection{username = Username}] = connections_in(Config, Username),
|
[#tracked_connection{username = Username1}] = connections_in(Config, Username1),
|
||||||
|
|
||||||
[Conn4] = open_connections(Config, [0]),
|
[Conn4] = open_connections(Config, [{0, Username1}]),
|
||||||
kill_connections([Conn4]),
|
kill_connections([Conn4]),
|
||||||
?awaitMatch(1, count_connections_in(Config, Username), ?AWAIT_TIMEOUT),
|
?awaitMatch(1, count_connections_in(Config, Username1), ?AWAIT_TIMEOUT),
|
||||||
[#tracked_connection{username = Username}] = connections_in(Config, Username),
|
[#tracked_connection{username = Username1}] = connections_in(Config, Username1),
|
||||||
|
|
||||||
[Conn5] = open_connections(Config, [0]),
|
[Conn5] = open_connections(Config, [{0, Username1}]),
|
||||||
?awaitMatch(2, count_connections_in(Config, Username), ?AWAIT_TIMEOUT),
|
?awaitMatch(2, count_connections_in(Config, Username1), ?AWAIT_TIMEOUT),
|
||||||
[Username, Username] =
|
[Username1, Username1] =
|
||||||
lists:map(fun (#tracked_connection{username = U}) -> U end,
|
lists:map(fun (#tracked_connection{username = U}) -> U end,
|
||||||
connections_in(Config, Username)),
|
connections_in(Config, Username1)),
|
||||||
|
|
||||||
close_connections([Conn2, Conn3, Conn5]),
|
close_connections([Conn2, Conn3, Conn5]),
|
||||||
rabbit_ct_broker_helpers:delete_user(Config, Username2),
|
rabbit_ct_broker_helpers:delete_user(Config, Username2),
|
||||||
?awaitMatch(0, length(all_connections(Config)), ?AWAIT_TIMEOUT).
|
?awaitMatch(0, length(all_connections(Config)), ?AWAIT_TIMEOUT).
|
||||||
|
|
||||||
single_node_user_deletion_forces_connection_closure(Config) ->
|
single_node_user_deletion_forces_connection_closure(Config) ->
|
||||||
Username = proplists:get_value(rmq_username, Config),
|
Username1 = list_to_binary(atom_to_list(?FUNCTION_NAME) ++ "-1"),
|
||||||
Username2 = <<"guest2">>,
|
Username2 = list_to_binary(atom_to_list(?FUNCTION_NAME) ++ "-2"),
|
||||||
|
|
||||||
Vhost = proplists:get_value(rmq_vhost, Config),
|
Vhost = proplists:get_value(rmq_vhost, Config),
|
||||||
|
|
||||||
rabbit_ct_broker_helpers:add_user(Config, Username2),
|
[ begin
|
||||||
rabbit_ct_broker_helpers:set_full_permissions(Config, Username2, Vhost),
|
rabbit_ct_broker_helpers:add_user(Config, U),
|
||||||
|
rabbit_ct_broker_helpers:set_full_permissions(Config, U, Vhost)
|
||||||
|
end || U <- [Username1, Username2]],
|
||||||
|
|
||||||
?assertEqual(0, count_connections_in(Config, Username)),
|
?assertEqual(0, count_connections_in(Config, Username1)),
|
||||||
?assertEqual(0, count_connections_in(Config, Username2)),
|
?assertEqual(0, count_connections_in(Config, Username2)),
|
||||||
|
|
||||||
[Conn1] = open_connections(Config, [0]),
|
[Conn1] = open_connections(Config, [{0, Username1}]),
|
||||||
?awaitMatch(1, count_connections_in(Config, Username), ?AWAIT_TIMEOUT),
|
?awaitMatch(1, count_connections_in(Config, Username1), ?AWAIT_TIMEOUT),
|
||||||
|
|
||||||
[_Conn2] = open_connections(Config, [{0, Username2}]),
|
[_Conn2] = open_connections(Config, [{0, Username2}]),
|
||||||
?awaitMatch(1, count_connections_in(Config, Username2), ?AWAIT_TIMEOUT),
|
?awaitMatch(1, count_connections_in(Config, Username2), ?AWAIT_TIMEOUT),
|
||||||
|
@ -162,22 +166,24 @@ single_node_user_deletion_forces_connection_closure(Config) ->
|
||||||
?awaitMatch(0, count_connections_in(Config, Username2), ?AWAIT_TIMEOUT),
|
?awaitMatch(0, count_connections_in(Config, Username2), ?AWAIT_TIMEOUT),
|
||||||
|
|
||||||
close_connections([Conn1]),
|
close_connections([Conn1]),
|
||||||
?awaitMatch(0, count_connections_in(Config, Username), ?AWAIT_TIMEOUT).
|
?awaitMatch(0, count_connections_in(Config, Username1), ?AWAIT_TIMEOUT).
|
||||||
|
|
||||||
cluster_user_deletion_forces_connection_closure(Config) ->
|
cluster_user_deletion_forces_connection_closure(Config) ->
|
||||||
Username = proplists:get_value(rmq_username, Config),
|
Username1 = list_to_binary(atom_to_list(?FUNCTION_NAME) ++ "-1"),
|
||||||
Username2 = <<"guest2">>,
|
Username2 = list_to_binary(atom_to_list(?FUNCTION_NAME) ++ "-2"),
|
||||||
|
|
||||||
Vhost = proplists:get_value(rmq_vhost, Config),
|
Vhost = proplists:get_value(rmq_vhost, Config),
|
||||||
|
|
||||||
rabbit_ct_broker_helpers:add_user(Config, Username2),
|
[ begin
|
||||||
rabbit_ct_broker_helpers:set_full_permissions(Config, Username2, Vhost),
|
rabbit_ct_broker_helpers:add_user(Config, U),
|
||||||
|
rabbit_ct_broker_helpers:set_full_permissions(Config, U, Vhost)
|
||||||
|
end || U <- [Username1, Username2]],
|
||||||
|
|
||||||
?assertEqual(0, count_connections_in(Config, Username)),
|
?assertEqual(0, count_connections_in(Config, Username1)),
|
||||||
?assertEqual(0, count_connections_in(Config, Username2)),
|
?assertEqual(0, count_connections_in(Config, Username2)),
|
||||||
|
|
||||||
[Conn1] = open_connections(Config, [{0, Username}]),
|
[Conn1] = open_connections(Config, [{0, Username1}]),
|
||||||
?awaitMatch(1, count_connections_in(Config, Username), ?AWAIT_TIMEOUT),
|
?awaitMatch(1, count_connections_in(Config, Username1), ?AWAIT_TIMEOUT),
|
||||||
|
|
||||||
[_Conn2] = open_connections(Config, [{1, Username2}]),
|
[_Conn2] = open_connections(Config, [{1, Username2}]),
|
||||||
?awaitMatch(1, count_connections_in(Config, Username2), ?AWAIT_TIMEOUT),
|
?awaitMatch(1, count_connections_in(Config, Username2), ?AWAIT_TIMEOUT),
|
||||||
|
@ -186,7 +192,7 @@ cluster_user_deletion_forces_connection_closure(Config) ->
|
||||||
?awaitMatch(0, count_connections_in(Config, Username2), ?AWAIT_TIMEOUT),
|
?awaitMatch(0, count_connections_in(Config, Username2), ?AWAIT_TIMEOUT),
|
||||||
|
|
||||||
close_connections([Conn1]),
|
close_connections([Conn1]),
|
||||||
?awaitMatch(0, count_connections_in(Config, Username), ?AWAIT_TIMEOUT).
|
?awaitMatch(0, count_connections_in(Config, Username1), ?AWAIT_TIMEOUT).
|
||||||
|
|
||||||
%% -------------------------------------------------------------------
|
%% -------------------------------------------------------------------
|
||||||
%% Helpers
|
%% Helpers
|
||||||
|
|
Loading…
Reference in New Issue