Skip to content

Commit 5e5f9dc

Browse files
authored
Merge pull request #156 from teaforthecat/add-request-test
add a working request test to template
2 parents 72b5bd3 + 7a1401e commit 5e5f9dc

File tree

3 files changed

+33
-0
lines changed

3 files changed

+33
-0
lines changed

libs/deps-template/resources/io/github/kit_clj/kit/deps.edn

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@
7171
ring/ring-mock {:mvn/version "0.4.0"}
7272
io.github.kit-clj/kit-generator {:mvn/version "<<versions.kit-generator>>"}
7373
org.clojure/tools.namespace {:mvn/version "1.4.5"}
74+
peridot/peridot {:mvn/version "0.5.4"}
75+
org.clj-commons/byte-streams {:mvn/version "0.3.4"}
7476
com.lambdaisland/classpath {:mvn/version "0.5.48"}}
7577
:exec-fn cognitect.test-runner.api/test
7678
:extra-paths ["env/dev/clj" "env/dev/resources" "env/test/resources" "test/clj"]

libs/deps-template/resources/io/github/kit_clj/kit/test/clj/test_utils.clj

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
(ns <<ns-name>>.test-utils
22
(:require
33
[<<ns-name>>.core :as core]
4+
[peridot.core :as p]
5+
[byte-streams :as bs]
46
[integrant.repl.state :as state]))
57

68
(defn system-state
@@ -14,3 +16,17 @@
1416
(core/start-app {:opts {:profile :test}}))
1517
(f)
1618
(core/stop-app)))
19+
20+
(defn get-response [ctx]
21+
(-> ctx
22+
:response
23+
(update :body (fnil bs/to-string ""))))
24+
25+
(defn GET [app path params headers]
26+
(-> (p/session app)
27+
(p/request path
28+
:request-method :get
29+
:content-type "application/edn"
30+
:headers headers
31+
:params params)
32+
(get-response)))
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
(ns <<ns-name>>.web.request-test
2+
(:require [clojure.test :refer [deftest testing is use-fixtures]]
3+
[<<ns-name>>.test-utils :refer [system-state system-fixture GET]]
4+
[integrant.core :as ig]
5+
[<<ns-name>>.config :as config]))
6+
7+
(use-fixtures :once (system-fixture))
8+
9+
(deftest health-request-test []
10+
(testing "happy path"
11+
(let [handler (:handler/ring (system-state))
12+
params {}
13+
headers {}
14+
response (GET handler "/api/health" params headers)]
15+
(is (= 200 (:status response))))))

0 commit comments

Comments
 (0)