1
1
package com .campudus .test
2
2
3
3
import scala .concurrent .Future
4
-
5
4
import org .vertx .scala .core .json .JsonArray
6
- import org .vertx .testtools .VertxAssert .assertEquals
5
+ import org .vertx .testtools .VertxAssert ._
6
+ import org .vertx .scala .core .json .Json
7
7
8
8
trait BaseSqlTests { this : SqlTestVerticle =>
9
9
lazy val logger = getContainer().logger()
@@ -133,4 +133,34 @@ trait BaseSqlTests { this: SqlTestVerticle =>
133
133
}
134
134
}
135
135
136
+ // TODO make possible to query multiple tables in a single select
137
+ // def selectMultipleTables(): Unit = asyncTest(withTable("some_test1")(withTable("some_test2") {
138
+ // val mrTest = Json.arr(List("Mr. Test", "test@example.com", 15))
139
+ // val mrsTest = Json.arr(List("Mrs. Test", "test2@example.com", 14))
140
+ // val mrExample = Json.arr(List("Mr. Example", "test@example.com", 13))
141
+ // for {
142
+ // _ <- ebSend(insert("some_test1", Json.arr(List("name", "email", "age")), mrTest))
143
+ // _ <- ebSend(insert("some_test1", Json.arr(List("name", "email", "age")), mrsTest))
144
+ // _ <- ebSend(insert("some_test2", Json.arr(List("name", "email", "age")), mrExample))
145
+ // reply <- ebSend(select(Json(List("some_test1", "some_test2"), Json.arr(List("some_test2.name", "some_test2.email", "some_test2.age"))))
146
+ // } yield {
147
+ // assertEquals("ok", reply.getString("status"))
148
+ // assertEquals(2, reply.getString("status"))
149
+ // val results = reply.getArray("results")
150
+ // assertTrue("should contain Mr. Example", results.get[JsonArray](0).contains(mrExample))
151
+ // }
152
+ // }))
153
+
154
+ def selectWithCondition (): Unit = fail(" not implemented" )
155
+ def updateWithoutCondition (): Unit = fail(" not implemented" )
156
+ def updateWithCondition (): Unit = fail(" not implemented" )
157
+ def preparedSelect (): Unit = typeTestInsert {
158
+ expectOk(prepared(" SELECT email FROM some_test WHERE name=? AND age=?" , Json .arr(List (" Mr. Test" , 15 )))) map { reply =>
159
+ val receivedFields = reply.getArray(" fields" )
160
+ assertEquals(Json .arr(List (" email" )), receivedFields)
161
+ assertEquals(1 , reply.getInteger(" rows" ))
162
+ assertEquals(" test@example.com" , reply.getArray(" results" ).get[JsonArray ](0 ).get[String ](0 ))
163
+ }
164
+ }
165
+ def transaction (): Unit = fail(" not implemented" )
136
166
}
0 commit comments