summaryrefslogtreecommitdiff
path: root/example/formJsonPost/app/test/src/ExampleTests.scala
diff options
context:
space:
mode:
Diffstat (limited to 'example/formJsonPost/app/test/src/ExampleTests.scala')
-rw-r--r--example/formJsonPost/app/test/src/ExampleTests.scala39
1 files changed, 39 insertions, 0 deletions
diff --git a/example/formJsonPost/app/test/src/ExampleTests.scala b/example/formJsonPost/app/test/src/ExampleTests.scala
new file mode 100644
index 0000000..137a978
--- /dev/null
+++ b/example/formJsonPost/app/test/src/ExampleTests.scala
@@ -0,0 +1,39 @@
+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{
+ 'FormJsonPost - test(FormJsonPost){ host =>
+ requests.post(s"$host/json", data = """{"value1": true, "value2": [3]}""").text() ==>
+ "OK true Vector(3)"
+
+ requests.post(
+ s"$host/form",
+ data = Seq("value1" -> "hello", "value2" -> "1", "value2" -> "2")
+ ).text() ==>
+ "OK FormValue(hello,null) List(1, 2)"
+
+ val resp = requests.post(
+ s"$host/upload",
+ data = requests.MultiPart(
+ requests.MultiItem("image", "...", "my-best-image.txt")
+ )
+ )
+ resp.text() ==> "my-best-image.txt"
+ }
+ }
+}