Skip to content

akaGelo/spring-cloud-contract-expattern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Maven Central

<dependency>
    <groupId>ru.vyukov</groupId>
    <artifactId>spring-cloud-contract-expattern</artifactId>
    <version>0.2</version>
    <scope>test</scope>
</dependency>

Example usage

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')))

        ])
    }
}

About

Cloud contract DSL pattern Extension

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages