Class SpringCloudContractScanner
java.lang.Object
com.arc_e_tect.gradle.doppelganger.scan.SpringCloudContractScanner
- All Implemented Interfaces:
ContractVerificationSource
ContractVerificationSource for Spring Cloud Contract: declarative contract DSL files
under src/testContract/resources/contracts/**/*.groovy (and .yml), read
structurally for method '...' and url '...' / urlPath '...' entries.
Contract files are data, not code - this is a plain line/regex scan, deliberately without an AST or a Groovy/YAML parser on the classpath.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionList<com.arc_e_tect.gradle.detector.core.model.Endpoint> ScansrootDirrecursively and returns every endpoint this source found verification evidence for.scanWithStatusCodes(File rootDir) ScansrootDirrecursively, same asContractVerificationSource.scan(File), but additionally reports the HTTP status code each piece of evidence was detected to assert, when a source is able to determine one.
-
Constructor Details
-
SpringCloudContractScanner
public SpringCloudContractScanner()Creates a newSpringCloudContractScanner.
-
-
Method Details
-
scan
public List<com.arc_e_tect.gradle.detector.core.model.Endpoint> scan(File rootDir) throws IOException ScansrootDirrecursively and returns every endpoint this source found verification evidence for.The returned
Endpoint.declaringClass()andEndpoint.methodSignature()identify the test (or contract file) that supplied the evidence, not a production@RestController.- Specified by:
scanin interfaceContractVerificationSource- 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 underrootDircannot be read
-
scanWithStatusCodes
ScansrootDirrecursively, same asContractVerificationSource.scan(File), but additionally reports the HTTP status code each piece of evidence was detected to assert, when a source is able to determine one.The default implementation delegates to
ContractVerificationSource.scan(File)and reports every entry with no status code, so an implementation that has no meaningful way to detect one simply inherits correct, backward-compatible behavior without overriding anything.- Specified by:
scanWithStatusCodesin interfaceContractVerificationSource- 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 contract tests, never
null - Throws:
IOException- if a file underrootDircannot be read
-