Skip to content

Commit

Permalink
Run a Fetch into a Monix Task
Browse files Browse the repository at this point in the history
purrgrammer committed Mar 4, 2019
1 parent d396bf1 commit 85a9344
Showing 2 changed files with 54 additions and 1 deletion.
52 changes: 52 additions & 0 deletions examples/src/test/scala/MonixExample.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/*
* Copyright 2016-2019 47 Degrees, LLC. <http://www.47deg.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

import cats.effect._

import scala.concurrent._

import monix.execution._
import monix.eval._
import monix.eval.instances._

import fetch._

import org.scalatest.{AsyncFreeSpec, Matchers, WordSpec}

class MonixExample extends AsyncFreeSpec with Matchers {
implicit val scheduler: Scheduler = Scheduler.io(name = "test-scheduler")
override val executionContext: ExecutionContext = scheduler
implicit val t: Timer[Task] = scheduler.timer
implicit val cs: ContextShift[Task] = scheduler.contextShift

import DatabaseExample._

"We can run a Fetch into a Monix Task" in {
def fetch[F[_]: ConcurrentEffect]: Fetch[F, Author] =
Authors.fetchAuthor(1)

val task = Fetch.runLog[Task](fetch)

task
.map({
case (log, result) => {
result shouldEqual Author(1, "William Shakespeare")
log.rounds.size shouldEqual 1
}
})
.runToFuture
}
}
3 changes: 2 additions & 1 deletion project/ProjectPlugin.scala
Original file line number Diff line number Diff line change
@@ -70,7 +70,8 @@ object ProjectPlugin extends AutoPlugin {
"org.tpolecat" %% "atto-core" % "0.6.5",
"org.http4s" %% "http4s-blaze-client" % "0.19.0-M2",
"org.http4s" %% "http4s-circe" % "0.19.0-M2",
"redis.clients" % "jedis" % "2.9.0"
"redis.clients" % "jedis" % "2.9.0",
"io.monix" %% "monix" % "3.0.0-RC2"
)) ++ commonCrossDependencies
}

0 comments on commit 85a9344

Please sign in to comment.