diff options
| author | Arnaud Cogoluègnes <acogoluegnes@gmail.com> | 2019-01-21 14:34:52 +0100 |
|---|---|---|
| committer | Arnaud Cogoluègnes <acogoluegnes@gmail.com> | 2019-01-21 14:34:52 +0100 |
| commit | 9f40da59d21e38c68659580338224d14c2a29337 (patch) | |
| tree | e66d1571cfd447372c49e6f57daab6007d449550 /test | |
| parent | dc9b575d8f81a990b531e7c89bb473bf66a7dbef (diff) | |
| download | rabbitmq-server-git-9f40da59d21e38c68659580338224d14c2a29337.tar.gz | |
Return active and activity status when listing consumers
[#163298456]
Fixes #1838
Diffstat (limited to 'test')
| -rw-r--r-- | test/unit_queue_consumers_SUITE.erl | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/test/unit_queue_consumers_SUITE.erl b/test/unit_queue_consumers_SUITE.erl index 08b2da4574..39838b0874 100644 --- a/test/unit_queue_consumers_SUITE.erl +++ b/test/unit_queue_consumers_SUITE.erl @@ -25,7 +25,8 @@ all() -> [ is_same, get_consumer, - get + get, + list_consumers ]. is_same(_Config) -> @@ -79,6 +80,33 @@ get_consumer(_Config) -> ), ok. +list_consumers(_Config) -> + State = state(consumers([consumer(self(), <<"1">>), consumer(self(), <<"2">>), consumer(self(), <<"3">>)])), + Consumer = rabbit_queue_consumers:get_consumer(State), + {_Pid, ConsumerRecord} = Consumer, + CTag = rabbit_queue_consumers:consumer_tag(ConsumerRecord), + ConsumersWithSingleActive = rabbit_queue_consumers:all(State, Consumer, true), + ?assertEqual(3, length(ConsumersWithSingleActive)), + lists:foldl(fun({Pid, Tag, _, _, Active, ActivityStatus, _, _}, _Acc) -> + ?assertEqual(self(), Pid), + case Tag of + CTag -> + ?assert(Active), + ?assertEqual(single_active, ActivityStatus); + _ -> + ?assertNot(Active), + ?assertEqual(waiting, ActivityStatus) + end + end, [], ConsumersWithSingleActive), + ConsumersNoSingleActive = rabbit_queue_consumers:all(State, none, false), + ?assertEqual(3, length(ConsumersNoSingleActive)), + lists:foldl(fun({Pid, _, _, _, Active, ActivityStatus, _, _}, _Acc) -> + ?assertEqual(self(), Pid), + ?assert(Active), + ?assertEqual(up, ActivityStatus) + end, [], ConsumersNoSingleActive), + ok. + consumers([]) -> priority_queue:new(); consumers(Consumers) -> |
