All Downloads are FREE. Search and download functionalities are using the official Maven repository.

leiningen.pact_verify.clj Maven / Gradle / Ivy

(ns leiningen.pact-verify
  (:require [au.com.dius.pact.provider.lein.verify-provider :as verify]
            [clojure.string :as str])
  (:import (au.com.dius.pact.provider.lein LeinVerifierProxy)))

(defn- split-string [arg]
  (if (.contains arg "=")
    (let [key-val (str/split arg #"=")]
      [(read-string (first key-val)) (second key-val)])
    [(read-string arg) arg]))

(defn- parse-args [args]
  (if (not-empty args)
    (apply assoc {} (mapcat #(split-string %) args))
    {}))

(defn pact-verify
      "Verifies pact files against a provider"
      [project & args]
      (if (contains? project :pact)
        (let [verifier (LeinVerifierProxy. project (parse-args args))]
          (verify/verify verifier (-> project :pact)))
        (throw (ex-info "No pact definition was found in the project" {}))))




© 2015 - 2024 Weber Informatics LLC | Privacy Policy