Skip to content

Commit

Permalink
Replace ArgumentCaptor with assertArg()
Browse files Browse the repository at this point in the history
  • Loading branch information
izeye committed Jun 19, 2023
1 parent 9c533e8 commit 9fc89f0
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -77,18 +77,16 @@ void shouldSendProperRequest() throws Throwable {

meterRegistry.publish();

ArgumentCaptor<HttpSender.Request> argumentCaptor = ArgumentCaptor.forClass(HttpSender.Request.class);
verify(httpClient).send(argumentCaptor.capture());
HttpSender.Request request = argumentCaptor.getValue();

assertThat(request.getRequestHeaders()).containsOnly(entry("Content-Type", "text/plain"),
entry("User-Agent", "micrometer"), entry("Authorization", "Api-Token apiToken"));
assertThat(request.getEntity()).asString()
.hasLineCount(3)
.contains("my.counter,dt.metrics.source=micrometer count,delta=12.0 " + clock.wallTime())
.contains("my.gauge,dt.metrics.source=micrometer gauge," + gauge + " " + clock.wallTime())
.contains("my.timer,dt.metrics.source=micrometer gauge,min=12.0,max=42.0,sum=108.0,count=4 "
+ clock.wallTime());
verify(httpClient).send(assertArg((request -> {
assertThat(request.getRequestHeaders()).containsOnly(entry("Content-Type", "text/plain"),
entry("User-Agent", "micrometer"), entry("Authorization", "Api-Token apiToken"));
assertThat(request.getEntity()).asString()
.hasLineCount(3)
.contains("my.counter,dt.metrics.source=micrometer count,delta=12.0 " + clock.wallTime())
.contains("my.gauge,dt.metrics.source=micrometer gauge," + gauge + " " + clock.wallTime())
.contains("my.timer,dt.metrics.source=micrometer gauge,min=12.0,max=42.0,sum=108.0,count=4 "
+ clock.wallTime());
})));
}

@Test
Expand Down Expand Up @@ -144,14 +142,10 @@ void shouldNotTrackPercentilesWithDynatraceSummary() throws Throwable {
clock.add(config.step());
meterRegistry.publish();

ArgumentCaptor<HttpSender.Request> argumentCaptor = ArgumentCaptor.forClass(HttpSender.Request.class);
verify(httpClient).send(argumentCaptor.capture());
HttpSender.Request request = argumentCaptor.getValue();

assertThat(request.getEntity()).asString()
verify(httpClient).send(assertArg((request -> assertThat(request.getEntity()).asString()
.hasLineCount(1)
.contains("my.timer,dt.metrics.source=micrometer gauge,min=22.0,max=55.0,sum=77.0,count=2 "
+ clock.wallTime());
+ clock.wallTime()))));
}

@Test
Expand All @@ -165,14 +159,10 @@ void shouldNotExportLinesWithZeroCount() throws Throwable {
clock.add(config.step());
meterRegistry.publish();

ArgumentCaptor<HttpSender.Request> argumentCaptor = ArgumentCaptor.forClass(HttpSender.Request.class);
verify(httpClient).send(argumentCaptor.capture());
HttpSender.Request request = argumentCaptor.getValue();

assertThat(request.getEntity()).asString()
verify(httpClient).send(assertArg(request -> assertThat(request.getEntity()).asString()
.hasLineCount(1)
.contains("my.timer,dt.metrics.source=micrometer gauge,min=44.0,max=44.0,sum=44.0,count=1 "
+ clock.wallTime());
+ clock.wallTime())));

// reset for next export interval
reset(httpClient);
Expand All @@ -194,14 +184,10 @@ void shouldNotExportLinesWithZeroCount() throws Throwable {
clock.add(config.step());
meterRegistry.publish();

ArgumentCaptor<HttpSender.Request> argumentCaptor2 = ArgumentCaptor.forClass(HttpSender.Request.class);
verify(httpClient).send(argumentCaptor2.capture());
HttpSender.Request request2 = argumentCaptor2.getValue();

assertThat(request2.getEntity()).asString()
verify(httpClient).send(assertArg(request -> assertThat(request.getEntity()).asString()
.hasLineCount(1)
.contains("my.timer,dt.metrics.source=micrometer gauge,min=33.0,max=33.0,sum=33.0,count=1 "
+ clock.wallTime());
+ clock.wallTime())));
}

private DynatraceConfig createDefaultDynatraceConfig() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -487,18 +487,16 @@ void shouldSendHeadersAndBody() throws Throwable {

exporter.export(Arrays.asList(counter, gauge, timer));

ArgumentCaptor<HttpSender.Request> argumentCaptor = ArgumentCaptor.forClass(HttpSender.Request.class);
verify(httpClient).send(argumentCaptor.capture());
HttpSender.Request request = argumentCaptor.getValue();

assertThat(request.getRequestHeaders()).containsOnly(entry("Content-Type", "text/plain"),
entry("User-Agent", "micrometer"), entry("Authorization", "Api-Token apiToken"));
assertThat(request.getEntity()).asString()
.hasLineCount(3)
.contains("my.counter,dt.metrics.source=micrometer count,delta=12.0 " + clock.wallTime())
.contains("my.gauge,dt.metrics.source=micrometer gauge,42.0 " + clock.wallTime())
.contains("my.timer,dt.metrics.source=micrometer gauge,min=22.0,max=22.0,sum=22.0,count=1 "
+ clock.wallTime());
verify(httpClient).send(assertArg(request -> {
assertThat(request.getRequestHeaders()).containsOnly(entry("Content-Type", "text/plain"),
entry("User-Agent", "micrometer"), entry("Authorization", "Api-Token apiToken"));
assertThat(request.getEntity()).asString()
.hasLineCount(3)
.contains("my.counter,dt.metrics.source=micrometer count,delta=12.0 " + clock.wallTime())
.contains("my.gauge,dt.metrics.source=micrometer gauge,42.0 " + clock.wallTime())
.contains("my.timer,dt.metrics.source=micrometer gauge,min=22.0,max=22.0,sum=22.0,count=1 "
+ clock.wallTime());
}));
}

@Test
Expand Down

0 comments on commit 9fc89f0

Please sign in to comment.