Class RestDocsScanner
java.lang.Object
com.arc_e_tect.gradle.doppelganger.scan.RestDocsScanner
- All Implemented Interfaces:
ContractVerificationSource
ContractVerificationSource for Spring RestDocs: a test method whose call chain contains
a mockMvc.perform(get(...)/post(...)/put(...)/delete(...)/patch(...)) call and also
includes .andDo(document(...)) somewhere in the same method body.
Matches by simple method name only, the same way ControllerScanner matches mapping
annotations by simple name, so this scanner needs neither Spring MVC Test nor Spring RestDocs
on its own classpath.
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
RestDocsScanner
public RestDocsScanner()Creates a newRestDocsScanner.
-
-
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
-