@Test
  public void testInterceptWithConfiguration() throws Exception {
    prepareExecution("http://localhost:8080", "TestResponse", "markdown");

    ClientHttpRequestExecution configureExecution = Mockito.mock(ClientHttpRequestExecution.class);

    when(configureExecution.execute(any(HttpRequest.class), any(byte[].class)))
        .thenAnswer(
            new Answer<ClientHttpResponse>() {
              @Override
              public ClientHttpResponse answer(InvocationOnMock invocation) throws Throwable {
                interceptor.intercept(
                    (HttpRequest) invocation.getArguments()[0],
                    (byte[]) invocation.getArguments()[1],
                    execution);

                return response;
              }
            });

    CitrusRestDocsSupport.restDocsConfigurer(restDocumentation)
        .snippets()
        .withTemplateFormat(TemplateFormats.markdown())
        .intercept(request, "TestMessage".getBytes(), configureExecution);

    assertExpectedSnippetFilesExist(
        "markdown", "http-request.md", "http-response.md", "curl-request.md");
  }