diff options
| author | Daniil Fedotov <hairyhum@gmail.com> | 2018-04-18 18:02:51 +0100 |
|---|---|---|
| committer | Daniil Fedotov <hairyhum@gmail.com> | 2018-04-18 18:02:51 +0100 |
| commit | ae7bf1ffa4af2158d8b70239451915d50e77c49d (patch) | |
| tree | 0091bb66bd171d6039fa0b936ed25d4ddce3361b /test | |
| parent | 0c6a4dc64b61f40d0cb50bfa0dd32b41e783a4fe (diff) | |
| download | rabbitmq-server-git-ae7bf1ffa4af2158d8b70239451915d50e77c49d.tar.gz | |
Test that ha-promote-on-failure takes precedence over ha-promote-on-shutdown
Diffstat (limited to 'test')
| -rw-r--r-- | test/dynamic_ha_SUITE.erl | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/test/dynamic_ha_SUITE.erl b/test/dynamic_ha_SUITE.erl index 7335442f5a..1d455bb290 100644 --- a/test/dynamic_ha_SUITE.erl +++ b/test/dynamic_ha_SUITE.erl @@ -321,23 +321,28 @@ promote_on_failure(Config) -> durable = true}), ok. - promote_on_shutdown(Config) -> [A, B] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename), rabbit_ct_broker_helpers:set_ha_policy(Config, A, <<"^ha.promote">>, <<"all">>, [{<<"ha-promote-on-shutdown">>, <<"always">>}]), rabbit_ct_broker_helpers:set_ha_policy(Config, A, <<"^ha.nopromote">>, <<"all">>), + rabbit_ct_broker_helpers:set_ha_policy(Config, A, <<"^ha.nopromoteonfailure">>, + <<"all">>, [{<<"ha-promote-on-failure">>, <<"when-synced">>}, + {<<"ha-promote-on-shutdown">>, <<"always">>}]), ACh = rabbit_ct_client_helpers:open_channel(Config, A), [begin amqp_channel:call(ACh, #'queue.declare'{queue = Q, durable = true}), rabbit_ct_client_helpers:publish(ACh, Q, 10) - end || Q <- [<<"ha.promote.test">>, <<"ha.nopromote.test">>]], + end || Q <- [<<"ha.promote.test">>, + <<"ha.nopromote.test">>, + <<"ha.nopromoteonfailure.test">>]], ok = rabbit_ct_broker_helpers:restart_node(Config, B), ok = rabbit_ct_broker_helpers:stop_node(Config, A), BCh = rabbit_ct_client_helpers:open_channel(Config, B), + BCh1 = rabbit_ct_client_helpers:open_channel(Config, B), #'queue.declare_ok'{message_count = 0} = amqp_channel:call( BCh, #'queue.declare'{queue = <<"ha.promote.test">>, @@ -347,12 +352,21 @@ promote_on_shutdown(Config) -> amqp_channel:call( BCh, #'queue.declare'{queue = <<"ha.nopromote.test">>, durable = true})), + ?assertExit( + {{shutdown, {server_initiated_close, 404, _}}, _}, + amqp_channel:call( + BCh1, #'queue.declare'{queue = <<"ha.nopromoteonfailure.test">>, + durable = true})), ok = rabbit_ct_broker_helpers:start_node(Config, A), ACh2 = rabbit_ct_client_helpers:open_channel(Config, A), #'queue.declare_ok'{message_count = 10} = amqp_channel:call( ACh2, #'queue.declare'{queue = <<"ha.nopromote.test">>, durable = true}), + #'queue.declare_ok'{message_count = 10} = + amqp_channel:call( + ACh2, #'queue.declare'{queue = <<"ha.nopromoteonfailure.test">>, + durable = true}), ok. nodes_policy_should_pick_master_from_its_params(Config) -> |
