Skip to content

Instantly share code, notes, and snippets.

@batsuev
Last active January 1, 2016 23:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save batsuev/d8d1b28910f09e62a9dd to your computer and use it in GitHub Desktop.
Save batsuev/d8d1b28910f09e62a9dd to your computer and use it in GitHub Desktop.
=================== app ==================================================
(ns app.core
(:require [org.httpkit.server :as server]
[ring.util.response :refer [response]]
[ring.middleware.json :refer :all]
[compojure.core :refer :all])
(:import (java.lang System))
(:gen-class))
(defn handler [request]
(prn (get-in request [:body "user"]))
(response {:foo "bar"}))
(defroutes app-routes
(POST "/test" [] handler))
(def app (-> app-routes wrap-json-body wrap-json-response))
(defn -main []
(prn "create server")
(server/run-server app {:port 49000}))
=================== test ==================================================
(ns app.test.core
(:use [app.core])
(:use [clojure.test])
(:use [peridot.core])
(:require [cheshire.core :as json]))
(deftest simple-test
(let [res (-> (session app)
(request "/test"
:request-method :post
:content-type "application/json"
:body (.getBytes "{\"user\": \"Vasya\"}" "UTF-8")))]
(let [data (json/parse-string (:body (:response res)) true)]
(is "bar" (:foo data)))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment