From 4d797d0b5d98e4271cb1c118585d3c2c17c57ec6 Mon Sep 17 00:00:00 2001 From: Tommi Reiman Date: Tue, 21 Aug 2018 22:01:14 +0300 Subject: [PATCH] transform-test --- test/cljc/reitit/http_test.cljc | 55 +++++++++++++++++---------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/test/cljc/reitit/http_test.cljc b/test/cljc/reitit/http_test.cljc index 79fd20b7..48a90730 100644 --- a/test/cljc/reitit/http_test.cljc +++ b/test/cljc/reitit/http_test.cljc @@ -234,36 +234,37 @@ (is (= 406 (:status (respond)))) (is (= ::nil (raise)))))))))) -#_(deftest middleware-transform-test - (let [middleware (fn [name] {:name name - :wrap (fn [handler] - (fn [request] - (handler (update request ::mw (fnil conj []) name))))}) - handler (fn [{:keys [::mw]}] {:status 200 :body (conj mw :ok)}) - request {:uri "/api/avaruus" :request-method :get} - create (fn [options] - (http/ring-handler - (http/router - ["/api" {:interceptors [(middleware :olipa)]} - ["/avaruus" {:interceptors [(middleware :kerran)] - :get {:handler handler - :interceptors [(middleware :avaruus)]}}]] - options)))] +(deftest interceptor-transform-test + (let [interceptor (fn [name] {:name name + :enter (fn [ctx] + (update-in ctx [:request ::i] (fnil conj []) name))}) + handler (fn [{:keys [::i]}] {:status 200 :body (conj i :ok)}) + request {:uri "/api/avaruus" :request-method :get} + create (fn [options] + (http/ring-handler + (http/router + ["/api" {:interceptors [(interceptor :olipa)]} + ["/avaruus" {:interceptors [(interceptor :kerran)] + :get {:handler handler + :interceptors [(interceptor :avaruus)]}}]] + options) + nil + {:executor sieppari/executor}))] - (testing "by default, all middleware are applied in order" - (let [app (create nil)] - (is (= {:status 200, :body [:olipa :kerran :avaruus :ok]} - (app request))))) + (testing "by default, all middleware are applied in order" + (let [app (create nil)] + (is (= {:status 200, :body [:olipa :kerran :avaruus :ok]} + (app request))))) - (testing "middleware can be re-ordered" - (let [app (create {::interceptor/transform (partial sort-by :name)})] - (is (= {:status 200, :body [:avaruus :kerran :olipa :ok]} - (app request))))) + (testing "middleware can be re-ordered" + (let [app (create {::interceptor/transform (partial sort-by :name)})] + (is (= {:status 200, :body [:avaruus :kerran :olipa :ok]} + (app request))))) - (testing "adding debug middleware between middleware" - (let [app (create {::interceptor/transform #(interleave % (repeat (middleware "debug")))})] - (is (= {:status 200, :body [:olipa "debug" :kerran "debug" :avaruus "debug" :ok]} - (app request))))))) + (testing "adding debug middleware between middleware" + (let [app (create {::interceptor/transform #(interleave % (repeat (interceptor "debug")))})] + (is (= {:status 200, :body [:olipa "debug" :kerran "debug" :avaruus "debug" :ok]} + (app request))))))) #?(:clj (deftest resource-handler-test