From 26130232dcf1aff80daf749387f9339bf1baca02 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 20 Jun 2016 13:43:05 +0200 Subject: [PATCH] Updated the docs --- docs/src/main/asciidoc/contract.adoc | 5 +- .../builder/ContractHttpDocsSpec.groovy | 46 +++++++++---------- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/docs/src/main/asciidoc/contract.adoc b/docs/src/main/asciidoc/contract.adoc index a8b4d64053..a5c0545ca6 100644 --- a/docs/src/main/asciidoc/contract.adoc +++ b/docs/src/main/asciidoc/contract.adoc @@ -4,6 +4,9 @@ == Contract DSL +IMPORTANT: Remember that inside the contract file you have to provide the fully qualified name to +the `Contract` class and the `make` static import i.e. `org.springframework.cloud.contract.verifier.dsl.Contract.make { ... }` + Contract DSL is written in Groovy, but don't be alarmed if you didn't use Groovy before. Knowledge of the language is not really needed as our DSL uses only a tiny subset of it (namely literals, method calls and closures). What's more the DSL is designed to be programmer-readable without any knowledge of the DSL itself - it's statically typed. @@ -136,7 +139,7 @@ include::{verifier_root_path}/spring-cloud-contract-verifier-converters/src/test It is also possible to define a method call to be executed on the server side during the test. Such a method can be added to the class defined as "baseClassForTests" in the configuration. Please see the examples below: -==== Groovy DSL +==== Contract DSL [source,groovy,indent=0] ---- diff --git a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/src/test/groovy/org/springframework/cloud/contract/verifier/builder/ContractHttpDocsSpec.groovy b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/src/test/groovy/org/springframework/cloud/contract/verifier/builder/ContractHttpDocsSpec.groovy index 462c623cc4..27b417a9e7 100644 --- a/spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/src/test/groovy/org/springframework/cloud/contract/verifier/builder/ContractHttpDocsSpec.groovy +++ b/spring-cloud-contract-verifier/spring-cloud-contract-verifier-core/src/test/groovy/org/springframework/cloud/contract/verifier/builder/ContractHttpDocsSpec.groovy @@ -16,8 +16,8 @@ package org.springframework.cloud.contract.verifier.builder -import org.springframework.cloud.contract.verifier.dsl.Contract import spock.lang.Specification + /** * Tests used for the documentation * @@ -25,9 +25,9 @@ import spock.lang.Specification */ class ContractHttpDocsSpec extends Specification { - Contract httpDsl = + org.springframework.cloud.contract.verifier.dsl.Contract httpDsl = // tag::http_dsl[] - Contract.make { + org.springframework.cloud.contract.verifier.dsl.Contract.make { // Definition of HTTP request part of the contract // (this can be a valid request or invalid depending // on type of contract being specified). @@ -49,9 +49,9 @@ class ContractHttpDocsSpec extends Specification { } // end::http_dsl[] - Contract request = + org.springframework.cloud.contract.verifier.dsl.Contract request = // tag::request[] - Contract.make { + org.springframework.cloud.contract.verifier.dsl.Contract.make { request { // HTTP request method (GET/POST/PUT/DELETE). method 'GET' @@ -66,9 +66,9 @@ class ContractHttpDocsSpec extends Specification { } // end::request[] - Contract url = + org.springframework.cloud.contract.verifier.dsl.Contract url = // tag::url[] - Contract.make { + org.springframework.cloud.contract.verifier.dsl.Contract.make { request { method 'GET' @@ -82,9 +82,9 @@ class ContractHttpDocsSpec extends Specification { } // end::url[] - Contract urlPaths = + org.springframework.cloud.contract.verifier.dsl.Contract urlPaths = // tag::urlpath[] - Contract.make { + org.springframework.cloud.contract.verifier.dsl.Contract.make { request { //... @@ -127,9 +127,9 @@ class ContractHttpDocsSpec extends Specification { } // end::urlpath[] - Contract headers = + org.springframework.cloud.contract.verifier.dsl.Contract headers = // tag::headers[] - Contract.make { + org.springframework.cloud.contract.verifier.dsl.Contract.make { request { //... @@ -147,9 +147,9 @@ class ContractHttpDocsSpec extends Specification { } // end::headers[] - Contract body = + org.springframework.cloud.contract.verifier.dsl.Contract body = // tag::body[] - Contract.make { + org.springframework.cloud.contract.verifier.dsl.Contract.make { request { //... @@ -164,9 +164,9 @@ class ContractHttpDocsSpec extends Specification { } // end::body[] - Contract bodyAsXml = + org.springframework.cloud.contract.verifier.dsl.Contract bodyAsXml = // tag::bodyAsXml[] - Contract.make { + org.springframework.cloud.contract.verifier.dsl.Contract.make { request { //... @@ -182,9 +182,9 @@ class ContractHttpDocsSpec extends Specification { } // end::bodyAsXml[] - Contract response = + org.springframework.cloud.contract.verifier.dsl.Contract response = // tag::response[] - Contract.make { + org.springframework.cloud.contract.verifier.dsl.Contract.make { request { //... } @@ -196,9 +196,9 @@ class ContractHttpDocsSpec extends Specification { } // end::response[] - Contract regex = + org.springframework.cloud.contract.verifier.dsl.Contract regex = // tag::regex[] - Contract.make { + org.springframework.cloud.contract.verifier.dsl.Contract.make { request { method('GET') url $(client(~/\/[0-9]{2}/), server('/12')) @@ -227,9 +227,9 @@ class ContractHttpDocsSpec extends Specification { } // end::regex[] - Contract optionals = + org.springframework.cloud.contract.verifier.dsl.Contract optionals = // tag::optionals[] - Contract.make { + org.springframework.cloud.contract.verifier.dsl.Contract.make { priority 1 request { method 'POST' @@ -282,9 +282,9 @@ class ContractHttpDocsSpec extends Specification { stripped(blockBuilder.toString()) == stripped(expectedTest) } - Contract method = + org.springframework.cloud.contract.verifier.dsl.Contract method = // tag::method[] - Contract.make { + org.springframework.cloud.contract.verifier.dsl.Contract.make { request { method 'PUT' url $(client(regex('^/api/[0-9]{2}$')), server('/api/12'))