diff options
-rw-r--r-- | src/main/scala/xyz/driver/core/pubsub.scala | 18 |
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 = () + } } |