aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Stewart <stewart@driver.xyz>2017-05-24 18:03:26 -0700
committerStewart Stewart <stewart@driver.xyz>2017-05-24 18:03:26 -0700
commit82fb75bd23642b46ab2a4d32c49e6967d9c5a7c0 (patch)
treea4ff5290fd61d2d53e76d5b7d1f963f5c9fe6442
parente30d8b75394c4dc95d0c57f324001c52f911e30d (diff)
downloaddriver-core-82fb75bd23642b46ab2a4d32c49e6967d9c5a7c0.tar.gz
driver-core-82fb75bd23642b46ab2a4d32c49e6967d9c5a7c0.tar.bz2
driver-core-82fb75bd23642b46ab2a4d32c49e6967d9c5a7c0.zip
add fixture trait for use in database component tests
-rw-r--r--src/main/scala/xyz/driver/core/database/database.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/database/database.scala b/src/main/scala/xyz/driver/core/database/database.scala
index 4c65385..8d61899 100644
--- a/src/main/scala/xyz/driver/core/database/database.scala
+++ b/src/main/scala/xyz/driver/core/database/database.scala
@@ -131,6 +131,25 @@ package database {
def dropNamespaceSchema: StreamingDBIO[Vector[Unit], Unit]
}
+ trait CreateAndDropSchema {
+ val slickDal: xyz.driver.core.database.SlickDal
+ val tables: GeneratedTables
+
+ import tables.profile.api._
+ import scala.concurrent.Await
+ import scala.concurrent.duration.Duration
+
+ // Note: Does not call `super.beforeEach()` (for org.scalatest.BeforeAndAfterEach)
+ def beforeEach(): Unit = {
+ Await.result(slickDal.execute(tables.createNamespaceSchema >> tables.schema.create), Duration.Inf)
+ }
+
+ // Note: Does not call `super.afterEach()` (for org.scalatest.BeforeAndAfterEach)
+ def afterEach(): Unit = {
+ Await.result(slickDal.execute(tables.schema.drop >> tables.dropNamespaceSchema), Duration.Inf)
+ }
+ }
+
trait DatabaseObject extends ColumnTypes {
def createTables(): Future[Unit]
def disconnect(): Unit