aboutsummaryrefslogtreecommitdiff
path: root/core-testkit/src/main/scala/xyz/driver/core/testkit/hsql/HsqlTestDatabase.scala
blob: 8a4c3e81a86386f78871d4ef5b6b0b2db2970283 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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
  }
}