diff options
| author | Daniil Fedotov <hairyhum@gmail.com> | 2019-01-28 20:49:05 +0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-01-28 20:49:05 +0400 |
| commit | dd947c6081e5497e74aa2ba8ff4386971bac69dc (patch) | |
| tree | eff2f2f31d572615bc2453378f3b760d1323bb9f /test | |
| parent | a4b602567081b28c4bc53ac5995b5c054a305da9 (diff) | |
| parent | dcf663fcf99eeefb1c0de07e7389b47988cfbd92 (diff) | |
| download | rabbitmq-server-git-dd947c6081e5497e74aa2ba8ff4386971bac69dc.tar.gz | |
Merge pull request #1839 from rabbitmq/rabbitmq-server-1838-active-field-for-consumers
Update active flag for consumers
Diffstat (limited to 'test')
| -rw-r--r-- | test/rabbit_core_metrics_gc_SUITE.erl | 2 | ||||
| -rw-r--r-- | test/unit_queue_consumers_SUITE.erl | 30 |
2 files changed, 30 insertions, 2 deletions
diff --git a/test/rabbit_core_metrics_gc_SUITE.erl b/test/rabbit_core_metrics_gc_SUITE.erl index 0518c05dbd..7ae43aa7e1 100644 --- a/test/rabbit_core_metrics_gc_SUITE.erl +++ b/test/rabbit_core_metrics_gc_SUITE.erl @@ -300,7 +300,7 @@ consumer_metrics(Config) -> CTag = <<"tag">>, rabbit_ct_broker_helpers:rpc(Config, A, rabbit_core_metrics, consumer_created, [DeadPid, CTag, true, true, - QName, 1, false, []]), + QName, 1, false, waiting, []]), Id = {QName, DeadPid, CTag}, [_] = rabbit_ct_broker_helpers:rpc(Config, A, ets, lookup, [consumer_created, Id]), 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) -> |
