Skip to content

Commit a83e770

Browse files
committed
some more tests
1 parent 648869c commit a83e770

File tree

3 files changed

+51
-9
lines changed

3 files changed

+51
-9
lines changed

src/test/scala/com/campudus/test/BaseSqlTests.scala

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.campudus.test
22

33
import scala.concurrent.Future
4-
54
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
77

88
trait BaseSqlTests { this: SqlTestVerticle =>
99
lazy val logger = getContainer().logger()
@@ -133,4 +133,34 @@ trait BaseSqlTests { this: SqlTestVerticle =>
133133
}
134134
}
135135

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")
136166
}

src/test/scala/com/campudus/test/SqlTestVerticle.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ abstract class SqlTestVerticle extends org.vertx.testtools.TestVerticle with Ver
8585

8686
protected def select(table: String, fields: JsonArray) = Json.obj("action" -> "select", "table" -> table, "fields" -> fields)
8787

88+
protected def prepared(statement: String, values: JsonArray) = Json.obj("action" -> "prepared", "statement" -> statement, "values" -> values)
89+
8890
protected def createTable(tableName: String) = expectOk(raw("""
8991
CREATE TABLE """ + tableName + """ (
9092
id SERIAL,

src/test/scala/com/campudus/test/postgresql/PostgreSqlTest.scala

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,32 @@ class PostgreSqlTest extends SqlTestVerticle with BaseSqlTests {
1313
override def getConfig = config
1414

1515
@Test
16-
override def selectFiltered(): Unit = super.selectFiltered()
16+
override def simpleConnection(): Unit = super.simpleConnection()
1717
@Test
18-
override def selectEverything(): Unit = super.selectEverything()
18+
override def multipleFields(): Unit = super.multipleFields()
19+
@Test
20+
override def createAndDropTable(): Unit = super.createAndDropTable()
21+
@Test
22+
override def insertCorrect(): Unit = super.insertCorrect()
23+
@Test
24+
override def insertTypeTest(): Unit = super.insertTypeTest()
1925
@Test
2026
override def insertUniqueProblem(): Unit = super.insertUniqueProblem()
2127
@Test
2228
override def insertMaliciousDataTest(): Unit = super.insertMaliciousDataTest()
2329
@Test
24-
override def insertTypeTest(): Unit = super.insertTypeTest()
30+
override def selectEverything(): Unit = super.selectEverything()
2531
@Test
26-
override def insertCorrect(): Unit = super.insertCorrect()
32+
override def selectFiltered(): Unit = super.selectFiltered()
2733
@Test
28-
override def createAndDropTable(): Unit = super.createAndDropTable()
34+
override def selectWithCondition(): Unit = super.selectWithCondition()
2935
@Test
30-
override def multipleFields(): Unit = super.multipleFields()
36+
override def updateWithoutCondition(): Unit = super.updateWithoutCondition()
3137
@Test
32-
override def simpleConnection(): Unit = super.simpleConnection()
38+
override def updateWithCondition(): Unit = super.updateWithCondition()
39+
@Test
40+
override def preparedSelect(): Unit = super.preparedSelect()
41+
@Test
42+
override def transaction(): Unit = super.transaction()
3343

3444
}

0 commit comments

Comments
 (0)