lein new compojure

master
Ryan Rix 2015-07-18 19:37:53 -07:00
parent 25bd1706bb
commit 884aa279cc
5 changed files with 66 additions and 0 deletions

10
.gitignore vendored Normal file
View File

@ -0,0 +1,10 @@
/target
/lib
/classes
/checkouts
pom.xml
pom.xml.asc
*.jar
*.class
/.lein-*
/.nrepl-port

19
README.org Normal file
View File

@ -0,0 +1,19 @@
* verse
FIXME
** Prerequisites
You will need [[https://github.com/technomancy/leiningen][Leiningen]] 2.0.0 or above installed.
** Running
To start a web server for the application, run:
#+begin_example
lein ring server
#+end_example
** License
Copyright © 2015 Ryan Rix <ryan@whatthefuck.computer>

12
project.clj Normal file
View File

@ -0,0 +1,12 @@
(defproject verse "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:min-lein-version "2.0.0"
:dependencies [[org.clojure/clojure "1.6.0"]
[compojure "1.3.1"]
[ring/ring-defaults "0.1.2"]]
:plugins [[lein-ring "0.8.13"]]
:ring {:handler verse.handler/app}
:profiles
{:dev {:dependencies [[javax.servlet/servlet-api "2.5"]
[ring-mock "0.1.5"]]}})

11
src/verse/handler.clj Normal file
View File

@ -0,0 +1,11 @@
(ns verse.handler
(:require [compojure.core :refer :all]
[compojure.route :as route]
[ring.middleware.defaults :refer [wrap-defaults site-defaults]]))
(defroutes app-routes
(GET "/" [] "Hello World")
(route/not-found "Not Found"))
(def app
(wrap-defaults app-routes site-defaults))

View File

@ -0,0 +1,14 @@
(ns verse.handler-test
(:require [clojure.test :refer :all]
[ring.mock.request :as mock]
[verse.handler :refer :all]))
(deftest test-app
(testing "main route"
(let [response (app (mock/request :get "/"))]
(is (= (:status response) 200))
(is (= (:body response) "Hello World"))))
(testing "not-found route"
(let [response (app (mock/request :get "/invalid"))]
(is (= (:status response) 404)))))