aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Smith <zach@driver.xyz>2017-08-22 16:26:15 -0700
committerZach Smith <zach@driver.xyz>2017-08-22 16:26:15 -0700
commitd9ed9e9fff25548f7aa85be5875c5d1998258198 (patch)
tree96766b5b7910b1a97f46a8cac97ec9772f6096dd
parentd8932d000f6af3ab595ffdde43e7afb65759d80d (diff)
downloaddriver-core-d9ed9e9fff25548f7aa85be5875c5d1998258198.tar.gz
driver-core-d9ed9e9fff25548f7aa85be5875c5d1998258198.tar.bz2
driver-core-d9ed9e9fff25548f7aa85be5875c5d1998258198.zip
Remove test-related classes out of database package
-rw-r--r--build.sbt5
-rw-r--r--src/main/scala/xyz/driver/core/database/database.scala106
2 files changed, 1 insertions, 110 deletions
diff --git a/build.sbt b/build.sbt
index eb17abf..f0a0a73 100644
--- a/build.sbt
+++ b/build.sbt
@@ -21,8 +21,5 @@ lazy val core = (project in file("."))
"com.typesafe.slick" %% "slick" % "3.1.1",
"com.typesafe" % "config" % "1.2.1",
"com.typesafe.scala-logging" %% "scala-logging" % "3.5.0",
- "ch.qos.logback" % "logback-classic" % "1.1.3",
- "com.spotify" % "docker-client" % "8.9.0" classifier "shaded" excludeAll(
- ExclusionRule(organization = "com.fasterxml.jackson.core")
- )
+ "ch.qos.logback" % "logback-classic" % "1.1.3"
))
diff --git a/src/main/scala/xyz/driver/core/database/database.scala b/src/main/scala/xyz/driver/core/database/database.scala
index ac695da..1dd0355 100644
--- a/src/main/scala/xyz/driver/core/database/database.scala
+++ b/src/main/scala/xyz/driver/core/database/database.scala
@@ -6,8 +6,6 @@ import xyz.driver.core.date.Date
import xyz.driver.core.time.Time
import scala.concurrent.Future
-import scala.concurrent.ExecutionContext
-import java.nio.file.{Files, Paths}
import com.typesafe.config.Config
package database {
@@ -122,110 +120,6 @@ package database {
def naturalKeyMapper[T] = MappedColumnType.base[Id[T], String](_.value, Id[T](_))
}
- trait PostgresDockerContainerDatabase {
- import com.spotify.docker.client._
- import com.spotify.docker.client.messages._
-
- lazy val dockerClient: DockerClient = DefaultDockerClient.fromEnv().build()
-
- @SuppressWarnings(Array("org.wartremover.warts.Var"))
- var dockerId: Option[String] = None
-
- def setupDockerDatabase(username: String = "postgres",
- password: String = "postgres",
- database: String = "postgres",
- hostPort: Int = 15432): Unit = {
- import collection.JavaConverters._
- import sys.process._
-
- // https://github.com/spotify/docker-client/issues/857
- // dockerClient.pull("postgres")
-
- "docker pull postgres" !
-
- val portBindings: Map[String, List[PortBinding]] = Map("5432" -> List(PortBinding.of("0.0.0.0", hostPort)))
- val portBindingsJava = portBindings.mapValues(_.asJava).asJava
- val hostConfig = HostConfig.builder().portBindings(portBindingsJava).build()
- val containerConfig =
- ContainerConfig
- .builder()
- .hostConfig(hostConfig)
- .image("postgres")
- .exposedPorts("5432")
- .env(
- s"POSTGRES_USER=$username",
- s"POSTGRES_DB=$database",
- s"POSTGRES_PASSWORD=$password"
- )
- .build()
-
- val creation = dockerClient.createContainer(containerConfig)
- dockerClient.startContainer(creation.id())
- dockerId = Some(creation.id())
- }
-
- def killDockerDatabase(): Unit = {
- dockerId.foreach(dockerClient.killContainer)
- }
- }
-
- 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
-
- def createSchema(): Unit = {
- Await.result(slickDal.execute(tables.createNamespaceSchema >> tables.schema.create), Duration.Inf)
- }
-
- def dropSchema(): Unit = {
- Await.result(slickDal.execute(tables.schema.drop >> tables.dropNamespaceSchema), Duration.Inf)
- }
- }
-
- trait PostgresTestData {
- val slickDal: xyz.driver.core.database.SlickDal
- val tables: GeneratedTables
-
- def insertTestData(database: xyz.driver.core.database.Database, filePath: String)(
- implicit executionContext: ExecutionContext): Future[Int] = {
- import database.profile.api.{DBIO => _, _}
-
- val file = Paths.get(filePath)
- val inserts = new String(Files.readAllBytes(file), "UTF-8")
-
- slickDal.execute(sql"#$inserts".asUpdate)
- }
- }
-
- trait HsqlTestData {
- val slickDal: xyz.driver.core.database.SlickDal
- val tables: GeneratedTables
-
- def insertTestData(database: xyz.driver.core.database.Database, filePath: String)(
- implicit executionContext: ExecutionContext): Future[Int] = {
-
- import database.profile.api.{DBIO => _, _}
-
- val file = Paths.get(filePath)
- val sqlLine = new String(Files.readAllBytes(file), "UTF-8")
-
- slickDal.execute(sqlu"""CREATE PROCEDURE INSERT_TEST_DATA()
- MODIFIES SQL DATA
- BEGIN ATOMIC
- #$sqlLine
- END;
- """).flatMap { _ =>
- slickDal.execute(sqlu"""{call INSERT_TEST_DATA()}""").flatMap { _ =>
- slickDal.execute(sqlu"""drop PROCEDURE INSERT_TEST_DATA;""")
- }
- }
- }
- }
-
trait DatabaseObject extends ColumnTypes {
def createTables(): Future[Unit]
def disconnect(): Unit