summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLuke Bakken <lbakken@pivotal.io>2017-06-23 10:03:57 -0700
committerLuke Bakken <luke@bakken.io>2017-06-28 08:19:45 -0700
commit20e0080aa3f1f4c3ee86054bfb71f4aacb9af714 (patch)
tree1a3175cb9813dba52649977762b0dbc5f9cfed1e /test
parent439cbf1389079d695e7b6e846b0f54a3892409ce (diff)
downloadrabbitmq-server-git-20e0080aa3f1f4c3ee86054bfb71f4aacb9af714.tar.gz
Add test skel to repro gh-427 in rabbitmq-management
Diffstat (limited to 'test')
-rw-r--r--test/rabbit_core_metrics_gc_SUITE.erl57
1 files changed, 46 insertions, 11 deletions
diff --git a/test/rabbit_core_metrics_gc_SUITE.erl b/test/rabbit_core_metrics_gc_SUITE.erl
index 0ef86717ac..79a40371ee 100644
--- a/test/rabbit_core_metrics_gc_SUITE.erl
+++ b/test/rabbit_core_metrics_gc_SUITE.erl
@@ -24,7 +24,8 @@
all() ->
[
- {group, non_parallel_tests}
+ {group, non_parallel_tests},
+ {group, cluster_tests}
].
groups() ->
@@ -37,7 +38,8 @@ groups() ->
gen_server2_metrics,
consumer_metrics
]
- }
+ },
+ {cluster_tests, [], [cluster_queue_metrics]}
].
%% -------------------------------------------------------------------
@@ -52,7 +54,15 @@ merge_app_env(Config) ->
{collect_statistics, fine}
]}).
-init_per_suite(Config) ->
+init_per_group(cluster_tests, Config) ->
+ Config1 = rabbit_ct_helpers:set_config(Config, [
+ {rmq_nodename_suffix, cluster_tests},
+ {rmq_nodes_count, 2}
+ ]),
+ rabbit_ct_helpers:run_setup_steps(
+ Config1,
+ [ fun merge_app_env/1 ] ++ rabbit_ct_broker_helpers:setup_steps());
+init_per_group(non_parallel_tests, Config) ->
rabbit_ct_helpers:log_environment(),
Config1 = rabbit_ct_helpers:set_config(Config, [
{rmq_nodename_suffix, ?MODULE}
@@ -61,17 +71,11 @@ init_per_suite(Config) ->
Config1,
[ fun merge_app_env/1 ] ++ rabbit_ct_broker_helpers:setup_steps()).
-end_per_suite(Config) ->
+end_per_group(_, Config) ->
rabbit_ct_helpers:run_teardown_steps(
Config,
rabbit_ct_broker_helpers:teardown_steps()).
-init_per_group(_, Config) ->
- Config.
-
-end_per_group(_, Config) ->
- Config.
-
init_per_testcase(Testcase, Config) ->
rabbit_ct_helpers:testcase_started(Config, Testcase),
rabbit_ct_helpers:run_steps(Config,
@@ -84,7 +88,7 @@ end_per_testcase(Testcase, Config) ->
rabbit_ct_client_helpers:teardown_steps()).
%% -------------------------------------------------------------------
-%% Testcases.
+%% Single-node Testcases.
%% -------------------------------------------------------------------
queue_metrics(Config) ->
@@ -329,3 +333,34 @@ x(Name) ->
#resource{ virtual_host = <<"/">>,
kind = exchange,
name = Name }.
+
+%% -------------------------------------------------------------------
+%% Cluster Testcases.
+%% -------------------------------------------------------------------
+
+cluster_queue_metrics(Config) ->
+ QueueName = <<"cluster_queue_metrics">>,
+
+ A = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename),
+ Ch = rabbit_ct_client_helpers:open_channel(Config, A),
+
+ amqp_channel:call(Ch, #'queue.declare'{queue = QueueName}),
+ amqp_channel:call(Ch, #'basic.publish'{routing_key = QueueName},
+ #amqp_msg{payload = <<"hello">>}),
+
+ % Create queue
+ % Publish message
+ % Apply policy
+ % Update policy to point to other node
+ % Synchronize
+ % Check ETS table for data
+ % ets:tab2list(queue_coarse_metrics).
+ NodeConfig = rabbit_ct_broker_helpers:get_node_config(Config, 0),
+ NodeName = ?config(nodename, NodeConfig),
+ Params = [NodeName],
+ Definition = [{<<"ha-mode">>, <<"nodes">>}, {<<"ha-params">>, Params}],
+ set_policy(Config, 0, <<"ha-policy-1">>, <<".*">>, queues, Definition),
+
+ amqp_channel:call(Ch, #'queue.delete'{queue=QueueName}),
+ rabbit_ct_client_helpers:close_channel(Ch),
+ Config.