aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2018-07-31 12:13:47 -0700
committerGitHub <noreply@github.com>2018-07-31 12:13:47 -0700
commite6552f3b31b55396c652c196c5c3a9c3a6cfed71 (patch)
treef6826eac8bff8470683547006d1e64d2bc425d55 /src/test
parentdb0c9bebee4cbc587d4da0a624f671ffcf7a649f (diff)
downloaddriver-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')
-rw-r--r--src/test/scala/xyz/driver/core/messaging/QueueBusTest.scala30
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)
+
+}