diff options
author | dcorbacho <dparracorbacho@piotal.io> | 2020-11-18 14:27:41 +0000 |
---|---|---|
committer | dcorbacho <dparracorbacho@piotal.io> | 2020-11-18 14:27:41 +0000 |
commit | f23a51261d9502ec39df0f8db47ba6b22aa7659f (patch) | |
tree | 53dcdf46e7dc2c14e81ee960bce8793879b488d3 /deps/rabbitmq_federation/test/restart_federation_link_command_SUITE.erl | |
parent | afa2c2bf6c7e0e9b63f4fb53dc931c70388e1c82 (diff) | |
parent | 9f6d64ec4a4b1eeac24d7846c5c64fd96798d892 (diff) | |
download | rabbitmq-server-git-stream-timestamp-offset.tar.gz |
Merge remote-tracking branch 'origin/master' into stream-timestamp-offsetstream-timestamp-offset
Diffstat (limited to 'deps/rabbitmq_federation/test/restart_federation_link_command_SUITE.erl')
-rw-r--r-- | deps/rabbitmq_federation/test/restart_federation_link_command_SUITE.erl | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/deps/rabbitmq_federation/test/restart_federation_link_command_SUITE.erl b/deps/rabbitmq_federation/test/restart_federation_link_command_SUITE.erl new file mode 100644 index 0000000000..511bae6540 --- /dev/null +++ b/deps/rabbitmq_federation/test/restart_federation_link_command_SUITE.erl @@ -0,0 +1,101 @@ +%% This Source Code Form is subject to the terms of the Mozilla Public +%% License, v. 2.0. If a copy of the MPL was not distributed with this +%% file, You can obtain one at https://mozilla.org/MPL/2.0/. +%% +%% Copyright (c) 2007-2020 VMware, Inc. or its affiliates. All rights reserved. +%% + +-module(restart_federation_link_command_SUITE). + +-include_lib("common_test/include/ct.hrl"). +-include_lib("amqp_client/include/amqp_client.hrl"). + +-compile(export_all). + +-define(CMD, 'Elixir.RabbitMQ.CLI.Ctl.Commands.RestartFederationLinkCommand'). + +all() -> + [ + {group, federated_down} + ]. + +groups() -> + [ + {federated_down, [], [ + run, + run_not_found, + output + ]} + ]. + +%% ------------------------------------------------------------------- +%% Testsuite setup/teardown. +%% ------------------------------------------------------------------- + +init_per_suite(Config) -> + rabbit_ct_helpers:log_environment(), + Config1 = rabbit_ct_helpers:set_config(Config, [ + {rmq_nodename_suffix, ?MODULE} + ]), + Config2 = rabbit_ct_helpers:run_setup_steps(Config1, + rabbit_ct_broker_helpers:setup_steps() ++ + rabbit_ct_client_helpers:setup_steps()), + Config2. + +end_per_suite(Config) -> + rabbit_ct_helpers:run_teardown_steps(Config, + rabbit_ct_client_helpers:teardown_steps() ++ + rabbit_ct_broker_helpers:teardown_steps()). + +init_per_group(federated_down, Config) -> + rabbit_federation_test_util:setup_down_federation(Config), + Config; +init_per_group(_, Config) -> + Config. + +end_per_group(_, Config) -> + Config. + +init_per_testcase(Testcase, Config) -> + rabbit_ct_helpers:testcase_started(Config, Testcase). + +end_per_testcase(Testcase, Config) -> + rabbit_ct_helpers:testcase_finished(Config, Testcase). + +%% ------------------------------------------------------------------- +%% Testcases. +%% ------------------------------------------------------------------- +run_not_federated(Config) -> + [A] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename), + Opts = #{node => A}, + {stream, []} = ?CMD:run([], Opts#{'only-down' => false}). + +output_not_federated(Config) -> + [A] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename), + Opts = #{node => A}, + {stream, []} = ?CMD:output({stream, []}, Opts). + +run(Config) -> + [A] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename), + Opts = #{node => A}, + rabbit_federation_test_util:with_ch( + Config, + fun(_) -> + timer:sleep(3000), + [Link | _] = rabbit_ct_broker_helpers:rpc(Config, 0, + rabbit_federation_status, status, []), + Id = proplists:get_value(id, Link), + ok = ?CMD:run([Id], Opts) + end, + [rabbit_federation_test_util:q(<<"upstream">>), + rabbit_federation_test_util:q(<<"fed.downstream">>)]). + +run_not_found(Config) -> + [A] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename), + Opts = #{node => A}, + {error, _ErrorMsg} = ?CMD:run([<<"MakingItUp">>], Opts). + +output(Config) -> + [A] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename), + Opts = #{node => A}, + ok = ?CMD:output(ok, Opts). |