Skip to content

Commit 59e1606

Browse files
committed
refactor how tests get message counts
1 parent dfdce0d commit 59e1606

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed

deps/rabbitmq_ct_helpers/src/queue_utils.erl

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,27 +26,29 @@
2626

2727
wait_for_messages_ready(Servers, QName, Ready) ->
2828
wait_for_messages(Servers, QName, Ready,
29-
fun rabbit_fifo:query_messages_ready/1,
29+
num_ready_messages,
3030
?WFM_DEFAULT_NUMS).
3131

3232
wait_for_messages_pending_ack(Servers, QName, Ready) ->
3333
wait_for_messages(Servers, QName, Ready,
34-
fun rabbit_fifo:query_messages_checked_out/1,
34+
num_checked_out,
3535
?WFM_DEFAULT_NUMS).
3636

3737
wait_for_messages_total(Servers, QName, Total) ->
3838
wait_for_messages(Servers, QName, Total,
39-
fun rabbit_fifo:query_messages_total/1,
39+
num_messages,
4040
?WFM_DEFAULT_NUMS).
4141

42-
wait_for_messages(Servers, QName, Total, Fun) ->
43-
wait_for_messages(Servers, QName, Total, Fun, ?WFM_DEFAULT_NUMS).
42+
wait_for_messages(Servers, QName, Total, Key) ->
43+
wait_for_messages(Servers, QName, Total, Key, ?WFM_DEFAULT_NUMS).
4444

45-
wait_for_messages(Servers, QName, Number, Fun, 0) ->
46-
Msgs = dirty_query(Servers, QName, Fun),
45+
wait_for_messages(Servers, QName, Number, MetricKey, 0) ->
46+
ServerIds = [{QName, S} || S <- Servers],
47+
Msgs = query_messages(ServerIds, MetricKey),
4748
?assertEqual([Number || _ <- lists:seq(1, length(Servers))], Msgs);
48-
wait_for_messages(Servers, QName, Number, Fun, N) ->
49-
Msgs = dirty_query(Servers, QName, Fun),
49+
wait_for_messages(Servers, QName, Number, MetricKey, N) ->
50+
ServerIds = [{QName, S} || S <- Servers],
51+
Msgs = query_messages(ServerIds, MetricKey),
5052
ct:log("Got messages ~tp ~tp", [QName, Msgs]),
5153
%% hack to allow the check to succeed in mixed versions clusters if at
5254
%% least one node matches the criteria rather than all nodes for
@@ -65,9 +67,21 @@ wait_for_messages(Servers, QName, Number, Fun, N) ->
6567
ok;
6668
_ ->
6769
timer:sleep(?WFM_SLEEP),
68-
wait_for_messages(Servers, QName, Number, Fun, N - 1)
70+
wait_for_messages(Servers, QName, Number, MetricKey, N - 1)
6971
end.
7072

73+
query_messages(ServerIds, Key) ->
74+
[begin
75+
try ra:member_overview(ServerId) of
76+
{ok, #{machine := #{Key := Value}}, _} ->
77+
Value;
78+
_ ->
79+
undefined
80+
catch _:_Err ->
81+
undefined
82+
end
83+
end || ServerId <- ServerIds].
84+
7185
wait_for_messages(Config, Stats) ->
7286
wait_for_messages(Config, lists:sort(Stats), ?WFM_DEFAULT_NUMS).
7387

0 commit comments

Comments
 (0)