aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/xyz/driver/pdsuicommon/Mocks.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/xyz/driver/pdsuicommon/Mocks.scala')
-rw-r--r--src/test/scala/xyz/driver/pdsuicommon/Mocks.scala37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/test/scala/xyz/driver/pdsuicommon/Mocks.scala b/src/test/scala/xyz/driver/pdsuicommon/Mocks.scala
index d4b4d3c..1c01483 100644
--- a/src/test/scala/xyz/driver/pdsuicommon/Mocks.scala
+++ b/src/test/scala/xyz/driver/pdsuicommon/Mocks.scala
@@ -10,7 +10,7 @@ import com.typesafe.config.ConfigFactory
import xyz.driver.pdsuicommon.db._
import xyz.driver.pdsuicommon.http.HttpFetcher
-import scala.concurrent.{ExecutionContext, Future}
+import scala.concurrent.Future
class MockDataSource extends DataSource with Closeable {
override def getConnection: Connection = throw new NotImplementedError("MockDataSource.getConnection")
@@ -27,10 +27,10 @@ class MockDataSource extends DataSource with Closeable {
override def isWrapperFor(iface: Class[_]): Boolean = throw new NotImplementedError("MockDataSource.isWrapperFor")
}
-object MockSqlContext {
+object MockMySqlContext {
- val Settings = SqlContext.Settings(
- credentials = SqlContext.DbCredentials(
+ val Settings = MySqlContext.Settings(
+ credentials = MySqlContext.DbCredentials(
user = "test",
password = "test",
host = "localhost",
@@ -45,18 +45,16 @@ object MockSqlContext {
connectionAttemptsOnStartup = 1,
threadPoolSize = 10
)
-
}
-class MockSqlContext(ec: ExecutionContext) extends SqlContext(new MockDataSource, MockSqlContext.Settings) {
- override implicit val executionContext = ec
- override protected def withConnection[T](f: Connection => T) = {
+class MockMySqlContext() extends MySqlContext(new MockDataSource, MockMySqlContext.Settings) {
+ override protected def withConnection[T](f: Connection => T): Nothing = {
throw new NotImplementedError("MockSqlContext.withConnection")
}
}
-class MockFactory()(implicit val sqlContext: SqlContext) {
- val MockHttpFetcher: HttpFetcher = (url: URL) => {
+class MockFactory()(implicit val sqlContext: MySqlContext) {
+ val MockHttpFetcher: HttpFetcher = { (url: URL) =>
Future.successful(Array.empty[Byte])
}
}
@@ -64,25 +62,28 @@ class MockFactory()(implicit val sqlContext: SqlContext) {
object MockQueryBuilder {
type MockRunnerIn = (SearchFilterExpr, Sorting, Option[Pagination])
- type MockRunnerOut[T] = Future[Seq[T]]
- type MockCountRunnerOut = Future[QueryBuilder.CountResult]
+ type MockRunnerOut[T] = Seq[T]
+ type MockCountRunnerOut = QueryBuilder.CountResult
def apply[T](matcher: PartialFunction[MockRunnerIn, MockRunnerOut[T]])(
countMatcher: PartialFunction[MockRunnerIn, MockCountRunnerOut])(
- implicit context: SqlContext): MysqlQueryBuilder[T] = {
- def runner(parameters: QueryBuilderParameters): MockRunnerOut[T] = {
+ implicit context: MySqlContext): MysqlQueryBuilder[T] = {
+
+ val runner: QueryBuilder.Runner[T] = { parameters =>
matcher((parameters.filter, parameters.sorting, parameters.pagination))
}
- def countRunner(parameters: QueryBuilderParameters): MockCountRunnerOut = {
+
+ val countRunner: QueryBuilder.CountRunner = { parameters =>
countMatcher((parameters.filter, parameters.sorting, parameters.pagination))
}
+
MysqlQueryBuilder[T](
tableName = "",
lastUpdateFieldName = Option.empty[String],
nullableFields = Set.empty[String],
links = Set.empty[TableLink],
- runner = runner _,
- countRunner = countRunner _
- )(context.executionContext)
+ runner = runner,
+ countRunner = countRunner
+ )
}
}