Class ScanContractsReportWriter

java.lang.Object
com.arc_e_tect.gradle.doppelganger.report.ScanContractsReportWriter

public class ScanContractsReportWriter extends Object
Writes the AsciiDoc scanContracts report: for every endpoint both declared in the OpenAPI documentation and implemented by a @RestController method, its declared response codes and contract test count, plus - when includeResponseCoverage was enabled - a per-response-code test count breakdown.
  • Constructor Details

    • ScanContractsReportWriter

      public ScanContractsReportWriter()
      Creates a new ScanContractsReportWriter.
  • Method Details

    • write

      public void write(File outputFile, List<EndpointResponseCoverage> coverage, boolean includeResponseCoverage, String systemUnderTestVersion, List<String> warnings, Map<String,ResponseCoverageRecord> responseCoverageHistory) throws IOException
      Writes the report to outputFile, creating its parent directory if necessary.
      Parameters:
      outputFile - target AsciiDoc file
      coverage - the coverage rows to render, one per declared-and-implemented endpoint
      includeResponseCoverage - whether coverage's per-response-code breakdown was computed; when false, only the declared response code count and contract test count are rendered
      systemUnderTestVersion - version of the system under test that was scanned
      warnings - non-fatal configuration gaps to render as a WARNING admonition right after the report header; when empty, no such admonition is written
      responseCoverageHistory - response coverage history to render as a == Response Coverage Over Time section, keyed by fingerprint; when empty, no such section is written
      Throws:
      IOException - if the output file cannot be written