From 18d50eabc4476c0f1c6a1d776fc380e3968846d8 Mon Sep 17 00:00:00 2001 From: vlad Date: Fri, 7 Jul 2017 15:31:12 -0700 Subject: Fake pubsub implementation --- src/main/scala/xyz/driver/core/pubsub.scala | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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 = () + } } -- cgit v1.2.3