mirror of
https://github.com/metosin/reitit.git
synced 2025-12-18 17:01:11 +00:00
Add tests for missing sieppari asyncs
This commit is contained in:
parent
8f423b1354
commit
26dcbef5d1
1 changed files with 33 additions and 1 deletions
|
|
@ -6,7 +6,8 @@
|
||||||
[reitit.interceptor.sieppari :as sieppari]
|
[reitit.interceptor.sieppari :as sieppari]
|
||||||
[reitit.http :as http]
|
[reitit.http :as http]
|
||||||
[reitit.ring :as ring]
|
[reitit.ring :as ring]
|
||||||
[reitit.core :as r])
|
[reitit.core :as r]
|
||||||
|
[clojure.core.async :as a])
|
||||||
(:import (clojure.lang ExceptionInfo)))
|
(:import (clojure.lang ExceptionInfo)))
|
||||||
|
|
||||||
(defn interceptor [name]
|
(defn interceptor [name]
|
||||||
|
|
@ -281,6 +282,37 @@
|
||||||
(is (= 406 (:status (respond))))
|
(is (= 406 (:status (respond))))
|
||||||
(is (= ::nil (raise))))))))))
|
(is (= ::nil (raise))))))))))
|
||||||
|
|
||||||
|
(deftest core-async-test
|
||||||
|
(testing "works if registered"
|
||||||
|
(require '[sieppari.async.core-async])
|
||||||
|
(let [response {:status 200, :body "ok"}
|
||||||
|
app (http/ring-handler
|
||||||
|
(http/router
|
||||||
|
["/ping" {:get {:interceptors [{:enter #(a/go %)}]
|
||||||
|
:handler (fn [_] (a/go response))}}])
|
||||||
|
(ring/create-default-handler)
|
||||||
|
{:executor sieppari/executor})]
|
||||||
|
(let [respond (promise)]
|
||||||
|
(app {:request-method :get, :uri "/ping"} respond ::irrelevant)
|
||||||
|
(is (= response @respond))))))
|
||||||
|
|
||||||
|
(defrecord MyAsyncContext [])
|
||||||
|
|
||||||
|
(deftest unknown-async-test
|
||||||
|
(testing "works if registered"
|
||||||
|
(require '[sieppari.async.core-async])
|
||||||
|
(let [response {:status 200, :body "ok"}
|
||||||
|
app (http/ring-handler
|
||||||
|
(http/router
|
||||||
|
["/ping" {:get {:interceptors [{:enter map->MyAsyncContext}]
|
||||||
|
:handler (fn [_] response)}}])
|
||||||
|
(ring/create-default-handler)
|
||||||
|
{:executor sieppari/executor})]
|
||||||
|
(let [raise (promise)]
|
||||||
|
(app {:request-method :get, :uri "/ping"} ::irrelevant raise)
|
||||||
|
(let [response' @raise]
|
||||||
|
(is (instance? ExceptionInfo response')))))))
|
||||||
|
|
||||||
(deftest interceptor-transform-test
|
(deftest interceptor-transform-test
|
||||||
(let [interceptor (fn [name] {:name name
|
(let [interceptor (fn [name] {:name name
|
||||||
:enter (fn [ctx]
|
:enter (fn [ctx]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue