Skip to content

Commit 843db2b

Browse files
committed
#354 | test for metrics for publishes and failures to publish
1 parent c215793 commit 843db2b

File tree

1 file changed

+49
-3
lines changed

1 file changed

+49
-3
lines changed

src/test/java/com/rabbitmq/client/test/MetricsCollectorTest.java

Lines changed: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,12 @@
2626
import org.junit.runner.RunWith;
2727
import org.junit.runners.Parameterized;
2828

29-
import static org.hamcrest.Matchers.*;
30-
import static org.junit.Assert.*;
31-
import static org.mockito.Mockito.*;
29+
import java.io.IOException;
30+
31+
import static org.hamcrest.Matchers.is;
32+
import static org.junit.Assert.assertThat;
33+
import static org.mockito.Mockito.mock;
34+
import static org.mockito.Mockito.when;
3235

3336
/**
3437
*
@@ -116,7 +119,34 @@ public void basicGetAndAck() {
116119

117120
metrics.basicAck(channel, 10, true);
118121
assertThat(acknowledgedMessages(metrics), is(1L+2L+1L));
122+
}
123+
124+
@Test public void publishingAndPublishingFailures() {
125+
AbstractMetricsCollector metrics = factory.create();
126+
Channel channel = mock(Channel.class);
127+
128+
assertThat(failedToPublishMessages(metrics), is(0L));
129+
assertThat(publishedMessages(metrics), is(0L));
119130

131+
metrics.basicPublishFailure(channel, new IOException());
132+
assertThat(failedToPublishMessages(metrics), is(1L));
133+
assertThat(publishedMessages(metrics), is(0L));
134+
135+
metrics.basicPublish(channel);
136+
assertThat(failedToPublishMessages(metrics), is(1L));
137+
assertThat(publishedMessages(metrics), is(1L));
138+
139+
metrics.basicPublishFailure(channel, new IOException());
140+
assertThat(failedToPublishMessages(metrics), is(2L));
141+
assertThat(publishedMessages(metrics), is(1L));
142+
143+
metrics.basicPublish(channel);
144+
assertThat(failedToPublishMessages(metrics), is(2L));
145+
assertThat(publishedMessages(metrics), is(2L));
146+
147+
metrics.cleanStaleState();
148+
assertThat(failedToPublishMessages(metrics), is(2L));
149+
assertThat(publishedMessages(metrics), is(2L));
120150
}
121151

122152
@Test public void cleanStaleState() {
@@ -159,6 +189,22 @@ public void basicGetAndAck() {
159189
assertThat(channels(metrics), is(1L));
160190
}
161191

192+
long publishedMessages(MetricsCollector metrics) {
193+
if (metrics instanceof StandardMetricsCollector) {
194+
return ((StandardMetricsCollector) metrics).getPublishedMessages().getCount();
195+
} else {
196+
return (long) ((MicrometerMetricsCollector) metrics).getPublishedMessages().count();
197+
}
198+
}
199+
200+
long failedToPublishMessages(MetricsCollector metrics) {
201+
if (metrics instanceof StandardMetricsCollector) {
202+
return ((StandardMetricsCollector) metrics).getFailedToPublishMessages().getCount();
203+
} else {
204+
return (long) ((MicrometerMetricsCollector) metrics).getFailedToPublishMessages().count();
205+
}
206+
}
207+
162208
long consumedMessages(MetricsCollector metrics) {
163209
if (metrics instanceof StandardMetricsCollector) {
164210
return ((StandardMetricsCollector) metrics).getConsumedMessages().getCount();

0 commit comments

Comments
 (0)