<dependency>
<groupId>ru.vyukov</groupId>
<artifactId>spring-cloud-contract-expattern</artifactId>
<version>0.2</version>
<scope>test</scope>
</dependency>
package contracts
import org.springframework.cloud.contract.spec.Contract
import ru.vyukov.contract.RequestPatterns;
import ru.vyukov.contract.ResponsePatterns;
Contract.make {
name("post example")
request {
method 'POST'
urlPath("/targets/") {
body([
targetType: "FILESYSTEM",
trigger : $(RequestPatterns.anyCronExpression()),
path : $(consumer(anyNonEmptyString()), producer("/etc/")),
])
}
headers {contentType(applicationJson())}
}
response {
status 200
body([
backupTargetId: anyNonEmptyString(),
trigger : $(ResponsePatterns.anyCronExpression()),
targetType : "FILESYSTEM",
path : $(consumer(fromRequest().body('$.path')), producer(fromRequest().body('$.path')))
])
}
}