Packages

class ManualProbe[I] extends Subscriber[I]

Implementation of org.reactivestreams.Subscriber that allows various assertions.

All timeouts are dilated automatically, for more details about time dilation refer to akka.testkit.TestKit.

Source
StreamTestKit.scala
Linear Supertypes
Subscriber[I], AnyRef, Any
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ManualProbe
  2. Subscriber
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type Self <: ManualProbe[I]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from ManualProbe[I] toany2stringadd[ManualProbe[I]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (ManualProbe[I], B)
    Implicit
    This member is added by an implicit conversion from ManualProbe[I] toArrowAssoc[ManualProbe[I]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  8. def ensuring(cond: (ManualProbe[I]) => Boolean, msg: => Any): ManualProbe[I]
    Implicit
    This member is added by an implicit conversion from ManualProbe[I] toEnsuring[ManualProbe[I]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  9. def ensuring(cond: (ManualProbe[I]) => Boolean): ManualProbe[I]
    Implicit
    This member is added by an implicit conversion from ManualProbe[I] toEnsuring[ManualProbe[I]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: Boolean, msg: => Any): ManualProbe[I]
    Implicit
    This member is added by an implicit conversion from ManualProbe[I] toEnsuring[ManualProbe[I]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean): ManualProbe[I]
    Implicit
    This member is added by an implicit conversion from ManualProbe[I] toEnsuring[ManualProbe[I]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. def expectComplete(): Self

    Fluent DSL

    Fluent DSL

    Expect completion.

  15. def expectError(cause: Throwable): Self

    Fluent DSL

    Fluent DSL

    Expect given Throwable.

  16. def expectError(): Throwable

    Expect and return the signalled Throwable.

  17. def expectEvent(event: SubscriberEvent): Self

    Fluent DSL

    Fluent DSL

    Expect SubscriberEvent (any of: OnSubscribe, OnNext, OnError or OnComplete).

  18. def expectEvent(max: FiniteDuration): SubscriberEvent

    Expect and return SubscriberEvent (any of: OnSubscribe, OnNext, OnError or OnComplete).

  19. def expectEvent(): SubscriberEvent

    Expect and return SubscriberEvent (any of: OnSubscribe, OnNext, OnError or OnComplete).

  20. def expectEventPF[T](f: PartialFunction[SubscriberEvent, T]): T
  21. def expectEventWithTimeoutPF[T](max: Duration, f: PartialFunction[SubscriberEvent, T]): T
  22. def expectNext(e1: I, e2: I, es: I*): Self

    Fluent DSL

    Fluent DSL

    Expect multiple stream elements.

    Annotations
    @varargs()
  23. def expectNext(d: FiniteDuration, element: I): Self

    Fluent DSL

    Fluent DSL

    Expect a stream element during specified time or timeout.

  24. def expectNext(element: I): Self

    Fluent DSL

    Fluent DSL

    Expect a stream element.

  25. def expectNext(d: FiniteDuration): I

    Expect and return a stream element during specified time or timeout.

  26. def expectNext(): I

    Expect and return a stream element.

  27. def expectNextChainingPF(f: PartialFunction[Any, Any]): Self

    Expect a stream element during specified time or timeout and test it with partial function.

    Expect a stream element during specified time or timeout and test it with partial function.

    Allows chaining probe methods.

  28. def expectNextChainingPF(max: Duration, f: PartialFunction[Any, Any]): Self

    Expect a stream element during specified time or timeout and test it with partial function.

    Expect a stream element during specified time or timeout and test it with partial function.

    Allows chaining probe methods.

    max

    wait no more than max time, otherwise throw AssertionError

  29. def expectNextN(all: Seq[I]): Self

    Fluent DSL Expect the given elements to be signalled in order.

  30. def expectNextN(n: Long): Seq[I]

    Expect and return the next n stream elements.

  31. def expectNextOrComplete(element: I): Self

    Fluent DSL

    Fluent DSL

    Expect given next element or stream completion.

  32. def expectNextOrComplete(): Either[OnComplete.type, I]

    Expect next element or stream completion - returning whichever was signalled.

  33. def expectNextOrError(element: I, cause: Throwable): Either[Throwable, I]

    Fluent DSL Expect given next element or error signal.

  34. def expectNextOrError(): Either[Throwable, I]

    Fluent DSL

    Fluent DSL

    Expect given next element or error signal, returning whichever was signalled.

  35. def expectNextPF[T](f: PartialFunction[Any, T]): T

    Expect a stream element and test it with partial function.

  36. def expectNextUnordered(e1: I, e2: I, es: I*): Self

    Fluent DSL

    Fluent DSL

    Expect multiple stream elements in arbitrary order.

    Annotations
    @varargs()
  37. def expectNextUnorderedN(all: Seq[I]): Self

    Fluent DSL Expect the given elements to be signalled in any order.

  38. def expectNextWithTimeoutPF[T](max: Duration, f: PartialFunction[Any, T]): T

    Expect a stream element and test it with partial function.

    Expect a stream element and test it with partial function.

    max

    wait no more than max time, otherwise throw AssertionError

  39. def expectNoMessage(remaining: Duration): Self

    Java API: Assert that no message is received for the specified time.

  40. def expectNoMessage(): Self

    Fluent DSL

    Fluent DSL

    Assert that no message is received for the specified time. Waits for the default period configured as akka.test.expect-no-message-default. That timeout is scaled using the configuration entry "akka.test.timefactor".

  41. def expectNoMessage(remaining: FiniteDuration): Self

    Fluent DSL

    Fluent DSL

    Assert that no message is received for the specified time.

  42. def expectSubscription(): Subscription

    Expect and return a org.reactivestreams.Subscription.

  43. def expectSubscriptionAndComplete(signalDemand: Boolean): Self

    Fluent DSL

    Fluent DSL

    Expect subscription followed by immediate stream completion.

    Depending on the signalDemand parameter demand may be signalled immediately after obtaining the subscription in order to wake up a possibly lazy upstream. You can disable this by setting the signalDemand parameter to false.

    See also #expectSubscriptionAndComplete.

  44. def expectSubscriptionAndComplete(): Self

    Fluent DSL

    Fluent DSL

    Expect subscription followed by immediate stream completion. By default 1 demand will be signalled in order to wake up a possibly lazy upstream

    See also Boolean) if no demand should be signalled.

  45. def expectSubscriptionAndError(cause: Throwable, signalDemand: Boolean): Self

    Fluent DSL

    Fluent DSL

    Expect subscription followed by immediate stream completion. By default 1 demand will be signalled in order to wake up a possibly lazy upstream

    See also Throwable).

  46. def expectSubscriptionAndError(cause: Throwable): Self

    Fluent DSL

    Fluent DSL

    Expect subscription followed by immediate stream completion.

    By default 1 demand will be signalled in order to wake up a possibly lazy upstream.

    See also Throwable, signalDemand: Boolean) if no demand should be signalled.

  47. def expectSubscriptionAndError(signalDemand: Boolean): Throwable

    Expect subscription to be followed immediately by an error signal.

    Expect subscription to be followed immediately by an error signal.

    Depending on the signalDemand parameter demand may be signalled immediately after obtaining the subscription in order to wake up a possibly lazy upstream. You can disable this by setting the signalDemand parameter to false.

    See also #expectSubscriptionAndError.

  48. def expectSubscriptionAndError(): Throwable

    Expect subscription to be followed immediately by an error signal.

    Expect subscription to be followed immediately by an error signal.

    By default 1 demand will be signalled in order to wake up a possibly lazy upstream.

    See also #expectSubscriptionAndError(Boolean) if no demand should be signalled.

  49. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  50. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  51. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  52. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  53. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  54. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  55. def onComplete(): Unit
    Definition Classes
    ManualProbe → Subscriber
  56. def onError(cause: Throwable): Unit
    Definition Classes
    ManualProbe → Subscriber
  57. def onNext(element: I): Unit
    Definition Classes
    ManualProbe → Subscriber
  58. def onSubscribe(subscription: Subscription): Unit
    Definition Classes
    ManualProbe → Subscriber
  59. def receiveWhile[T](max: Duration = Duration.Undefined, idle: Duration = Duration.Inf, messages: Int = Int.MaxValue)(f: PartialFunction[SubscriberEvent, T]): Seq[T]

    Receive messages for a given duration or until one does not match a given partial function.

  60. def receiveWithin(max: FiniteDuration, messages: Int = Int.MaxValue): Seq[I]

    Drains a given number of messages

  61. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  62. def toStrict(atMost: FiniteDuration): Seq[I]

    Attempt to drain the stream into a strict collection (by requesting Long.MaxValue elements).

    Attempt to drain the stream into a strict collection (by requesting Long.MaxValue elements).

    Use with caution: Be warned that this may not be a good idea if the stream is infinite or its elements are very large!

  63. def toString(): String
    Definition Classes
    AnyRef → Any
  64. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  65. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  66. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  67. def within[T](max: FiniteDuration)(f: => T): T

    Same as calling within(0 seconds, max)(f).

  68. def within[T](min: FiniteDuration, max: FiniteDuration)(f: => T): T

    Execute code block while bounding its execution time between min and max.

    Execute code block while bounding its execution time between min and max. within blocks may be nested. All methods in this trait which take maximum wait times are available in a version which implicitly uses the remaining time governed by the innermost enclosing within block.

    Note that the timeout is scaled using Duration.dilated, which uses the configuration entry "akka.test.timefactor", while the min Duration is not.

    val ret = within(50 millis) {
      test ! "ping"
      expectMsgClass(classOf[String])
    }

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from ManualProbe[I] toStringFormat[ManualProbe[I]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. def [B](y: B): (ManualProbe[I], B)
    Implicit
    This member is added by an implicit conversion from ManualProbe[I] toArrowAssoc[ManualProbe[I]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from Subscriber[I]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromManualProbe[I] to any2stringadd[ManualProbe[I]]

Inherited by implicit conversion StringFormat fromManualProbe[I] to StringFormat[ManualProbe[I]]

Inherited by implicit conversion Ensuring fromManualProbe[I] to Ensuring[ManualProbe[I]]

Inherited by implicit conversion ArrowAssoc fromManualProbe[I] to ArrowAssoc[ManualProbe[I]]

Ungrouped