diff --git a/logbook-api/src/main/java/org/zalando/logbook/HttpLogWriter.java b/logbook-api/src/main/java/org/zalando/logbook/HttpLogWriter.java index 8e30d35a0..23a651971 100644 --- a/logbook-api/src/main/java/org/zalando/logbook/HttpLogWriter.java +++ b/logbook-api/src/main/java/org/zalando/logbook/HttpLogWriter.java @@ -8,8 +8,23 @@ default boolean isActive(final RawHttpRequest request) throws IOException { return true; } - void writeRequest(final Precorrelation precorrelation) throws IOException; + default void write(final HttpRequest request, final Precorrelation precorrelation) throws IOException { + writeRequest(precorrelation); + } + + // TODO deprecate + default void writeRequest(final Precorrelation precorrelation) throws IOException { + + } - void writeResponse(final Correlation correlation) throws IOException; + default void write(final HttpRequest request, final HttpResponse response, + final Correlation correlation) throws IOException { + writeResponse(correlation); + } + + // TODO deprecate + default void writeResponse(final Correlation correlation) throws IOException { + + } } diff --git a/logbook-api/src/test/java/org/zalando/logbook/HttpLogWriterTest.java b/logbook-api/src/test/java/org/zalando/logbook/HttpLogWriterTest.java index 0fb74d0a6..8b8d466cd 100644 --- a/logbook-api/src/test/java/org/zalando/logbook/HttpLogWriterTest.java +++ b/logbook-api/src/test/java/org/zalando/logbook/HttpLogWriterTest.java @@ -3,11 +3,13 @@ import org.junit.Test; import java.io.IOException; +import java.time.Duration; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; public final class HttpLogWriterTest { @@ -18,4 +20,49 @@ public void shouldBeActiveByDefault() throws IOException { assertThat(unit.isActive(mock(RawHttpRequest.class)), is(true)); } + @Test + public void shouldDelegateWriteRequest() throws IOException { + final HttpLogWriter unit = spy(HttpLogWriter.class); + + unit.write(mock(HttpRequest.class), MockCorrelation.INSTANCE); + + verify(unit).writeRequest(MockCorrelation.INSTANCE); + } + + @Test + public void shouldDelegateWriteResponse() throws IOException { + final HttpLogWriter unit = spy(HttpLogWriter.class); + + unit.write(mock(HttpRequest.class), mock(HttpResponse.class), MockCorrelation.INSTANCE); + + verify(unit).writeResponse(MockCorrelation.INSTANCE); + } + + private enum MockCorrelation implements Precorrelation, Correlation { + + INSTANCE; + + @Override + public String getId() { + return ""; + } + + @Override + public Duration getDuration() { + return Duration.ZERO; + } + + + @Override + public String getRequest() { + return ""; + } + + @Override + public String getResponse() { + return ""; + } + + } + } diff --git a/logbook-core/src/main/java/org/zalando/logbook/ChunkingHttpLogWriter.java b/logbook-core/src/main/java/org/zalando/logbook/ChunkingHttpLogWriter.java index e1df8a490..cd23a9ea1 100644 --- a/logbook-core/src/main/java/org/zalando/logbook/ChunkingHttpLogWriter.java +++ b/logbook-core/src/main/java/org/zalando/logbook/ChunkingHttpLogWriter.java @@ -23,7 +23,7 @@ public ChunkingHttpLogWriter(final int size, final HttpLogWriter writer) { if (size <= 0) { throw new IllegalArgumentException("size is expected to be greater than zero"); } - this.minChunkSize = (size > MIN_MAX_DELTA ? size - MIN_MAX_DELTA : size); + this.minChunkSize = size > MIN_MAX_DELTA ? size - MIN_MAX_DELTA : size; this.maxChunkSize = size; this.writer = writer; } diff --git a/logbook-core/src/main/java/org/zalando/logbook/DefaultLogbook.java b/logbook-core/src/main/java/org/zalando/logbook/DefaultLogbook.java index 931f02ea4..a5df82aa2 100644 --- a/logbook-core/src/main/java/org/zalando/logbook/DefaultLogbook.java +++ b/logbook-core/src/main/java/org/zalando/logbook/DefaultLogbook.java @@ -46,7 +46,7 @@ public Optional write(final RawHttpRequest rawHttpRequest) throws IO final Precorrelation precorrelation = new SimplePrecorrelation<>(correlationId, request); final String format = formatter.format(precorrelation); - writer.writeRequest(new SimplePrecorrelation<>(correlationId, format)); + writer.write(request, new SimplePrecorrelation<>(correlationId, format)); return Optional.of(rawHttpResponse -> { final Instant end = Instant.now(clock); @@ -56,7 +56,7 @@ public Optional write(final RawHttpRequest rawHttpRequest) throws IO final Correlation correlation = new SimpleCorrelation<>(correlationId, duration, request, response); final String message = formatter.format(correlation); - writer.writeResponse(new SimpleCorrelation<>(correlationId, duration, format, message)); + writer.write(request, response, new SimpleCorrelation<>(correlationId, duration, format, message)); }); } else { return Optional.empty(); diff --git a/logbook-core/src/test/java/org/zalando/logbook/DelayedResponseLogWriter.java b/logbook-core/src/test/java/org/zalando/logbook/DelayedResponseLogWriter.java new file mode 100644 index 000000000..601302fa0 --- /dev/null +++ b/logbook-core/src/test/java/org/zalando/logbook/DelayedResponseLogWriter.java @@ -0,0 +1,27 @@ +package org.zalando.logbook; + +import org.zalando.logbook.DefaultLogbook.SimplePrecorrelation; + +import java.io.IOException; + +// proof of concept +final class DelayedResponseLogWriter implements HttpLogWriter { + + private final HttpLogWriter delegate; + + DelayedResponseLogWriter(final HttpLogWriter delegate) { + this.delegate = delegate; + } + + @Override + public void write(final HttpRequest request, final HttpResponse response, + final Correlation correlation) throws IOException { + + if (response.getStatus() >= 400) { + // delayed request logging until we have the response at hand + delegate.write(request, new SimplePrecorrelation<>(correlation.getId(), correlation.getRequest())); + delegate.write(request, response, correlation); + } + } + +} diff --git a/logbook-core/src/test/java/org/zalando/logbook/DelayedResponseLogWriterTest.java b/logbook-core/src/test/java/org/zalando/logbook/DelayedResponseLogWriterTest.java new file mode 100644 index 000000000..b6858cd8d --- /dev/null +++ b/logbook-core/src/test/java/org/zalando/logbook/DelayedResponseLogWriterTest.java @@ -0,0 +1,31 @@ +package org.zalando.logbook; + +import org.junit.Test; +import org.mockito.Mockito; + +import java.io.IOException; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; + +public final class DelayedResponseLogWriterTest { + + private final HttpLogWriter delegate = Mockito.mock(HttpLogWriter.class); + private final HttpLogWriter unit = new DelayedResponseLogWriter(delegate); + + @Test + public void shouldDelayRequestLogging() throws IOException { + final Logbook logbook = Logbook.builder().writer(unit).build(); + + final Correlator correlator = logbook.write(MockRawHttpRequest.create()).orElseThrow(AssertionError::new); + + verify(delegate, never()).write(any(), any()); + + correlator.write(MockRawHttpResponse.create().withStatus(404)); + + verify(delegate).write(any(), any()); + verify(delegate).write(any(), any(), any()); + } + +} \ No newline at end of file diff --git a/logbook-httpclient/src/test/java/org/zalando/logbook/httpclient/AbstractHttpTest.java b/logbook-httpclient/src/test/java/org/zalando/logbook/httpclient/AbstractHttpTest.java index 9df6c84b4..e2cbc8302 100644 --- a/logbook-httpclient/src/test/java/org/zalando/logbook/httpclient/AbstractHttpTest.java +++ b/logbook-httpclient/src/test/java/org/zalando/logbook/httpclient/AbstractHttpTest.java @@ -18,8 +18,8 @@ import static org.hamcrest.Matchers.startsWith; import static org.junit.Assert.assertThat; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -28,12 +28,7 @@ public abstract class AbstractHttpTest { @Rule public final ClientDriverRule driver = new ClientDriverRule(); - protected final HttpLogWriter writer = mock(HttpLogWriter.class); - - @Before - public void defaultBehaviour() throws IOException { - when(writer.isActive(any())).thenReturn(true); - } + protected final HttpLogWriter writer = spy(HttpLogWriter.class); @Before public void start() { diff --git a/logbook-servlet/src/test/java/org/zalando/logbook/servlet/MultiFilterSecurityTest.java b/logbook-servlet/src/test/java/org/zalando/logbook/servlet/MultiFilterSecurityTest.java index cefe83309..402f96b9f 100644 --- a/logbook-servlet/src/test/java/org/zalando/logbook/servlet/MultiFilterSecurityTest.java +++ b/logbook-servlet/src/test/java/org/zalando/logbook/servlet/MultiFilterSecurityTest.java @@ -24,7 +24,6 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.spy; @@ -41,7 +40,7 @@ public final class MultiFilterSecurityTest { private final HttpLogFormatter formatter = spy(new ForwardingHttpLogFormatter(new JsonHttpLogFormatter())); - private final HttpLogWriter writer = mock(HttpLogWriter.class); + private final HttpLogWriter writer = spy(HttpLogWriter.class); private final SecurityFilter securityFilter = spy(new SecurityFilter()); private final Logbook logbook = Logbook.builder() @@ -62,8 +61,6 @@ public final class MultiFilterSecurityTest { @Before public void setUp() throws IOException { reset(formatter, writer); - - when(writer.isActive(any())).thenReturn(true); } @Test diff --git a/logbook-servlet/src/test/java/org/zalando/logbook/servlet/MultiFilterTest.java b/logbook-servlet/src/test/java/org/zalando/logbook/servlet/MultiFilterTest.java index 523d2cced..18f959471 100644 --- a/logbook-servlet/src/test/java/org/zalando/logbook/servlet/MultiFilterTest.java +++ b/logbook-servlet/src/test/java/org/zalando/logbook/servlet/MultiFilterTest.java @@ -21,12 +21,10 @@ import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; /** @@ -35,7 +33,7 @@ public final class MultiFilterTest { private final HttpLogFormatter formatter = spy(new ForwardingHttpLogFormatter(new DefaultHttpLogFormatter())); - private final HttpLogWriter writer = mock(HttpLogWriter.class); + private final HttpLogWriter writer = spy(HttpLogWriter.class); private final Logbook logbook = Logbook.builder() .formatter(formatter) @@ -54,8 +52,6 @@ public final class MultiFilterTest { @Before public void setUp() throws IOException { reset(formatter, writer); - - when(writer.isActive(any())).thenReturn(true); } @Test diff --git a/logbook-servlet/src/test/java/org/zalando/logbook/servlet/WritingTest.java b/logbook-servlet/src/test/java/org/zalando/logbook/servlet/WritingTest.java index f241485da..70302e35b 100644 --- a/logbook-servlet/src/test/java/org/zalando/logbook/servlet/WritingTest.java +++ b/logbook-servlet/src/test/java/org/zalando/logbook/servlet/WritingTest.java @@ -19,12 +19,9 @@ import static org.hamcrest.Matchers.endsWith; import static org.hamcrest.Matchers.startsWith; import static org.junit.Assert.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; /** @@ -33,7 +30,7 @@ public final class WritingTest { private final HttpLogFormatter formatter = spy(new ForwardingHttpLogFormatter(new DefaultHttpLogFormatter())); - private final HttpLogWriter writer = mock(HttpLogWriter.class); + private final HttpLogWriter writer = spy(HttpLogWriter.class); private final MockMvc mvc = MockMvcBuilders .standaloneSetup(new ExampleController()) @@ -46,8 +43,6 @@ public final class WritingTest { @Before public void setUp() throws IOException { reset(formatter, writer); - - when(writer.isActive(any())).thenReturn(true); } @Test diff --git a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/FormatStyleCurlTest.java b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/FormatStyleCurlTest.java index 7cc200859..00871cda7 100644 --- a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/FormatStyleCurlTest.java +++ b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/FormatStyleCurlTest.java @@ -14,13 +14,10 @@ import java.io.IOException; import java.util.function.Function; -import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.is; import static org.hobsoft.hamcrest.compose.ComposeMatchers.hasFeature; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; import static org.mockito.hamcrest.MockitoHamcrest.argThat; @SpringBootTest( @@ -32,10 +29,8 @@ public final class FormatStyleCurlTest extends AbstractTest { public static class TestConfiguration { @Bean - public HttpLogWriter writer() throws IOException { - final HttpLogWriter writer = mock(HttpLogWriter.class); - when(writer.isActive(any())).thenReturn(true); - return writer; + public HttpLogWriter writer() { + return spy(HttpLogWriter.class); } } diff --git a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/FormatStyleDefaultTest.java b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/FormatStyleDefaultTest.java index 5917548cc..1b0915fa7 100644 --- a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/FormatStyleDefaultTest.java +++ b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/FormatStyleDefaultTest.java @@ -18,10 +18,8 @@ import static org.hamcrest.Matchers.endsWith; import static org.hamcrest.Matchers.startsWith; import static org.hobsoft.hamcrest.compose.ComposeMatchers.hasFeature; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; import static org.mockito.hamcrest.MockitoHamcrest.argThat; @SpringBootTest(classes = {Application.class, FormatStyleDefaultTest.TestConfiguration.class}) @@ -31,10 +29,8 @@ public final class FormatStyleDefaultTest extends AbstractTest { public static class TestConfiguration { @Bean - public HttpLogWriter writer() throws IOException { - final HttpLogWriter writer = mock(HttpLogWriter.class); - when(writer.isActive(any())).thenReturn(true); - return writer; + public HttpLogWriter writer() { + return spy(HttpLogWriter.class); } } diff --git a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/FormatStyleHttpTest.java b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/FormatStyleHttpTest.java index 2372d3d0b..f950f44fb 100644 --- a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/FormatStyleHttpTest.java +++ b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/FormatStyleHttpTest.java @@ -16,10 +16,8 @@ import static org.hamcrest.Matchers.containsString; import static org.hobsoft.hamcrest.compose.ComposeMatchers.hasFeature; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; import static org.mockito.hamcrest.MockitoHamcrest.argThat; @SpringBootTest( @@ -31,10 +29,8 @@ public final class FormatStyleHttpTest extends AbstractTest { public static class TestConfiguration { @Bean - public HttpLogWriter writer() throws IOException { - final HttpLogWriter writer = mock(HttpLogWriter.class); - when(writer.isActive(any())).thenReturn(true); - return writer; + public HttpLogWriter writer() { + return spy(HttpLogWriter.class); } } diff --git a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateBodyCustomTest.java b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateBodyCustomTest.java index a1953b894..919ad7dea 100644 --- a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateBodyCustomTest.java +++ b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateBodyCustomTest.java @@ -18,10 +18,8 @@ import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; @SpringBootTest( classes = {Application.class, ObfuscateBodyCustomTest.TestConfiguration.class}, @@ -32,10 +30,8 @@ public final class ObfuscateBodyCustomTest extends AbstractTest { public static class TestConfiguration { @Bean - public HttpLogWriter writer() throws IOException { - final HttpLogWriter writer = mock(HttpLogWriter.class); - when(writer.isActive(any())).thenReturn(true); - return writer; + public HttpLogWriter writer() { + return spy(HttpLogWriter.class); } @Bean diff --git a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateHeadersCustomTest.java b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateHeadersCustomTest.java index e60798e38..a006129b1 100644 --- a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateHeadersCustomTest.java +++ b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateHeadersCustomTest.java @@ -17,10 +17,8 @@ import static org.hamcrest.Matchers.containsString; import static org.junit.Assert.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; @SpringBootTest( classes = {Application.class, ObfuscateHeadersCustomTest.TestConfiguration.class}, @@ -33,10 +31,8 @@ public final class ObfuscateHeadersCustomTest extends AbstractTest { public static class TestConfiguration { @Bean - public HttpLogWriter writer() throws IOException { - final HttpLogWriter writer = mock(HttpLogWriter.class); - when(writer.isActive(any())).thenReturn(true); - return writer; + public HttpLogWriter writer() { + return spy(HttpLogWriter.class); } } diff --git a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateHeadersDefaultTest.java b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateHeadersDefaultTest.java index a5318093c..8a92c0319 100644 --- a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateHeadersDefaultTest.java +++ b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateHeadersDefaultTest.java @@ -17,10 +17,8 @@ import static org.hamcrest.Matchers.containsString; import static org.junit.Assert.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; @SpringBootTest( classes = {Application.class, ObfuscateHeadersDefaultTest.TestConfiguration.class}, @@ -31,10 +29,8 @@ public final class ObfuscateHeadersDefaultTest extends AbstractTest { public static class TestConfiguration { @Bean - public HttpLogWriter writer() throws IOException { - final HttpLogWriter writer = mock(HttpLogWriter.class); - when(writer.isActive(any())).thenReturn(true); - return writer; + public HttpLogWriter writer() { + return spy(HttpLogWriter.class); } } diff --git a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateParametersCustomTest.java b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateParametersCustomTest.java index ddaab2809..a28017ec0 100644 --- a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateParametersCustomTest.java +++ b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateParametersCustomTest.java @@ -16,10 +16,8 @@ import static org.hamcrest.Matchers.containsString; import static org.junit.Assert.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; @SpringBootTest( classes = {Application.class, ObfuscateParametersCustomTest.TestConfiguration.class}, @@ -30,10 +28,8 @@ public final class ObfuscateParametersCustomTest extends AbstractTest { public static class TestConfiguration { @Bean - public HttpLogWriter writer() throws IOException { - final HttpLogWriter writer = mock(HttpLogWriter.class); - when(writer.isActive(any())).thenReturn(true); - return writer; + public HttpLogWriter writer() { + return spy(HttpLogWriter.class); } } diff --git a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateParametersDefaultTest.java b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateParametersDefaultTest.java index d2aca3545..887981aa9 100644 --- a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateParametersDefaultTest.java +++ b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateParametersDefaultTest.java @@ -16,10 +16,8 @@ import static org.hamcrest.Matchers.containsString; import static org.junit.Assert.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; @SpringBootTest(classes = {Application.class, ObfuscateParametersDefaultTest.TestConfiguration.class}) public final class ObfuscateParametersDefaultTest extends AbstractTest { @@ -28,10 +26,8 @@ public final class ObfuscateParametersDefaultTest extends AbstractTest { public static class TestConfiguration { @Bean - public HttpLogWriter writer() throws IOException { - final HttpLogWriter writer = mock(HttpLogWriter.class); - when(writer.isActive(any())).thenReturn(true); - return writer; + public HttpLogWriter writer() { + return spy(HttpLogWriter.class); } } diff --git a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateRequestCustomTest.java b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateRequestCustomTest.java index e32927b8b..1052faeb7 100644 --- a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateRequestCustomTest.java +++ b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateRequestCustomTest.java @@ -19,10 +19,8 @@ import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; @SpringBootTest( classes = {Application.class, ObfuscateRequestCustomTest.TestConfiguration.class}, @@ -33,10 +31,8 @@ public final class ObfuscateRequestCustomTest extends AbstractTest { public static class TestConfiguration { @Bean - public HttpLogWriter writer() throws IOException { - final HttpLogWriter writer = mock(HttpLogWriter.class); - when(writer.isActive(any())).thenReturn(true); - return writer; + public HttpLogWriter writer() { + return spy(HttpLogWriter.class); } @Bean diff --git a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateResponseCustomTest.java b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateResponseCustomTest.java index 3726323ee..c2306e96c 100644 --- a/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateResponseCustomTest.java +++ b/logbook-spring-boot-starter/src/test/java/org/zalando/logbook/spring/ObfuscateResponseCustomTest.java @@ -21,10 +21,8 @@ import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; @SpringBootTest( classes = {Application.class, ObfuscateResponseCustomTest.TestConfiguration.class}, @@ -35,10 +33,8 @@ public final class ObfuscateResponseCustomTest extends AbstractTest { public static class TestConfiguration { @Bean - public HttpLogWriter writer() throws IOException { - final HttpLogWriter writer = mock(HttpLogWriter.class); - when(writer.isActive(any())).thenReturn(true); - return writer; + public HttpLogWriter writer() { + return spy(HttpLogWriter.class); } @Bean