mirror of
https://github.com/metosin/reitit.git
synced 2025-12-18 08:51:12 +00:00
test: test for malli vars + swagger
This commit is contained in:
parent
066c54b1d2
commit
c2372473d0
1 changed files with 53 additions and 0 deletions
|
|
@ -507,3 +507,56 @@
|
||||||
:type "string"}]
|
:type "string"}]
|
||||||
(normalize
|
(normalize
|
||||||
(get-in spec [:paths "/upload" :post :parameters]))))))))
|
(get-in spec [:paths "/upload" :post :parameters]))))))))
|
||||||
|
|
||||||
|
(def X :int)
|
||||||
|
(def Y :int)
|
||||||
|
(def Plus [:map
|
||||||
|
[:x #'X]
|
||||||
|
[:y #'Y]])
|
||||||
|
|
||||||
|
(deftest malli-var-test
|
||||||
|
(let [app (ring/ring-handler
|
||||||
|
(ring/router
|
||||||
|
[["/post"
|
||||||
|
{:post {:coercion malli/coercion
|
||||||
|
:parameters {:body #'Plus}
|
||||||
|
:handler identity}}]
|
||||||
|
["/get"
|
||||||
|
{:get {:coercion malli/coercion
|
||||||
|
:parameters {:query
|
||||||
|
#'Plus}
|
||||||
|
:handler identity}}]
|
||||||
|
["/swagger.json"
|
||||||
|
{:get {:no-doc true
|
||||||
|
:handler (swagger/create-swagger-handler)}}]]))
|
||||||
|
spec (:body (app {:request-method :get, :uri "/swagger.json"}))]
|
||||||
|
(is (= {:definitions {"reitit.swagger-test/Plus" {:properties {:x {:$ref "#/definitions/reitit.swagger-test~1X"},
|
||||||
|
:y {:$ref "#/definitions/reitit.swagger-test~1Y"}},
|
||||||
|
:required [:x :y],
|
||||||
|
:type "object"},
|
||||||
|
"reitit.swagger-test/X" {:format "int64",
|
||||||
|
:type "integer"},
|
||||||
|
"reitit.swagger-test/Y" {:format "int64",
|
||||||
|
:type "integer"}},
|
||||||
|
:paths {"/post" {:post {:parameters [{:description "",
|
||||||
|
:in "body",
|
||||||
|
:name "body",
|
||||||
|
:required true,
|
||||||
|
:schema {:$ref "#/definitions/reitit.swagger-test~1Plus"}}],
|
||||||
|
:responses {:default {:description ""}}}}
|
||||||
|
"/get" {:get {:responses {:default {:description ""}}
|
||||||
|
:parameters [{:in "query"
|
||||||
|
:name :x
|
||||||
|
:description ""
|
||||||
|
:type "integer"
|
||||||
|
:required true
|
||||||
|
:format "int64"}
|
||||||
|
{:in "query"
|
||||||
|
:name :y
|
||||||
|
:description ""
|
||||||
|
:type "integer"
|
||||||
|
:required true
|
||||||
|
:format "int64"}]}}}
|
||||||
|
:swagger "2.0",
|
||||||
|
:x-id #{:reitit.swagger/default}}
|
||||||
|
spec))))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue