Libtest improvements
This commit is contained in:
parent
8d53725439
commit
d8e14c278d
6 changed files with 100 additions and 62 deletions
2
deps.edn
2
deps.edn
|
|
@ -40,7 +40,7 @@
|
||||||
borkdude/spartan.spec {:git/url "https://github.com/borkdude/spartan.spec"
|
borkdude/spartan.spec {:git/url "https://github.com/borkdude/spartan.spec"
|
||||||
:sha "16f7eec4b6589c77c96c9fcf989f78fffcee7c4c"}
|
:sha "16f7eec4b6589c77c96c9fcf989f78fffcee7c4c"}
|
||||||
lambdaisland/regal {:git/url "https://github.com/lambdaisland/regal"
|
lambdaisland/regal {:git/url "https://github.com/lambdaisland/regal"
|
||||||
:sha "b059fdb06d5586a9a04c27e7b011c467ad8546db"}
|
:sha "f902d2c43121f9e1c48603d6eb99f5900eb6a9f6"}
|
||||||
weavejester/medley {:git/url "https://github.com/weavejester/medley"
|
weavejester/medley {:git/url "https://github.com/weavejester/medley"
|
||||||
:sha "a4e5fb5383f5c0d83cb2d005181a35b76d8a136d"}
|
:sha "a4e5fb5383f5c0d83cb2d005181a35b76d8a136d"}
|
||||||
babashka/babasha.curl {:local/root "babashka.curl"}
|
babashka/babasha.curl {:local/root "babashka.curl"}
|
||||||
|
|
|
||||||
25
test-resources/lib_tests/babashka/curl_test.clj
Normal file
25
test-resources/lib_tests/babashka/curl_test.clj
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
(ns babashka.curl-test
|
||||||
|
(:require [babashka.curl :as curl]
|
||||||
|
[cheshire.core :as json]
|
||||||
|
[clojure.test :as t :refer [deftest]]))
|
||||||
|
|
||||||
|
(deftest curl-test
|
||||||
|
(require '[babashka.curl :as curl] :reload-all)
|
||||||
|
|
||||||
|
(prn (:status (curl/get "https://www.clojure.org")))
|
||||||
|
|
||||||
|
(prn (:status (curl/get "https://postman-echo.com/get?foo1=bar1&foo2=bar2")))
|
||||||
|
|
||||||
|
(prn (:status (curl/post "https://postman-echo.com/post")))
|
||||||
|
|
||||||
|
(prn (:status (curl/post "https://postman-echo.com/post"
|
||||||
|
{:body (json/generate-string {:a 1})
|
||||||
|
:headers {"X-Hasura-Role" "admin"}
|
||||||
|
:content-type :json
|
||||||
|
:accept :json})))
|
||||||
|
|
||||||
|
(prn (:status (curl/put "https://postman-echo.com/put"
|
||||||
|
{:body (json/generate-string {:a 1})
|
||||||
|
:headers {"X-Hasura-Role" "admin"}
|
||||||
|
:content-type :json
|
||||||
|
:accept :json}))))
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
(ns babashka.lambdaisland.regal-test
|
||||||
|
(:require [clojure.test :as t :refer [deftest is]]))
|
||||||
|
|
||||||
|
(prn :requiring :lambdaisland)
|
||||||
|
(require '[lambdaisland.regal :as regal])
|
||||||
|
(prn ::done :requiring :lambdaisland)
|
||||||
|
|
||||||
|
(def r [:cat
|
||||||
|
[:+ [:class [\a \z]]]
|
||||||
|
"="
|
||||||
|
[:+ [:not \=]]])
|
||||||
|
|
||||||
|
(deftest regal-test
|
||||||
|
(is (= "[a-z]+=[^=]+" (str (regal/regex r))))
|
||||||
|
(is (= "foo=bar" (re-matches (regal/regex r) "foo=bar"))))
|
||||||
|
|
@ -8,57 +8,26 @@
|
||||||
|
|
||||||
(defn test-namespaces [& namespaces]
|
(defn test-namespaces [& namespaces]
|
||||||
(let [namespaces (if (seq ns-args)
|
(let [namespaces (if (seq ns-args)
|
||||||
(keep ns-args namespaces)
|
(seq (keep ns-args namespaces))
|
||||||
namespaces)]
|
namespaces)]
|
||||||
(prn namespaces)
|
(when namespaces
|
||||||
(doseq [ns namespaces]
|
(doseq [ns namespaces]
|
||||||
(require ns))
|
(require ns))
|
||||||
(let [m (apply t/run-tests namespaces)]
|
(let [m (apply t/run-tests namespaces)]
|
||||||
(swap! status (fn [status]
|
(swap! status (fn [status]
|
||||||
(merge-with + status (dissoc m :type)))))))
|
(merge-with + status (dissoc m :type))))))))
|
||||||
|
|
||||||
;;;; clj-http-lite
|
;;;; clj-http-lite
|
||||||
|
|
||||||
(require '[clj-http.lite.client :as client])
|
(test-namespaces 'clj-http.lite.client-test)
|
||||||
(require '[cheshire.core :as json])
|
|
||||||
|
|
||||||
(prn (:status (client/get "https://www.clojure.org" {:throw-exceptions false})))
|
|
||||||
|
|
||||||
(prn (:status (client/get "https://postman-echo.com/get?foo1=bar1&foo2=bar2" {:throw-exceptions false})))
|
|
||||||
|
|
||||||
(prn (:status (client/post "https://postman-echo.com/post" {:throw-exceptions false})))
|
|
||||||
|
|
||||||
(prn (:status (client/post "https://postman-echo.com/post"
|
|
||||||
{:body (json/generate-string {:a 1})
|
|
||||||
:headers {"X-Hasura-Role" "admin"}
|
|
||||||
:content-type :json
|
|
||||||
:accept :json
|
|
||||||
:throw-exceptions false})))
|
|
||||||
|
|
||||||
(prn (:status (client/put "https://postman-echo.com/put"
|
|
||||||
{:body (json/generate-string {:a 1})
|
|
||||||
:headers {"X-Hasura-Role" "admin"}
|
|
||||||
:content-type :json
|
|
||||||
:accept :json
|
|
||||||
:throw-exceptions false})))
|
|
||||||
|
|
||||||
;;;; spartan.spec
|
;;;; spartan.spec
|
||||||
|
|
||||||
(time (require '[spartan.spec :as s]))
|
(test-namespaces 'spartan.spec-test)
|
||||||
(require '[spartan.spec :as s])
|
|
||||||
(time (s/explain (s/cat :i int? :s string?) [1 :foo]))
|
|
||||||
(time (s/conform (s/cat :i int? :s string?) [1 "foo"]))
|
|
||||||
|
|
||||||
;;;; regal
|
;;;; regal
|
||||||
|
|
||||||
(require '[lambdaisland.regal :as regal])
|
(test-namespaces 'babashka.lambdaisland.regal-test)
|
||||||
(def r [:cat
|
|
||||||
[:+ [:class [\a \z]]]
|
|
||||||
"="
|
|
||||||
[:+ [:not \=]]])
|
|
||||||
|
|
||||||
(prn (regal/regex r))
|
|
||||||
(prn (re-matches (regal/regex r) "foo=bar"))
|
|
||||||
|
|
||||||
;;;; medley
|
;;;; medley
|
||||||
|
|
||||||
|
|
@ -68,35 +37,20 @@
|
||||||
|
|
||||||
;;;; babashka.curl
|
;;;; babashka.curl
|
||||||
|
|
||||||
(require '[babashka.curl :as curl] :reload-all)
|
(test-namespaces 'babashka.curl-test)
|
||||||
|
|
||||||
(prn (:status (curl/get "https://www.clojure.org")))
|
|
||||||
|
|
||||||
(prn (:status (curl/get "https://postman-echo.com/get?foo1=bar1&foo2=bar2")))
|
|
||||||
|
|
||||||
(prn (:status (curl/post "https://postman-echo.com/post")))
|
|
||||||
|
|
||||||
(prn (:status (curl/post "https://postman-echo.com/post"
|
|
||||||
{:body (json/generate-string {:a 1})
|
|
||||||
:headers {"X-Hasura-Role" "admin"}
|
|
||||||
:content-type :json
|
|
||||||
:accept :json})))
|
|
||||||
|
|
||||||
(prn (:status (curl/put "https://postman-echo.com/put"
|
|
||||||
{:body (json/generate-string {:a 1})
|
|
||||||
:headers {"X-Hasura-Role" "admin"}
|
|
||||||
:content-type :json
|
|
||||||
:accept :json})))
|
|
||||||
|
|
||||||
|
|
||||||
;;;; cprop
|
;;;; cprop
|
||||||
|
|
||||||
|
;; TODO: port to test-namespaces
|
||||||
|
|
||||||
(require '[cprop.core])
|
(require '[cprop.core])
|
||||||
(require '[cprop.source :refer [from-env]])
|
(require '[cprop.source :refer [from-env]])
|
||||||
(println (:cprop-env (from-env)))
|
(println (:cprop-env (from-env)))
|
||||||
|
|
||||||
;;;; comb
|
;;;; comb
|
||||||
|
|
||||||
|
;; TODO: port to test-namespaces
|
||||||
|
|
||||||
(require '[comb.template :as template])
|
(require '[comb.template :as template])
|
||||||
(prn (template/eval "<% (dotimes [x 3] %>foo<% ) %>"))
|
(prn (template/eval "<% (dotimes [x 3] %>foo<% ) %>"))
|
||||||
(prn (template/eval "Hello <%= name %>" {:name "Alice"}))
|
(prn (template/eval "Hello <%= name %>" {:name "Alice"}))
|
||||||
|
|
@ -106,6 +60,8 @@
|
||||||
|
|
||||||
;;;; arrangement
|
;;;; arrangement
|
||||||
|
|
||||||
|
;; TODO: port to test-namespaces
|
||||||
|
|
||||||
(require '[arrangement.core :as order])
|
(require '[arrangement.core :as order])
|
||||||
(prn (sort order/rank ['a false 2 :b nil 3.14159
|
(prn (sort order/rank ['a false 2 :b nil 3.14159
|
||||||
"c" true \d [3 2] #{:one :two}
|
"c" true \d [3 2] #{:one :two}
|
||||||
|
|
@ -117,12 +73,16 @@
|
||||||
|
|
||||||
;;;; clojure-csv
|
;;;; clojure-csv
|
||||||
|
|
||||||
|
;; TODO: port to test-namespaces
|
||||||
|
|
||||||
(require '[clojure-csv.core :as csv])
|
(require '[clojure-csv.core :as csv])
|
||||||
;; TODO: convert to test
|
;; TODO: convert to test
|
||||||
(prn (csv/write-csv (csv/parse-csv "a,b,c\n1,2,3")))
|
(prn (csv/write-csv (csv/parse-csv "a,b,c\n1,2,3")))
|
||||||
|
|
||||||
;;;; clojure.data.zip
|
;;;; clojure.data.zip
|
||||||
|
|
||||||
|
;; TODO: port to test-namespaces
|
||||||
|
|
||||||
(require '[clojure.data.xml :as xml])
|
(require '[clojure.data.xml :as xml])
|
||||||
(require '[clojure.zip :as zip])
|
(require '[clojure.zip :as zip])
|
||||||
(require '[clojure.data.zip.xml :refer [attr attr= xml1->]])
|
(require '[clojure.data.zip.xml :refer [attr attr= xml1->]])
|
||||||
|
|
@ -148,6 +108,9 @@
|
||||||
|
|
||||||
;;;; deps.clj
|
;;;; deps.clj
|
||||||
|
|
||||||
|
;; TODO: port to test-namespaces
|
||||||
|
|
||||||
|
(require '[babashka.curl :as curl])
|
||||||
(spit "deps_test.clj"
|
(spit "deps_test.clj"
|
||||||
(:body (curl/get "https://raw.githubusercontent.com/borkdude/deps.clj/master/deps.clj")))
|
(:body (curl/get "https://raw.githubusercontent.com/borkdude/deps.clj/master/deps.clj")))
|
||||||
|
|
||||||
|
|
|
||||||
25
test-resources/lib_tests/clj_http/lite/client_test.clj
Normal file
25
test-resources/lib_tests/clj_http/lite/client_test.clj
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
(ns clj-http.lite.client-test
|
||||||
|
(:require [cheshire.core :as json]
|
||||||
|
[clj-http.lite.client :as client]
|
||||||
|
[clojure.test :as t :refer [deftest]]))
|
||||||
|
|
||||||
|
(deftest client-test
|
||||||
|
(prn (:status (client/get "https://www.clojure.org" {:throw-exceptions false})))
|
||||||
|
|
||||||
|
(prn (:status (client/get "https://postman-echo.com/get?foo1=bar1&foo2=bar2" {:throw-exceptions false})))
|
||||||
|
|
||||||
|
(prn (:status (client/post "https://postman-echo.com/post" {:throw-exceptions false})))
|
||||||
|
|
||||||
|
(prn (:status (client/post "https://postman-echo.com/post"
|
||||||
|
{:body (json/generate-string {:a 1})
|
||||||
|
:headers {"X-Hasura-Role" "admin"}
|
||||||
|
:content-type :json
|
||||||
|
:accept :json
|
||||||
|
:throw-exceptions false})))
|
||||||
|
|
||||||
|
(prn (:status (client/put "https://postman-echo.com/put"
|
||||||
|
{:body (json/generate-string {:a 1})
|
||||||
|
:headers {"X-Hasura-Role" "admin"}
|
||||||
|
:content-type :json
|
||||||
|
:accept :json
|
||||||
|
:throw-exceptions false}))))
|
||||||
10
test-resources/lib_tests/spartan/spec_test.clj
Normal file
10
test-resources/lib_tests/spartan/spec_test.clj
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
(ns spartan.spec-test
|
||||||
|
(:require [clojure.test :as t :refer [deftest is]]))
|
||||||
|
|
||||||
|
(time (require '[spartan.spec :as s]))
|
||||||
|
(require '[spartan.spec :as s])
|
||||||
|
|
||||||
|
(deftest spec-test
|
||||||
|
(time (s/explain (s/cat :i int? :s string?) [1 :foo]))
|
||||||
|
(is (time (s/conform (s/cat :i int? :s string?) [1 "foo"]))))
|
||||||
|
|
||||||
Loading…
Reference in a new issue