mirror of
https://github.com/metosin/reitit.git
synced 2025-12-18 17:01:11 +00:00
Fix tests for cljs
This commit is contained in:
parent
b57d900507
commit
f3058b90fe
1 changed files with 5 additions and 53 deletions
|
|
@ -4,7 +4,8 @@
|
||||||
[reitit.swagger :as swagger]
|
[reitit.swagger :as swagger]
|
||||||
[reitit.ring.coercion :as rrc]
|
[reitit.ring.coercion :as rrc]
|
||||||
[reitit.coercion.spec :as spec]
|
[reitit.coercion.spec :as spec]
|
||||||
[reitit.coercion.schema :as schema]))
|
[reitit.coercion.schema :as schema]
|
||||||
|
[schema.core :refer [Int]]))
|
||||||
|
|
||||||
(def app
|
(def app
|
||||||
(ring/ring-handler
|
(ring/ring-handler
|
||||||
|
|
@ -18,14 +19,6 @@
|
||||||
:handler swagger/swagger-spec-handler}}]
|
:handler swagger/swagger-spec-handler}}]
|
||||||
|
|
||||||
["/spec" {:coercion spec/coercion}
|
["/spec" {:coercion spec/coercion}
|
||||||
|
|
||||||
["/minus"
|
|
||||||
{:get {:summary "minus"
|
|
||||||
:parameters {:query {:x int?, :y int?}}
|
|
||||||
:responses {200 {:body {:total int?}}}
|
|
||||||
:handler (fn [{{{:keys [x y]} :query} :parameters}]
|
|
||||||
{:status 200, :body {:total (- x y)}})}}]
|
|
||||||
|
|
||||||
["/plus"
|
["/plus"
|
||||||
{:get {:summary "plus"
|
{:get {:summary "plus"
|
||||||
:parameters {:query {:x int?, :y int?}}
|
:parameters {:query {:x int?, :y int?}}
|
||||||
|
|
@ -34,18 +27,10 @@
|
||||||
{:status 200, :body {:total (+ x y)}})}}]]
|
{:status 200, :body {:total (+ x y)}})}}]]
|
||||||
|
|
||||||
["/schema" {:coercion schema/coercion}
|
["/schema" {:coercion schema/coercion}
|
||||||
|
|
||||||
["/minus"
|
|
||||||
{:get {:summary "minus"
|
|
||||||
:parameters {:query {:x Long, :y Long}}
|
|
||||||
:responses {200 {:body {:total Long}}}
|
|
||||||
:handler (fn [{{{:keys [x y]} :query} :parameters}]
|
|
||||||
{:status 200, :body {:total (- x y)}})}}]
|
|
||||||
|
|
||||||
["/plus"
|
["/plus"
|
||||||
{:get {:summary "plus"
|
{:get {:summary "plus"
|
||||||
:parameters {:query {:x Long, :y Long}}
|
:parameters {:query {:x Int, :y Int}}
|
||||||
:responses {200 {:body {:total Long}}}
|
:responses {200 {:body {:total Int}}}
|
||||||
:handler (fn [{{{:keys [x y]} :query} :parameters}]
|
:handler (fn [{{{:keys [x y]} :query} :parameters}]
|
||||||
{:status 200, :body {:total (+ x y)}})}}]]]
|
{:status 200, :body {:total (+ x y)}})}}]]]
|
||||||
|
|
||||||
|
|
@ -61,22 +46,12 @@
|
||||||
(app
|
(app
|
||||||
{:request-method :get
|
{:request-method :get
|
||||||
:uri "/api/spec/plus"
|
:uri "/api/spec/plus"
|
||||||
:query-params {:x "2", :y "1"}})))
|
|
||||||
(is (= {:body {:total 1}, :status 200}
|
|
||||||
(app
|
|
||||||
{:request-method :get
|
|
||||||
:uri "/api/spec/minus"
|
|
||||||
:query-params {:x "2", :y "1"}}))))
|
:query-params {:x "2", :y "1"}}))))
|
||||||
(testing "schema"
|
(testing "schema"
|
||||||
(is (= {:body {:total 3}, :status 200}
|
(is (= {:body {:total 3}, :status 200}
|
||||||
(app
|
(app
|
||||||
{:request-method :get
|
{:request-method :get
|
||||||
:uri "/api/schema/plus"
|
:uri "/api/schema/plus"
|
||||||
:query-params {:x "2", :y "1"}})))
|
|
||||||
(is (= {:body {:total 1}, :status 200}
|
|
||||||
(app
|
|
||||||
{:request-method :get
|
|
||||||
:uri "/api/schema/minus"
|
|
||||||
:query-params {:x "2", :y "1"}})))))
|
:query-params {:x "2", :y "1"}})))))
|
||||||
(testing "swagger-spec"
|
(testing "swagger-spec"
|
||||||
(let [spec (:body (app
|
(let [spec (:body (app
|
||||||
|
|
@ -84,30 +59,7 @@
|
||||||
:uri "/api/swagger.json"}))]
|
:uri "/api/swagger.json"}))]
|
||||||
(is (= {:x-id ::math
|
(is (= {:x-id ::math
|
||||||
:info {:title "my-api"}
|
:info {:title "my-api"}
|
||||||
:paths {
|
:paths {"/api/schema/plus" {:get {:summary "plus"}} ;; TODO: implement!
|
||||||
;; schema doesn't yet generate parameter data
|
|
||||||
"/api/schema/minus" {:get {:summary "minus"}}
|
|
||||||
"/api/schema/plus" {:get {:summary "plus"}}
|
|
||||||
|
|
||||||
;; spec does!
|
|
||||||
"/api/spec/minus" {:get {:parameters [{:description ""
|
|
||||||
:format "int64"
|
|
||||||
:in "query"
|
|
||||||
:name "x"
|
|
||||||
:required true
|
|
||||||
:type "integer"}
|
|
||||||
{:description ""
|
|
||||||
:format "int64"
|
|
||||||
:in "query"
|
|
||||||
:name "y"
|
|
||||||
:required true
|
|
||||||
:type "integer"}]
|
|
||||||
:responses {200 {:description ""
|
|
||||||
:schema {:properties {"total" {:format "int64"
|
|
||||||
:type "integer"}}
|
|
||||||
:required ["total"]
|
|
||||||
:type "object"}}}
|
|
||||||
:summary "minus"}}
|
|
||||||
"/api/spec/plus" {:get {:parameters [{:description ""
|
"/api/spec/plus" {:get {:parameters [{:description ""
|
||||||
:format "int64"
|
:format "int64"
|
||||||
:in "query"
|
:in "query"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue