aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/scala/xyz/driver/core/pubsub.scala18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/pubsub.scala b/src/main/scala/xyz/driver/core/pubsub.scala
index d4c0849..e7e5d4a 100644
--- a/src/main/scala/xyz/driver/core/pubsub.scala
+++ b/src/main/scala/xyz/driver/core/pubsub.scala
@@ -60,6 +60,20 @@ object pubsub {
}
}
+ class FakePubsubPublisher[Message](topicName: String, log: Logger)(
+ implicit messageMarshaller: Marshaller[Message, String],
+ ex: ExecutionContext)
+ extends PubsubPublisher[Message] {
+
+ type Result = Id[PubsubMessage]
+
+ def publish(message: Message): Future[Result] =
+ Marshal(message).to[String].map { messageString =>
+ log.info(s"Published a message to a fake pubsub with topic $topicName: $messageString")
+ generators.nextId[PubsubMessage]()
+ }
+ }
+
trait PubsubSubscriber {
def stopListening(): Unit
@@ -93,4 +107,8 @@ object pubsub {
subscriber.stopAsync()
}
}
+
+ class FakePubsubSubscriber extends PubsubSubscriber {
+ def stopListening(): Unit = ()
+ }
}