private OperationRequest preprocess(OperationRequestPreprocessor preprocessor, OperationRequest request) { return preprocessor.preprocess(request); }
@Test public void customDefaultOperationRequestPreprocessor() { Map<String, Object> configuration = new HashMap<>(); this.configurer.operationPreprocessors() .withRequestDefaults(Preprocessors.prettyPrint(), Preprocessors.removeHeaders("Foo")) .apply(configuration, createContext()); OperationRequestPreprocessor preprocessor = (OperationRequestPreprocessor) configuration .get(RestDocumentationGenerator.ATTRIBUTE_NAME_DEFAULT_OPERATION_REQUEST_PREPROCESSOR); HttpHeaders headers = new HttpHeaders(); headers.add("Foo", "value"); OperationRequest request = new OperationRequestFactory().create( URI.create("http://localhost:8080"), HttpMethod.GET, null, headers, null, Collections.emptyList()); assertThat(preprocessor.preprocess(request).getHeaders()) .doesNotContainKey("Foo"); }
@Test public void newGeneratorOnlyCallsItsSnippets() throws IOException { OperationRequestPreprocessor requestPreprocessor = mock( OperationRequestPreprocessor.class); OperationResponsePreprocessor responsePreprocessor = mock( OperationResponsePreprocessor.class); given(this.requestConverter.convert(this.request)) .willReturn(this.operationRequest); given(this.responseConverter.convert(this.response)) .willReturn(this.operationResponse); given(requestPreprocessor.preprocess(this.operationRequest)) .willReturn(this.operationRequest); given(responsePreprocessor.preprocess(this.operationResponse)) .willReturn(this.operationResponse); Snippet additionalSnippet1 = mock(Snippet.class); Snippet additionalSnippet2 = mock(Snippet.class); RestDocumentationGenerator<Object, Object> generator = new RestDocumentationGenerator<>( "id", this.requestConverter, this.responseConverter, requestPreprocessor, responsePreprocessor, this.snippet); HashMap<String, Object> configuration = new HashMap<>(); generator.withSnippets(additionalSnippet1, additionalSnippet2) .handle(this.request, this.response, configuration); verifyNoMoreInteractions(this.snippet); verifySnippetInvocation(additionalSnippet1, configuration); verifySnippetInvocation(additionalSnippet2, configuration); }