Class OpenApiRequestValidatorScanner

java.lang.Object
com.arc_e_tect.gradle.doppelganger.scan.OpenApiRequestValidatorScanner
All Implemented Interfaces:
ContractVerificationSource

public class OpenApiRequestValidatorScanner extends Object implements ContractVerificationSource
ContractVerificationSource for the Atlassian OpenAPI request validator: a test method whose call chain contains either .filter(new OpenApiValidationFilter(...)) (REST Assured style) or a direct .validateRequest(...) / .validateResponse(...) call, paired with a REST-Assured-style request built via given()...when()...get(...) calls in the same method.

The library's Maven coordinates changed after v3.0.0 from swagger-request-validator-* to openapi-request-validator-* under com.atlassian.oai; this scanner matches by simple class/method names only, so both old and new artifact versions are recognised without needing either on its own classpath.

  • Constructor Details

    • OpenApiRequestValidatorScanner

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

    • scan

      public List<com.arc_e_tect.gradle.detector.core.model.Endpoint> scan(File rootDir) throws IOException
      Scans rootDir recursively and returns every endpoint this source found verification evidence for.

      The returned Endpoint.declaringClass() and Endpoint.methodSignature() identify the test (or contract file) that supplied the evidence, not a production @RestController.

      Specified by:
      scan in interface ContractVerificationSource
      Parameters:
      rootDir - the directory to scan recursively; scanning a non-existent or non-directory path returns an empty list rather than failing
      Returns:
      possibly-empty list of verified endpoints, never null
      Throws:
      IOException - if a file under rootDir cannot be read