Additional functionality

This commit is contained in:
Tim Ysewyn
2019-08-07 12:25:07 +02:00
parent 63af1c47e6
commit 2a8a21becd
3 changed files with 138 additions and 62 deletions

View File

@@ -22,62 +22,68 @@ import java.util.regex.Pattern
* @author Tim Ysewyn
*/
open class CommonDsl {
/* HELPER FUNCTIONS */
/**
* Helper method to provide a better name for the consumer side.
* @param clientValue client value
* @return client dsl property
*/
fun client(clientValue: Any) = ClientDslProperty(clientValue)
fun client(clientValue: Any?) = ClientDslProperty(clientValue)
/**
* Helper method to provide a better name for the consumer side.
* @param clientValue client value
* @return client dsl property
*/
fun c(clientValue: Any) = ClientDslProperty(clientValue)
fun c(clientValue: Any?) = ClientDslProperty(clientValue)
/**
* Helper method to provide a better name for the consumer side.
* @param clientValue client value
* @return client dsl property
*/
fun consumer(clientValue: Any) = ClientDslProperty(clientValue)
fun consumer(clientValue: Any?) = ClientDslProperty(clientValue)
/**
* Helper method to provide a better name for the consumer side.
* @param clientValue client value
* @return client dsl property
*/
fun stub(clientValue: Any) = ClientDslProperty(clientValue)
fun stub(clientValue: Any?) = ClientDslProperty(clientValue)
/**
* Helper method to provide a better name for the server side.
* @param serverValue server value
* @return server dsl property
*/
fun server(serverValue: Any) = ServerDslProperty(serverValue)
fun server(serverValue: Any?) = ServerDslProperty(serverValue)
/**
* Helper method to provide a better name for the server side.
* @param serverValue server value
* @return server dsl property
*/
fun p(serverValue: Any) = ServerDslProperty(serverValue)
fun p(serverValue: Any?) = ServerDslProperty(serverValue)
/**
* Helper method to provide a better name for the server side.
* @param serverValue server value
* @return server dsl property
*/
fun producer(serverValue: Any) = ServerDslProperty(serverValue)
fun producer(serverValue: Any?) = ServerDslProperty(serverValue)
/**
* Helper method to provide a better name for the server side.
* @param serverValue server value
* @return server dsl property
*/
fun test(serverValue: Any) = ServerDslProperty(serverValue)
fun test(serverValue: Any?) = ServerDslProperty(serverValue)
fun optional(value: Any?) = OptionalProperty(value)
fun execute(commandToExecute: String) = ExecutionProperty(commandToExecute)
/* REGEX */

View File

@@ -17,12 +17,15 @@
package org.springframework.cloud.contract.spec.internal
import org.springframework.cloud.contract.spec.toDslProperties
import java.util.regex.Pattern
/**
* @author Tim Ysewyn
*/
@ContractDslMarker
open class RequestDsl : CommonDsl(), RegexCreatingProperty<ClientDslProperty> {
private val delegate = Request()
var method: DslProperty<Any>? = null
var url: Url? = null
@@ -105,71 +108,91 @@ open class RequestDsl : CommonDsl(), RegexCreatingProperty<ClientDslProperty> {
bodyMatchers = BodyMatchers().apply(block)
}
fun value(value: DslProperty<Any>): DslProperty<Any> = Request().value(value)
/* HELPER FUNCTIONS */
fun v(value: DslProperty<Any>): DslProperty<Any> = Request().value(value)
fun value(value: ClientDslProperty) = delegate.value(value)
fun `$`(value: DslProperty<Any>): DslProperty<Any> = Request().value(value)
fun v(value: ClientDslProperty) = delegate.value(value)
fun value(value: Any): DslProperty<Any> = Request().value(value)
fun `$`(value: ClientDslProperty) = delegate.value(value)
fun v(value: Any): DslProperty<Any> = Request().value(value)
fun value(value: DslProperty<Any>) = delegate.value(value)
fun `$`(value: Any): DslProperty<Any> = Request().value(value)
fun v(value: DslProperty<Any>) = delegate.value(value)
fun value(client: ClientDslProperty, server: ServerDslProperty): DslProperty<Any> = Request().value(client, server)
fun `$`(value: DslProperty<Any>) = delegate.value(value)
fun v(client: ClientDslProperty, server: ServerDslProperty): DslProperty<Any> = Request().value(client, server)
fun value(value: Pattern) = delegate.value(value)
fun `$`(client: ClientDslProperty, server: ServerDslProperty): DslProperty<Any> = Request().value(client, server)
fun v(value: Pattern) = delegate.value(value)
fun value(server: ServerDslProperty, client: ClientDslProperty): DslProperty<Any> = Request().value(client, server)
fun `$`(value: Pattern) = delegate.value(value)
fun v(server: ServerDslProperty, client: ClientDslProperty): DslProperty<Any> = Request().value(client, server)
fun value(value: RegexProperty) = delegate.value(value)
fun `$`(server: ServerDslProperty, client: ClientDslProperty): DslProperty<Any> = Request().value(client, server)
fun v(value: RegexProperty) = delegate.value(value)
override fun anyAlphaUnicode(): ClientDslProperty = Request().anyAlphaUnicode()
fun `$`(value: RegexProperty) = delegate.value(value)
override fun anyAlphaNumeric(): ClientDslProperty = Request().anyAlphaNumeric()
fun value(value: Any?) = delegate.value(value)
override fun anyNumber(): ClientDslProperty = Request().anyNumber()
fun v(value: Any?) = delegate.value(value)
override fun anyInteger(): ClientDslProperty = Request().anyInteger()
fun `$`(value: Any?) = delegate.value(value)
override fun anyPositiveInt(): ClientDslProperty = Request().anyPositiveInt()
fun value(client: ClientDslProperty, server: ServerDslProperty) = delegate.value(client, server)
override fun anyDouble(): ClientDslProperty = Request().anyDouble()
fun v(client: ClientDslProperty, server: ServerDslProperty) = delegate.value(client, server)
override fun anyHex(): ClientDslProperty = Request().anyHex()
fun `$`(client: ClientDslProperty, server: ServerDslProperty) = delegate.value(client, server)
override fun aBoolean(): ClientDslProperty = Request().aBoolean()
fun value(server: ServerDslProperty, client: ClientDslProperty) = delegate.value(client, server)
override fun anyIpAddress(): ClientDslProperty = Request().anyIpAddress()
fun v(server: ServerDslProperty, client: ClientDslProperty) = delegate.value(client, server)
override fun anyHostname(): ClientDslProperty = Request().anyHostname()
fun `$`(server: ServerDslProperty, client: ClientDslProperty) = delegate.value(client, server)
override fun anyEmail(): ClientDslProperty = Request().anyEmail()
override fun anyAlphaUnicode() = delegate.anyAlphaUnicode()
override fun anyUrl(): ClientDslProperty = Request().anyUrl()
override fun anyAlphaNumeric() = delegate.anyAlphaNumeric()
override fun anyHttpsUrl(): ClientDslProperty = Request().anyHttpsUrl()
override fun anyNumber() = delegate.anyNumber()
override fun anyUuid(): ClientDslProperty = Request().anyUuid()
override fun anyInteger() = delegate.anyInteger()
override fun anyDate(): ClientDslProperty = Request().anyDate()
override fun anyPositiveInt() = delegate.anyPositiveInt()
override fun anyDateTime(): ClientDslProperty = Request().anyDateTime()
override fun anyDouble() = delegate.anyDouble()
override fun anyTime(): ClientDslProperty = Request().anyTime()
override fun anyHex() = delegate.anyHex()
override fun anyIso8601WithOffset(): ClientDslProperty = Request().anyIso8601WithOffset()
override fun aBoolean() = delegate.aBoolean()
override fun anyNonBlankString(): ClientDslProperty = Request().anyNonBlankString()
override fun anyIpAddress() = delegate.anyIpAddress()
override fun anyNonEmptyString(): ClientDslProperty = Request().anyNonEmptyString()
override fun anyHostname() = delegate.anyHostname()
override fun anyOf(vararg values: String?): ClientDslProperty = Request().anyOf(*values)
override fun anyEmail() = delegate.anyEmail()
override fun anyUrl() = delegate.anyUrl()
override fun anyHttpsUrl() = delegate.anyHttpsUrl()
override fun anyUuid() = delegate.anyUuid()
override fun anyDate() = delegate.anyDate()
override fun anyDateTime() = delegate.anyDateTime()
override fun anyTime() = delegate.anyTime()
override fun anyIso8601WithOffset() = delegate.anyIso8601WithOffset()
override fun anyNonBlankString() = delegate.anyNonBlankString()
override fun anyNonEmptyString() = delegate.anyNonEmptyString()
override fun anyOf(vararg values: String?) = delegate.anyOf(*values)
internal fun get(): Request {
val request = Request()

View File

@@ -18,6 +18,7 @@ package org.springframework.cloud.contract.spec.internal
import org.springframework.cloud.contract.spec.toDslProperties
import org.springframework.cloud.contract.spec.toDslProperty
import java.util.regex.Pattern
/**
* @author Tim Ysewyn
@@ -25,6 +26,8 @@ import org.springframework.cloud.contract.spec.toDslProperty
@ContractDslMarker
class ResponseDsl : CommonDsl(), RegexCreatingProperty<ServerDslProperty> {
private val delegate = Response()
var status: DslProperty<Any>? = null
var delay: DslProperty<Any>? = null
var headers: Headers? = null
@@ -77,47 +80,91 @@ class ResponseDsl : CommonDsl(), RegexCreatingProperty<ServerDslProperty> {
this.bodyMatchers = ResponseBodyMatchers().apply(bodyMatchers)
}
override fun anyAlphaUnicode(): ServerDslProperty = Response().anyAlphaUnicode()
/* HELPER FUNCTIONS */
override fun anyAlphaNumeric(): ServerDslProperty = Response().anyAlphaNumeric()
fun value(value: ClientDslProperty) = delegate.value(value)
override fun anyNumber(): ServerDslProperty = Response().anyNumber()
fun v(value: ClientDslProperty) = delegate.value(value)
override fun anyInteger(): ServerDslProperty = Response().anyInteger()
fun `$`(value: ClientDslProperty) = delegate.value(value)
override fun anyPositiveInt(): ServerDslProperty = Response().anyPositiveInt()
fun value(value: DslProperty<Any>) = delegate.value(value)
override fun anyDouble(): ServerDslProperty = Response().anyDouble()
fun v(value: DslProperty<Any>) = delegate.value(value)
override fun anyHex(): ServerDslProperty = Response().anyHex()
fun `$`(value: DslProperty<Any>) = delegate.value(value)
override fun aBoolean(): ServerDslProperty = Response().aBoolean()
fun value(value: Pattern) = delegate.value(value)
override fun anyIpAddress(): ServerDslProperty = Response().anyIpAddress()
fun v(value: Pattern) = delegate.value(value)
override fun anyHostname(): ServerDslProperty = Response().anyHostname()
fun `$`(value: Pattern) = delegate.value(value)
override fun anyEmail(): ServerDslProperty = Response().anyEmail()
fun value(value: RegexProperty) = delegate.value(value)
override fun anyUrl(): ServerDslProperty = Response().anyUrl()
fun v(value: RegexProperty) = delegate.value(value)
override fun anyHttpsUrl(): ServerDslProperty = Response().anyHttpsUrl()
fun `$`(value: RegexProperty) = delegate.value(value)
override fun anyUuid(): ServerDslProperty = Response().anyUuid()
fun value(value: Any?) = delegate.value(value)
override fun anyDate(): ServerDslProperty = Response().anyDate()
fun v(value: Any?) = delegate.value(value)
override fun anyDateTime(): ServerDslProperty = Response().anyDateTime()
fun `$`(value: Any?) = delegate.value(value)
override fun anyTime(): ServerDslProperty = Response().anyTime()
fun value(client: ClientDslProperty, server: ServerDslProperty) = delegate.value(client, server)
override fun anyIso8601WithOffset(): ServerDslProperty = Response().anyIso8601WithOffset()
fun v(client: ClientDslProperty, server: ServerDslProperty) = delegate.value(client, server)
override fun anyNonBlankString(): ServerDslProperty = Response().anyNonBlankString()
fun `$`(client: ClientDslProperty, server: ServerDslProperty) = delegate.value(client, server)
override fun anyNonEmptyString(): ServerDslProperty = Response().anyNonEmptyString()
fun value(server: ServerDslProperty, client: ClientDslProperty) = delegate.value(client, server)
override fun anyOf(vararg values: String?): ServerDslProperty = Response().anyOf(*values)
fun v(server: ServerDslProperty, client: ClientDslProperty) = delegate.value(client, server)
fun `$`(server: ServerDslProperty, client: ClientDslProperty) = delegate.value(client, server)
override fun anyAlphaUnicode() = delegate.anyAlphaUnicode()
override fun anyAlphaNumeric() = delegate.anyAlphaNumeric()
override fun anyNumber() = delegate.anyNumber()
override fun anyInteger() = delegate.anyInteger()
override fun anyPositiveInt() = delegate.anyPositiveInt()
override fun anyDouble() = delegate.anyDouble()
override fun anyHex() = delegate.anyHex()
override fun aBoolean() = delegate.aBoolean()
override fun anyIpAddress() = delegate.anyIpAddress()
override fun anyHostname() = delegate.anyHostname()
override fun anyEmail() = delegate.anyEmail()
override fun anyUrl() = delegate.anyUrl()
override fun anyHttpsUrl() = delegate.anyHttpsUrl()
override fun anyUuid() = delegate.anyUuid()
override fun anyDate() = delegate.anyDate()
override fun anyDateTime() = delegate.anyDateTime()
override fun anyTime() = delegate.anyTime()
override fun anyIso8601WithOffset() = delegate.anyIso8601WithOffset()
override fun anyNonBlankString() = delegate.anyNonBlankString()
override fun anyNonEmptyString() = delegate.anyNonEmptyString()
override fun anyOf(vararg values: String?) = delegate.anyOf(*values)
internal fun get(): Response {
val response = Response()