From 2984b4911e7387f7d4b80a161bcb84b20911e9ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Diedrich?= Date: Fri, 5 Jun 2020 20:28:33 +0200 Subject: [PATCH] init --- .gitignore | 10 ++++++++++ README.md | 19 +++++++++++++++++++ project.clj | 12 ++++++++++++ src/clojsa/handler.clj | 11 +++++++++++ test/clojsa/handler_test.clj | 14 ++++++++++++++ 5 files changed, 66 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 project.clj create mode 100644 src/clojsa/handler.clj create mode 100644 test/clojsa/handler_test.clj diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..22d6a48 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +/target +/lib +/classes +/checkouts +pom.xml +pom.xml.asc +*.jar +*.class +/.lein-* +/.nrepl-port diff --git a/README.md b/README.md new file mode 100644 index 0000000..99902e9 --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +# clojsa + +FIXME + +## Prerequisites + +You will need [Leiningen][] 2.0.0 or above installed. + +[leiningen]: https://github.com/technomancy/leiningen + +## Running + +To start a web server for the application, run: + + lein ring server + +## License + +Copyright © 2020 FIXME diff --git a/project.clj b/project.clj new file mode 100644 index 0000000..6b23907 --- /dev/null +++ b/project.clj @@ -0,0 +1,12 @@ +(defproject clojsa "0.1.0-SNAPSHOT" + :description "FIXME: write description" + :url "http://example.com/FIXME" + :min-lein-version "2.0.0" + :dependencies [[org.clojure/clojure "1.10.0"] + [compojure "1.6.1"] + [ring/ring-defaults "0.3.2"]] + :plugins [[lein-ring "0.12.5"]] + :ring {:handler clojsa.handler/app} + :profiles + {:dev {:dependencies [[javax.servlet/servlet-api "2.5"] + [ring/ring-mock "0.3.2"]]}}) diff --git a/src/clojsa/handler.clj b/src/clojsa/handler.clj new file mode 100644 index 0000000..aa419fa --- /dev/null +++ b/src/clojsa/handler.clj @@ -0,0 +1,11 @@ +(ns clojsa.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)) diff --git a/test/clojsa/handler_test.clj b/test/clojsa/handler_test.clj new file mode 100644 index 0000000..5403075 --- /dev/null +++ b/test/clojsa/handler_test.clj @@ -0,0 +1,14 @@ +(ns clojsa.handler-test + (:require [clojure.test :refer :all] + [ring.mock.request :as mock] + [clojsa.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)))))