From dc1cb5f0797cba5840fc1fa5e98a0d688383c713 Mon Sep 17 00:00:00 2001 From: Michael Klishin Date: Sat, 2 Jul 2016 22:27:16 +0300 Subject: [PATCH] More tests --- test/per_vhost_connection_limit_SUITE.erl | 52 ++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/test/per_vhost_connection_limit_SUITE.erl b/test/per_vhost_connection_limit_SUITE.erl index ec8d95856824..5a3b5d7260bb 100644 --- a/test/per_vhost_connection_limit_SUITE.erl +++ b/test/per_vhost_connection_limit_SUITE.erl @@ -31,7 +31,8 @@ groups() -> [ {cluster_size_1, [], [ most_basic_single_node_connection_tracking_test, - single_node_single_vhost_connection_tracking_test + single_node_single_vhost_connection_tracking_test, + single_node_multiple_vhost_connection_tracking_test ]} ]. @@ -123,6 +124,55 @@ single_node_single_vhost_connection_tracking_test(Config) -> passed. +single_node_multiple_vhost_connection_tracking_test(Config) -> + VHost1 = <<"vhost1">>, + VHost2 = <<"vhost2">>, + + rabbit_ct_broker_helpers:add_vhost(Config, VHost1), + rabbit_ct_broker_helpers:set_full_permissions(Config, <<"guest">>, VHost1), + + rabbit_ct_broker_helpers:add_vhost(Config, VHost2), + rabbit_ct_broker_helpers:set_full_permissions(Config, <<"guest">>, VHost2), + + ?assertEqual(0, count_connections_in(Config, VHost1)), + ?assertEqual(0, count_connections_in(Config, VHost2)), + + Conn1 = rabbit_ct_client_helpers:open_unmanaged_connection(Config, 0, VHost1), + ?assertEqual(1, count_connections_in(Config, VHost1)), + amqp_connection:close(Conn1), + ?assertEqual(0, count_connections_in(Config, VHost1)), + + Conn2 = rabbit_ct_client_helpers:open_unmanaged_connection(Config, 0, VHost2), + ?assertEqual(1, count_connections_in(Config, VHost2)), + + Conn3 = rabbit_ct_client_helpers:open_unmanaged_connection(Config, 0, VHost1), + ?assertEqual(1, count_connections_in(Config, VHost1)), + ?assertEqual(1, count_connections_in(Config, VHost2)), + + Conn4 = rabbit_ct_client_helpers:open_unmanaged_connection(Config, 0, VHost1), + ?assertEqual(2, count_connections_in(Config, VHost1)), + + (catch exit(Conn4, please_terminate)), + ?assertEqual(1, count_connections_in(Config, VHost1)), + + Conn5 = rabbit_ct_client_helpers:open_unmanaged_connection(Config, 0, VHost2), + ?assertEqual(2, count_connections_in(Config, VHost2)), + + Conn6 = rabbit_ct_client_helpers:open_unmanaged_connection(Config, 0, VHost2), + ?assertEqual(3, count_connections_in(Config, VHost2)), + + lists:foreach(fun (C) -> + amqp_connection:close(C) + end, [Conn2, Conn3, Conn5, Conn6]), + + ?assertEqual(0, count_connections_in(Config, VHost1)), + ?assertEqual(0, count_connections_in(Config, VHost2)), + + rabbit_ct_broker_helpers:delete_vhost(Config, VHost1), + rabbit_ct_broker_helpers:delete_vhost(Config, VHost2), + + passed. + %% ------------------------------------------------------------------- %% Helpers %% -------------------------------------------------------------------