Class/Object

com.itv.bucky

RabbitSimulator

Related Docs: object RabbitSimulator | package bucky

Permalink

class RabbitSimulator[B[_]] extends AmqpClient[B, Future, Throwable, Unit] with StrictLogging

Provides an AmqpClient implementation that simulates RabbitMQ server with one main difference: Messages are sent directly to the consumer when published, there is no intermediate queue. This makes it easy for tests to publish a message and see the corresponding ConsumeAction, e.g. Ack, Nack or Requeue. Tests can use RabbitSimulator.watchQueue to see what messages get published to a queue that the application doesn't consume from.

Linear Supertypes
StrictLogging, AmqpClient[B, Future, Throwable, Unit], BaseAmqpClient, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RabbitSimulator
  2. StrictLogging
  3. AmqpClient
  4. BaseAmqpClient
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RabbitSimulator(bindings: Bindings = IdentityBindings)(implicit M: Monad[B], X: MonadError[Future, Throwable], executionContext: ExecutionContext)

    Permalink

    bindings

    A mapping from routing key to queue name, defaults to identity.

Type Members

  1. case class Publication(queueName: QueueName, message: Payload, consumeActionValue: Future[ConsumeAction]) extends Product with Serializable

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def consumer(queueName: QueueName, handler: Handler[Future, Delivery], exceptionalAction: ConsumeAction = DeadLetter, prefetchCount: Int = 0): B[Unit]

    Permalink
    Definition Classes
    RabbitSimulator → AmqpClient
  7. implicit def effectMonad: MonadError[Future, Throwable]

    Permalink
    Definition Classes
    RabbitSimulator → AmqpClient
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def estimatedMessageCount(queueName: QueueName): Try[Int]

    Permalink
    Definition Classes
    RabbitSimulator → BaseAmqpClient
  11. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  14. def isDefinedAt(publishCommand: PublishCommand): Boolean

    Permalink
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    StrictLogging
  17. implicit def monad: Monad[B]

    Permalink
    Definition Classes
    RabbitSimulator → AmqpClient
  18. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. def performOps(thunk: (AmqpOps) ⇒ Try[Unit]): Try[Unit]

    Permalink
    Definition Classes
    RabbitSimulator → BaseAmqpClient
  22. def publish(publishCommand: PublishCommand): Future[ConsumeAction]

    Permalink
  23. def publisher(timeout: Duration = ...): B[Publisher[Future, PublishCommand]]

    Permalink
    Definition Classes
    RabbitSimulator → AmqpClient
  24. def publisherOf[T](builder: PublishCommandBuilder[T], timeout: Duration): B[Publisher[Future, T]]

    Permalink
    Definition Classes
    AmqpClient
  25. def queueNameFor(publishCommand: PublishCommand): QueueName

    Permalink
  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  27. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  28. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. def waitForMessagesToBeProcessed()(implicit timeout: Duration): Unit

    Permalink
  32. def watchQueue(queueName: QueueName): ListBuffer[Delivery]

    Permalink

Inherited from StrictLogging

Inherited from AmqpClient[B, Future, Throwable, Unit]

Inherited from BaseAmqpClient

Inherited from AnyRef

Inherited from Any

Ungrouped