Class/Object

com.itv.bucky

RabbitSimulator

Related Docs: object RabbitSimulator | package bucky

Permalink

class RabbitSimulator[B[_]] extends AmqpSimulator[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, AmqpSimulator[B, Future, Throwable, Unit], AmqpClient[B, Future, Throwable, Unit], BaseAmqpClient, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RabbitSimulator
  2. StrictLogging
  3. AmqpSimulator
  4. AmqpClient
  5. BaseAmqpClient
  6. AnyRef
  7. 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 existsConsumer(queueName: QueueName): Boolean

    Permalink
    Definition Classes
    RabbitSimulatorAmqpSimulator
  12. def finalize(): Unit

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

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

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

    Permalink
    Definition Classes
    RabbitSimulatorAmqpSimulator
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. val logger: Logger

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

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

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

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

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

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

    Permalink
    Definition Classes
    RabbitSimulatorAmqpSimulator
  24. def publisher(timeout: Duration = ...): B[Publisher[Future, PublishCommand]]

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

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

    Permalink
    Definition Classes
    RabbitSimulatorAmqpSimulator
  27. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. def waitForMessagesToBeProcessed(): Future[Iterable[ConsumeAction]]

    Permalink
    Definition Classes
    RabbitSimulatorAmqpSimulator
  33. def watchQueue(queueName: QueueName): ListBuffer[Delivery]

    Permalink
    Definition Classes
    RabbitSimulatorAmqpSimulator

Inherited from StrictLogging

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

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

Inherited from BaseAmqpClient

Inherited from AnyRef

Inherited from Any

Ungrouped