diff options
author | Jakob Odersky <jakob@odersky.com> | 2018-07-31 12:13:47 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-31 12:13:47 -0700 |
commit | e6552f3b31b55396c652c196c5c3a9c3a6cfed71 (patch) | |
tree | f6826eac8bff8470683547006d1e64d2bc425d55 /src/test/scala/xyz | |
parent | db0c9bebee4cbc587d4da0a624f671ffcf7a649f (diff) | |
download | driver-core-e6552f3b31b55396c652c196c5c3a9c3a6cfed71.tar.gz driver-core-e6552f3b31b55396c652c196c5c3a9c3a6cfed71.tar.bz2 driver-core-e6552f3b31b55396c652c196c5c3a9c3a6cfed71.zip |
Add message bus and topic abstractions (#181)v1.12.0
Diffstat (limited to 'src/test/scala/xyz')
-rw-r--r-- | src/test/scala/xyz/driver/core/messaging/QueueBusTest.scala | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/scala/xyz/driver/core/messaging/QueueBusTest.scala b/src/test/scala/xyz/driver/core/messaging/QueueBusTest.scala new file mode 100644 index 0000000..8dd0776 --- /dev/null +++ b/src/test/scala/xyz/driver/core/messaging/QueueBusTest.scala @@ -0,0 +1,30 @@ +package xyz.driver.core.messaging + +import akka.actor.ActorSystem +import org.scalatest.FlatSpec +import org.scalatest.concurrent.ScalaFutures + +import scala.concurrent.ExecutionContext +import scala.concurrent.duration._ + +class QueueBusTest extends FlatSpec with ScalaFutures { + implicit val patience: PatienceConfig = PatienceConfig(timeout = 10.seconds) + + def busBehaviour(bus: Bus)(implicit ec: ExecutionContext): Unit = { + + it should "deliver messages to a subscriber" in { + val topic = Topic.string("test.topic1") + bus.fetchMessages(topic).futureValue + bus.publishMessages(topic, Seq("hello world!")) + Thread.sleep(100) + val messages = bus.fetchMessages(topic) + assert(messages.futureValue.map(_.data).toList == List("hello world!")) + } + } + + implicit val system: ActorSystem = ActorSystem("queue-test") + import system.dispatcher + + "A queue-based bus" should behave like busBehaviour(new QueueBus) + +} |