2 | 2 |
[puppetlabs.comidi :as comidi :refer :all]
|
3 | 3 |
[schema.test :as schema-test]
|
4 | 4 |
[schema.core :as schema]
|
5 | |
[clojure.zip :as zip]))
|
|
5 |
[clojure.zip :as zip]
|
|
6 |
[bidi.bidi :as bidi]))
|
6 | 7 |
|
7 | 8 |
(use-fixtures :once schema-test/validate-schemas)
|
8 | 9 |
|
|
358 | 359 |
dd-route (DELETE "/dd" request "dd!")
|
359 | 360 |
ee-route (GET "/ee" request "ee!")
|
360 | 361 |
ff-route (ANY "/ff" request "ff!")
|
|
362 |
gh-route (ANY (bidi/alts "/gg" "/hh") request "gg-or-hh!")
|
361 | 363 |
left-routes (context "/left" aa-route bb-route)
|
362 | 364 |
middle-routes (context "/middle" cc-route dd-route)
|
363 | 365 |
right-routes (context "/right" ee-route ff-route)
|
364 | |
handler (-> (routes left-routes middle-routes right-routes) routes->handler)]
|
|
366 |
alternate-routes ["/alts" [gh-route]]
|
|
367 |
handler (-> (routes left-routes middle-routes right-routes alternate-routes) routes->handler)]
|
365 | 368 |
(testing "Routes without middleware applied"
|
366 | 369 |
(is (= (:body (handler {:uri "/left/aa" :request-method :get})) "aa!"))
|
367 | 370 |
(is (= (:body (handler {:uri "/left/bb" :request-method :post})) "bb!"))
|
368 | 371 |
(is (= (:body (handler {:uri "/middle/cc" :request-method :get})) "cc!"))
|
369 | 372 |
(is (= (:body (handler {:uri "/middle/dd" :request-method :delete})) "dd!"))
|
370 | 373 |
(is (= (:body (handler {:uri "/right/ee" :request-method :get})) "ee!"))
|
371 | |
(is (= (:body (handler {:uri "/right/ff" :request-method :delete})) "ff!")))
|
|
374 |
(is (= (:body (handler {:uri "/right/ff" :request-method :delete})) "ff!"))
|
|
375 |
(is (= (:body (handler {:uri "/alts/gg" :request-method :put})) "gg-or-hh!"))
|
|
376 |
(is (= (:body (handler {:uri "/alts/hh" :request-method :post})) "gg-or-hh!"))
|
|
377 |
(is (= (:body (handler {:uri "/alts/ii" :request-method :post})) nil)))
|
372 | 378 |
(testing "Routes but now with middleware applied"
|
373 | 379 |
(let [wrapped-bb-route (-> bb-route (wrap-routes bb-wrapper-middleware))
|
374 | 380 |
left-routes (-> (context "/left" aa-route wrapped-bb-route)
|
375 | 381 |
(wrap-routes inner-middleware)
|
376 | 382 |
(wrap-routes outer-middleware))
|
377 | |
middle-routes (context "/middle" cc-route dd-route)
|
378 | |
right-routes (-> (context "/right" ee-route ff-route) (wrap-routes outer-middleware))
|
379 | |
handler (-> (routes left-routes middle-routes right-routes) routes->handler)]
|
|
383 |
right-routes (-> right-routes (wrap-routes outer-middleware))
|
|
384 |
alternate-routes (-> alternate-routes (wrap-routes inner-middleware) (wrap-routes outer-middleware))
|
|
385 |
handler (-> (routes left-routes middle-routes right-routes alternate-routes) routes->handler)]
|
380 | 386 |
(is (= (:body (handler {:uri "/left/aa" :request-method :get})) "outer-inner-aa!"))
|
381 | 387 |
(is (= (:body (handler {:uri "/left/bb" :request-method :post})) "outer-inner-bb-wrapper-bb!"))
|
382 | 388 |
(is (= (:body (handler {:uri "/middle/cc" :request-method :get})) "cc!"))
|
383 | 389 |
(is (= (:body (handler {:uri "/middle/dd" :request-method :delete})) "dd!"))
|
384 | 390 |
(is (= (:body (handler {:uri "/right/ee" :request-method :get})) "outer-ee!"))
|
385 | |
(is (= (:body (handler {:uri "/right/ff" :request-method :delete})) "outer-ff!"))))))
|
|
391 |
(is (= (:body (handler {:uri "/right/ff" :request-method :delete})) "outer-ff!"))
|
|
392 |
(is (= (:body (handler {:uri "/alts/gg" :request-method :delete})) "outer-inner-gg-or-hh!"))
|
|
393 |
(is (= (:body (handler {:uri "/alts/hh" :request-method :delete})) "outer-inner-gg-or-hh!"))))))
|
386 | 394 |
|
387 | 395 |
(deftest destructuring-test
|
388 | 396 |
(testing "Compojure-style destructuring works as expected"
|