Add a unit test for rabbit_amqqueue:mark_local_durable_queues_stopped/1

This commit is contained in:
Michael Davis 2024-03-14 13:39:02 -04:00
parent 091d74c98c
commit 8a03b28880
No known key found for this signature in database
1 changed files with 19 additions and 0 deletions

View File

@ -51,6 +51,7 @@ all_tests() ->
get_durable,
get_many_durable,
update_durable,
mark_local_durable_queues_stopped,
foreach_durable,
internal_delete
].
@ -463,6 +464,24 @@ update_durable1(_Config) ->
?assertMatch(my_policy, amqqueue:get_policy(Q0)),
passed.
mark_local_durable_queues_stopped(Config) ->
passed = rabbit_ct_broker_helpers:rpc(Config, 0,
?MODULE, mark_local_durable_queues_stopped1, [Config]).
mark_local_durable_queues_stopped1(_Config) ->
DurableQName = rabbit_misc:r(?VHOST, queue, <<"test-queue1">>),
TransientQName = rabbit_misc:r(?VHOST, queue, <<"test-queue2">>),
DurableQ = new_queue(DurableQName, rabbit_classic_queue),
TransientQ = new_queue(TransientQName, rabbit_classic_queue),
%% Set Q1's pid to a dead process
RecoverableQ = amqqueue:set_pid(DurableQ, spawn(fun() -> ok end)),
?assertEqual(ok, rabbit_db_queue:set(RecoverableQ)),
?assertEqual(ok, rabbit_db_queue:set_dirty(TransientQ)),
?assertEqual(ok, rabbit_amqqueue:mark_local_durable_queues_stopped(?VHOST)),
{ok, StoppedQ} = rabbit_db_queue:get_durable(DurableQName),
?assertEqual(stopped, amqqueue:get_state(StoppedQ)),
passed.
foreach_durable(Config) ->
passed = rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, foreach_durable1, [Config]).