From a997aa6539d1f0af4ab4fc395ff2033335da312a Mon Sep 17 00:00:00 2001 From: vlad Date: Fri, 30 Jun 2017 12:29:54 -0700 Subject: Latest PDS UI utils --- src/test/scala/xyz/driver/pdsuicommon/Mocks.scala | 37 ++++++++++++----------- 1 file changed, 19 insertions(+), 18 deletions(-) (limited to 'src/test/scala/xyz/driver/pdsuicommon/Mocks.scala') 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 + ) } } -- cgit v1.2.3