diff options
author | Stewart Stewart <stewart@driver.xyz> | 2017-05-24 18:03:26 -0700 |
---|---|---|
committer | Stewart Stewart <stewart@driver.xyz> | 2017-05-24 18:03:26 -0700 |
commit | 82fb75bd23642b46ab2a4d32c49e6967d9c5a7c0 (patch) | |
tree | a4ff5290fd61d2d53e76d5b7d1f963f5c9fe6442 /src/main/scala/xyz/driver/core/database | |
parent | e30d8b75394c4dc95d0c57f324001c52f911e30d (diff) | |
download | driver-core-82fb75bd23642b46ab2a4d32c49e6967d9c5a7c0.tar.gz driver-core-82fb75bd23642b46ab2a4d32c49e6967d9c5a7c0.tar.bz2 driver-core-82fb75bd23642b46ab2a4d32c49e6967d9c5a7c0.zip |
add fixture trait for use in database component tests
Diffstat (limited to 'src/main/scala/xyz/driver/core/database')
-rw-r--r-- | src/main/scala/xyz/driver/core/database/database.scala | 19 |
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 |