private ProviderVerifier setupVerifier(RequestResponseInteraction interaction, ProviderInfo provider, ConsumerInfo consumer) { ProviderVerifier verifier = new ProviderVerifier(); setupReporters(verifier, provider.getName(), interaction.getDescription()); verifier.initialiseReporters(provider); verifier.reportVerificationForConsumer(consumer, provider); if (interaction.getProviderState() != null) { verifier.reportStateForInteraction(interaction.getProviderState(), provider, consumer, true); } verifier.reportInteractionDescription(interaction); return verifier; }
@Override public void testInteraction(String consumerName, RequestResponseInteraction interaction) { ProviderInfo provider = getProviderInfo(); ConsumerInfo consumer = new ConsumerInfo(consumerName); ProviderVerifier verifier = setupVerifier(interaction, provider, consumer); Map<String, Object> failures = new HashMap<>(); verifier.verifyResponseFromProvider(provider, interaction, interaction.getDescription(), failures); try { if (!failures.isEmpty()) { verifier.displayFailures(failures); throw getAssertionError(failures); } } finally { verifier.finialiseReports(); } }
private void setupReporters(ProviderVerifier verifier, String name, String description) { String reportDirectory = "target/pact/reports"; String[] reports = new String[]{}; boolean reportingEnabled = false; VerificationReports verificationReports = testClass.getAnnotation(VerificationReports.class); if (verificationReports != null) { reportingEnabled = true; reportDirectory = verificationReports.reportDir(); reports = verificationReports.value(); } else if (systemPropertyResolver.propertyDefined("pact.verification.reports")) { reportingEnabled = true; reportDirectory = systemPropertyResolver.resolveValue("pact.verification.reportDir:" + reportDirectory); reports = systemPropertyResolver.resolveValue("pact.verification.reports:").split(","); } if (reportingEnabled) { File reportDir = new File(reportDirectory); reportDir.mkdirs(); verifier.setReporters(Arrays.stream(reports) .filter(r -> !r.isEmpty()) .map(r -> { VerifierReporter reporter = ReporterManager.createReporter(r.trim()); reporter.setReportDir(reportDir); reporter.setReportFile(new File(reportDir, name + " - " + description + reporter.getExt())); return reporter; }).collect(Collectors.toList())); } }
File reportDir = new File(reportDirectory); reportDir.mkdirs(); verifier.setReporters(Arrays.stream(reports) .filter(r -> !r.isEmpty()) .map(r -> {
private ProviderVerifier setupVerifier(RequestResponseInteraction interaction, ProviderInfo provider, ConsumerInfo consumer) { ProviderVerifier verifier = new ProviderVerifier(); setupReporters(verifier, provider.getName(), interaction.getDescription()); verifier.initialiseReporters(provider); verifier.reportVerificationForConsumer(consumer, provider); if (interaction.getProviderState() != null) { verifier.reportStateForInteraction(interaction.getProviderState(), provider, consumer, true); } verifier.reportInteractionDescription(interaction); return verifier; }
@Override public void testInteraction(String consumerName, RequestResponseInteraction interaction) { ProviderInfo provider = getProviderInfo(); ConsumerInfo consumer = new ConsumerInfo(consumerName); ProviderVerifier verifier = setupVerifier(interaction, provider, consumer); Map<String, Object> failures = new HashMap<>(); verifier.verifyResponseFromProvider(provider, interaction, interaction.getDescription(), failures); try { if (!failures.isEmpty()) { verifier.displayFailures(failures); throw getAssertionError(failures); } } finally { verifier.finialiseReports(); } }
protected void setupReporters(ProviderVerifier verifier, String name, String description) { String reportDirectory = "target/pact/reports"; String[] reports = new String[]{}; boolean reportingEnabled = false; VerificationReports verificationReports = testClass.getAnnotation(VerificationReports.class); if (verificationReports != null) { reportingEnabled = true; reportDirectory = verificationReports.reportDir(); reports = verificationReports.value(); } else if (valueResolver.propertyDefined("pact.verification.reports")) { reportingEnabled = true; reportDirectory = valueResolver.resolveValue("pact.verification.reportDir:" + reportDirectory); reports = valueResolver.resolveValue("pact.verification.reports:").split(","); } if (reportingEnabled) { File reportDir = new File(reportDirectory); reportDir.mkdirs(); verifier.setReporters(Seq.of(reports) .filter(r -> !r.isEmpty()) .map(r -> { VerifierReporter reporter = ReporterManager.createReporter(r.trim()); reporter.setReportDir(reportDir); reporter.setReportFile(new File(reportDir, name + " - " + description + reporter.getExt())); return reporter; }).toList()); } }
@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; }
/** * {@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(); } }
@NotNull @Override protected ProviderVerifier setupVerifier(Interaction interaction, ProviderInfo provider, ConsumerInfo consumer) { ProviderVerifier verifier = new CustomProviderVerifier(getPackagesToScan()); setupReporters(verifier, provider.getName(), interaction.getDescription()); verifier.initialiseReporters(provider); verifier.reportVerificationForConsumer(consumer, provider); if (!interaction.getProviderStates().isEmpty()) { for (ProviderState state : interaction.getProviderStates()) { verifier.reportStateForInteraction(state.getName(), provider, consumer, true); } } verifier.reportInteractionDescription(interaction); return verifier; } }