Versions of artifact au.com.dius:pact-jvm-provider-lein_2.11

pact-jvm-provider-lein_2.11

# Leiningen plugin to verify a provider [version 2.2.14+, 3.0.3+] Leiningen plugin for verifying pacts against a provider. The plugin provides a `pact-verify` task which will verify all configured pacts against your provider. ## To Use It ### 1. Add the plugin to your project plugins, preferably in it's own profile. ```clojure :profiles { :pact { :plugins [[au.com.dius/pact-jvm-provider-lein_2.11 "3.2.11" :exclusions [commons-logging]]] :dependencies [[ch.qos.logback/logback-core "1.1.3"] [ch.qos.logback/logback-classic "1.1.3"] [org.apache.httpcomponents/httpclient "4.4.1"]] }}} ``` ### 2. Define the pacts between your consumers and providers You define all the providers and consumers within the `:pact` configuration element of your project. ```clojure :pact { :service-providers { ; You can define as many as you need, but each must have a unique name :provider1 { ; All the provider properties are optional, and have sensible defaults (shown below) :protocol "http" :host "localhost" :port 8080 :path "/" :has-pact-with { ; Again, you can define as many consumers for each provider as you need, but each must have a unique name :consumer1 { ; pact file can be either a path or an URL :pact-file "path/to/provider1-consumer1-pact.json" } } } } } ``` ### 3. Execute `lein with-profile pact pact-verify` You will have to have your provider running for this to pass. ## Enabling insecure SSL For providers that are running on SSL with self-signed certificates, you need to enable insecure SSL mode by setting `:insecure true` on the provider. ```clojure :pact { :service-providers { :provider1 { :protocol "https" :host "localhost" :port 8443 :insecure true :has-pact-with { :consumer1 { :pact-file "path/to/provider1-consumer1-pact.json" } } } } } ``` ## Specifying a custom trust store For environments that are running their own certificate chains: ```clojure :pact { :service-providers { :provider1 { :protocol "https" :host "localhost" :port 8443 :trust-store "relative/path/to/trustStore.jks" :trust-store-password "changeme" :has-pact-with { :consumer1 { :pact-file "path/to/provider1-consumer1-pact.json" } } } } } ``` `:trust-store` is relative to the current working (build) directory. `:trust-store-password` defaults to `changeit`. NOTE: The hostname will still be verified against the certificate. ## Modifying the requests before they are sent Sometimes you may need to add things to the requests that can't be persisted in a pact file. Examples of these would be authentication tokens, which have a small life span. The Leiningen plugin provides a request filter that can be set to an anonymous function on the provider that will be called before the request is made. This function will receive the HttpRequest object as a parameter. ```clojure :pact { :service-providers { :provider1 { ; function that adds an Authorization header to each request :request-filter #(.addHeader % "Authorization" "oauth-token eyJhbGciOiJSUzI1NiIsIm...") :has-pact-with {

Artifact Version Name Latest uploaded at
3.2.9 pact-jvm-provider-lein_2.11 2016-07-06 05:38:31 UTC
3.2.8 pact-jvm-provider-lein_2.11 2016-06-18 04:28:39 UTC
2.4.10 pact-jvm-provider-lein_2.11 2016-06-17 23:22:00 UTC
3.2.7 pact-jvm-provider-lein_2.11 2016-05-04 05:00:42 UTC
3.2.6 pact-jvm-provider-lein_2.11 2016-03-29 03:21:54 UTC
3.2.5 pact-jvm-provider-lein_2.11 2016-03-25 01:58:56 UTC
3.2.4 pact-jvm-provider-lein_2.11 2016-02-20 00:46:07 UTC
2.4.6 pact-jvm-provider-lein_2.11 2016-02-19 23:32:54 UTC
3.2.3 pact-jvm-provider-lein_2.11 2016-02-11 06:21:37 UTC
2.4.4 pact-jvm-provider-lein_2.11 2016-01-20 23:50:50 UTC
3.2.2 pact-jvm-provider-lein_2.11 2016-01-17 03:29:51 UTC
2.4.3 pact-jvm-provider-lein_2.11 2016-01-17 03:02:05 UTC
3.2.1 pact-jvm-provider-lein_2.11 2015-12-12 22:35:57 UTC
2.4.2 pact-jvm-provider-lein_2.11 2015-12-12 22:12:07 UTC
3.2.0 pact-jvm-provider-lein_2.11 2015-11-28 20:56:45 UTC
2.4.1 pact-jvm-provider-lein_2.11 2015-11-28 06:40:00 UTC
2.4.0 pact-jvm-provider-lein_2.11 2015-11-22 04:11:33 UTC
3.1.3 pact-jvm-provider-lein_2.11 2015-11-14 07:29:53 UTC
2.3.3 pact-jvm-provider-lein_2.11 2015-11-14 06:41:47 UTC
2.3.2 pact-jvm-provider-lein_2.11 2015-10-24 01:18:20 UTC
3.1.2 pact-jvm-provider-lein_2.11 2015-10-24 00:41:21 UTC
2.3.1 pact-jvm-provider-lein_2.11 2015-10-20 09:04:08 UTC
3.1.1 pact-jvm-provider-lein_2.11 2015-10-20 08:18:02 UTC
2.3.0 pact-jvm-provider-lein_2.11 2015-10-06 10:23:59 UTC
3.1.0 pact-jvm-provider-lein_2.11 2015-10-06 09:24:21 UTC
2.2.15 pact-jvm-provider-lein_2.11 2015-09-17 10:11:12 UTC
3.0.4 pact-jvm-provider-lein_2.11 2015-09-17 09:30:04 UTC
2.2.14 pact-jvm-provider-lein_2.11 2015-09-07 10:12:14 UTC
3.0.3 pact-jvm-provider-lein_2.11 2015-09-07 09:34:15 UTC
2.2.13 pact-jvm-provider-lein_2.11 2015-08-29 05:25:06 UTC