aboutsummaryrefslogtreecommitdiff
path: root/core-testkit/src/main/scala/xyz/driver/core/testkit/hsql/HsqlTestDatabase.scala
diff options
context:
space:
mode:
Diffstat (limited to 'core-testkit/src/main/scala/xyz/driver/core/testkit/hsql/HsqlTestDatabase.scala')
-rw-r--r--core-testkit/src/main/scala/xyz/driver/core/testkit/hsql/HsqlTestDatabase.scala26
1 files changed, 26 insertions, 0 deletions
diff --git a/core-testkit/src/main/scala/xyz/driver/core/testkit/hsql/HsqlTestDatabase.scala b/core-testkit/src/main/scala/xyz/driver/core/testkit/hsql/HsqlTestDatabase.scala
new file mode 100644
index 0000000..8a4c3e8
--- /dev/null
+++ b/core-testkit/src/main/scala/xyz/driver/core/testkit/hsql/HsqlTestDatabase.scala
@@ -0,0 +1,26 @@
+package xyz.driver.test.hsql
+
+import java.nio.file.{Files, Paths}
+
+import slick.dbio.DBIO
+
+trait HsqlTestDatabase {
+ def insertTestData(database: xyz.driver.core.database.Database, filePath: String): DBIO[Int] = {
+ import database.profile.api._
+
+ val file = Paths.get(filePath)
+ val sqlLine = new String(Files.readAllBytes(file), "UTF-8")
+
+ val createProcedure =
+ sqlu"""CREATE PROCEDURE INSERT_TEST_DATA()
+ MODIFIES SQL DATA
+ BEGIN ATOMIC
+ #$sqlLine
+ END;
+ """
+ val callProcedure = sqlu"""{call INSERT_TEST_DATA()}"""
+ val dropProcedure = sqlu"""drop PROCEDURE INSERT_TEST_DATA;"""
+
+ createProcedure >> callProcedure >> dropProcedure
+ }
+}