babashka/test-resources/lib_tests/ruuter/core_test.clj
Bob 8dad1fa473
ruuter and clj-digest tests (#1034)
* add lib tests for using ruuter with built-in httpkit server

* just to be safe, add a timeout to ruuter's HTTP requests

* add tests for clj-commons.digest

* add newly-tested libraries to the library list

* undo paren moves I missed that were done by parinfer

* typo
2021-10-17 23:12:28 +02:00

26 lines
979 B
Clojure

(ns ruuter.core-test
(:require [clojure.test :refer [deftest is testing]]
[org.httpkit.client :as client]
[org.httpkit.server :as server]
[ruuter.core :as ruuter]))
(def routes [{:path "/"
:method :get
:response {:status 200
:body "Hi there!"}}
{:path "/hello/:who"
:method :get
:response (fn [req]
{:status 200
:body (str "Hello, " (:who (:params req)))})}])
(def port 8080)
(deftest ruuter-with-httpkit-test
(let [stop-server (server/run-server #(ruuter/route routes %) {:port port})
fetch #(:body (deref (client/get (str "http://localhost:" port %) {:as :text}) 500 nil))
root-result (fetch "/")
hello-result (fetch "/hello/babashka")]
(stop-server)
(is (= "Hi there!" root-result))
(is (= "Hello, babashka" hello-result))))