/** * {@inheritDoc} */ @Override public void testInteraction(final String consumerName, final Interaction interaction, PactSource source) { ProviderInfo provider = getProviderInfo(source); ConsumerInfo consumer = new ConsumerInfo(consumerName); ProviderVerifier verifier = setupVerifier(interaction, provider, consumer); Map<String, Object> failures = new HashMap<>(); ProviderClient client = new ProviderClient(provider, new HttpClientFactory()); verifier.verifyResponseFromProvider(provider, interaction, interaction.getDescription(), failures, client); reportTestResult(failures.isEmpty(), verifier); try { if (!failures.isEmpty()) { verifier.displayFailures(failures); throw getAssertionError(failures); } } finally { verifier.finialiseReports(); } }
@Override protected ProviderVerifier setupVerifier(Interaction interaction, ProviderInfo provider, ConsumerInfo consumer) { ProviderVerifier verifier = new ProviderVerifier(); setupReporters(verifier, provider.getName(), interaction.getDescription()); verifier.initialiseReporters(provider); verifier.reportVerificationForConsumer(consumer, provider); if (!interaction.getProviderStates().isEmpty()) { for (ProviderState providerState: interaction.getProviderStates()) { verifier.reportStateForInteraction(providerState.getName(), provider, consumer, true); } } verifier.reportInteractionDescription(interaction); return verifier; }