### Question:
PaymentController extends AbstractController implements PaymentApi { @Override public ResponseEntity<Object> getPaymentInformation(PaymentService paymentService, PaymentProduct paymentProduct, String paymentId, Map<String, String> parameters, Map<String, String> headers) { RequestHeaders requestHeaders = RequestHeaders.fromMap(headers); RequestParams requestParams = RequestParams.fromMap(parameters); Response<String> response = this.paymentService.getPaymentInformationAsString(paymentService, paymentProduct, paymentId, requestHeaders, requestParams); return ResponseEntity.status(HttpStatus.OK) .headers(headersMapper.toHttpHeaders(response.getHeaders())) .body(response.getBody()); } PaymentController(PaymentInitiationService paymentService,
                             HeadersMapper headersMapper,
                             ObjectMapper objectMapper); @Override ResponseEntity<PaymentInitationRequestResponse201> initiatePayment(
        PaymentService paymentService,
        PaymentProduct paymentProduct,
        Map<String, String> parameters,
        Map<String, String> headers,
        PeriodicPaymentInitiationMultipartBody body); @Override ResponseEntity<PaymentInitationRequestResponse201> initiatePayment(PaymentService paymentService,
                                                                              PaymentProduct paymentProduct,
                                                                              Map<String, String> parameters,
                                                                              Map<String, String> headers,
                                                                              ObjectNode body); @Override ResponseEntity<PaymentInitationRequestResponse201> initiatePayment(PaymentService paymentService,
                                                                              PaymentProduct paymentProduct,
                                                                              Map<String, String> parameters,
                                                                              Map<String, String> headers,
                                                                              String body); @Override ResponseEntity<Object> getPaymentInformation(PaymentService paymentService,
                                                        PaymentProduct paymentProduct,
                                                        String paymentId,
                                                        Map<String, String> parameters,
                                                        Map<String, String> headers); @Override ResponseEntity<ScaStatusResponse> getPaymentInitiationScaStatus(PaymentService paymentService,
                                                                           PaymentProduct paymentProduct,
                                                                           String paymentId,
                                                                           String authorisationId,
                                                                           Map<String, String> parameters,
                                                                           Map<String, String> headers); @Override ResponseEntity<Object> getPaymentInitiationStatus(PaymentService paymentService,
                                                             PaymentProduct paymentProduct,
                                                             String paymentId,
                                                             Map<String, String> parameters,
                                                             Map<String, String> headers); @Override ResponseEntity<Authorisations> getPaymentInitiationAuthorisation(PaymentService paymentService,
                                                                            PaymentProduct paymentProduct,
                                                                            String paymentId,
                                                                            Map<String, String> parameters,
                                                                            Map<String, String> headers); @Override ResponseEntity<StartScaprocessResponse> startPaymentAuthorisation(PaymentService paymentService,
                                                                             PaymentProduct paymentProduct,
                                                                             String paymentId,
                                                                             Map<String, String> parameters,
                                                                             Map<String, String> headers,
                                                                             ObjectNode body); @Override ResponseEntity<Object> updatePaymentPsuData(PaymentService paymentService,
                                                       PaymentProduct paymentProduct,
                                                       String paymentId,
                                                       String authorisationId,
                                                       Map<String, String> parameters,
                                                       Map<String, String> headers,
                                                       ObjectNode body);  }### Answer:
@Test void getPaymentInformation() throws Exception { String response = "response-message"; when(paymentInitiationService.getPaymentInformationAsString(eq(PAYMENT_SERVICE), eq(PAYMENT_PRODUCT), anyString(), any(), any())) .thenReturn(buildResponse(response)); mockMvc.perform(get(PAYMENT_URL + "/foo")) .andExpect(status().isOk()) .andExpect(jsonPath("$", containsString(response))); verify(paymentInitiationService, times(1)) .getPaymentInformationAsString(eq(PAYMENT_SERVICE), eq(PAYMENT_PRODUCT), anyString(), any(), any()); }