summaryrefslogtreecommitdiff
path: root/example/minimalApplication/app
diff options
context:
space:
mode:
Diffstat (limited to 'example/minimalApplication/app')
-rw-r--r--example/minimalApplication/app/src/MinimalApplication.scala14
-rw-r--r--example/minimalApplication/app/test/src/ExampleTests.scala33
2 files changed, 47 insertions, 0 deletions
diff --git a/example/minimalApplication/app/src/MinimalApplication.scala b/example/minimalApplication/app/src/MinimalApplication.scala
new file mode 100644
index 0000000..5357e64
--- /dev/null
+++ b/example/minimalApplication/app/src/MinimalApplication.scala
@@ -0,0 +1,14 @@
+package app
+object MinimalApplication extends cask.MainRoutes{
+ @cask.get("/")
+ def hello() = {
+ "Hello World!"
+ }
+
+ @cask.post("/do-thing")
+ def doThing(request: cask.Request) = {
+ new String(request.data.readAllBytes()).reverse
+ }
+
+ initialize()
+}
diff --git a/example/minimalApplication/app/test/src/ExampleTests.scala b/example/minimalApplication/app/test/src/ExampleTests.scala
new file mode 100644
index 0000000..8c8ecb2
--- /dev/null
+++ b/example/minimalApplication/app/test/src/ExampleTests.scala
@@ -0,0 +1,33 @@
+package app
+import io.undertow.Undertow
+
+import utest._
+
+object ExampleTests extends TestSuite{
+ def test[T](example: cask.main.BaseMain)(f: String => T): T = {
+ val server = Undertow.builder
+ .addHttpListener(8080, "localhost")
+ .setHandler(example.defaultHandler)
+ .build
+ server.start()
+ val res =
+ try f("http://localhost:8080")
+ finally server.stop()
+ res
+ }
+
+ val tests = Tests {
+ 'MinimalApplication - test(MinimalApplication) { host =>
+ val success = requests.get(host)
+
+ success.text() ==> "Hello World!"
+ success.statusCode ==> 200
+
+ requests.get(s"$host/doesnt-exist").statusCode ==> 404
+
+ requests.post(s"$host/do-thing", data = "hello").text() ==> "olleh"
+
+ requests.get(s"$host/do-thing").statusCode ==> 404
+ }
+ }
+}