public abstract class IdentityProcessorVerification<T> extends java.lang.Object
| Constructor and Description |
|---|
IdentityProcessorVerification(TestEnvironment env,
long publisherShutdownTimeoutMillis)
Test class must specify the expected time it takes for the publisher to
shut itself down when the the last downstream Subscription is cancelled.
|
IdentityProcessorVerification(TestEnvironment env,
long publisherShutdownTimeoutMillis,
int testBufferSize) |
public IdentityProcessorVerification(TestEnvironment env, long publisherShutdownTimeoutMillis)
public IdentityProcessorVerification(TestEnvironment env, long publisherShutdownTimeoutMillis, int testBufferSize)
public abstract org.reactivestreams.api.Processor<T,T> createIdentityProcessor(int bufferSize)
public abstract org.reactivestreams.spi.Publisher<T> createHelperPublisher(int elements)
public abstract org.reactivestreams.spi.Publisher<T> createCompletedStatePublisher()
completed state in order to run additional tests on it,
or null in order to skip them.public abstract org.reactivestreams.spi.Publisher<T> createErrorStatePublisher()
error state in order to run additional tests on it,
or null in order to skip them.public org.reactivestreams.spi.Publisher<T> createPublisher(int elements)
public void mustSupportAPendingElementCountUpToLongMaxValue() throws java.lang.Exception
java.lang.Exceptionpublic void createPublisher3MustProduceAStreamOfExactly3Elements() throws java.lang.Throwable
java.lang.Throwablepublic void mustCallOnCompleteOnASubscriberAfterHavingProducedTheFinalStreamElementToIt() throws java.lang.Throwable
java.lang.Throwablepublic void mustStartProducingWithTheOldestStillAvailableElementForASubscriber()
public void mustCallOnErrorOnAllItsSubscribersIfItEncountersANonRecoverableError() throws java.lang.Exception
java.lang.Exceptionpublic void mustNotCallOnCompleteOrOnErrorMoreThanOncePerSubscriber()
public org.reactivestreams.spi.Subscriber<T> createSubscriber(org.reactivestreams.tck.SubscriberVerification.SubscriberProbe<T> probe)
public void mustCancelItsUpstreamSubscriptionIfItsLastDownstreamSubscriptionHasBeenCancelled() throws java.lang.Exception
java.lang.Exceptionpublic void mustImmediatelyPassOnOnErrorEventsReceivedFromItsUpstreamToItsDownstream() throws java.lang.Exception
java.lang.Exceptionpublic void mustBePreparedToReceiveIncomingElementsFromItsUpstreamEvenIfADownstreamSubscriberHasNotRequestedYet() throws java.lang.Exception
java.lang.Exceptionpublic void exerciseHappyPath() throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void onSubscribeAndOnNextMustAsynchronouslyScheduleAnEvent()
public void onCompleteAndOnErrorMustAsynchronouslyScheduleAnEvent()
public void mustNotAcceptAnOnSubscribeEventIfItAlreadyHasAnActiveSubscription() throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void mustCallSubscriptionCancelDuringShutdownIfItStillHasAnActiveSubscription() throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void mustEnsureThatAllCallsOnASubscriptionTakePlaceFromTheSameThreadOrProvideExternalSync()
public void mustBePreparedToReceiveOneOrMoreOnNextEventsAfterHavingCalledSubscriptionCancel() throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void mustBePreparedToReceiveAnOnCompleteEventWithAPrecedingSubscriptionRequestMore() throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void mustBePreparedToReceiveAnOnCompleteEventWithoutAPrecedingSubscriptionRequestMore() throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void mustBePreparedToReceiveAnOnErrorEventWithAPrecedingSubscriptionRequestMore() throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void mustBePreparedToReceiveAnOnErrorEventWithoutAPrecedingSubscriptionRequestMore() throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void mustMakeSureThatAllCallsOnItsMethodsHappenBeforeTheProcessingOfTheRespectiveEvents()
public void publisherSubscribeWhenCompletedMustTriggerOnCompleteAndNotOnSubscribe() throws java.lang.Throwable
java.lang.Throwablepublic void publisherSubscribeWhenInErrorStateMustTriggerOnErrorAndNotOnSubscribe() throws java.lang.Throwable
java.lang.Throwablepublic void publisherSubscribeWhenInShutDownStateMustTriggerOnErrorAndNotOnSubscribe() throws java.lang.Throwable
java.lang.Throwablepublic void publisherSubscribeWhenActiveMustCallOnSubscribeFirst() throws java.lang.Throwable
java.lang.Throwablepublic void publisherSubscribeWhenActiveMustRejectDoubleSubscription() throws java.lang.Throwable
java.lang.Throwablepublic void subscriptionRequestMoreWhenCancelledMustIgnoreTheCall() throws java.lang.Throwable
java.lang.Throwablepublic void subscriptionRequestMoreMustResultInTheCorrectNumberOfProducedElements() throws java.lang.Throwable
java.lang.Throwablepublic void subscriptionRequestMoreMustThrowIfArgumentIsNonPositive() throws java.lang.Throwable
java.lang.Throwablepublic void subscriptionCancelWhenCancelledMustIgnoreCall() throws java.lang.Throwable
java.lang.Throwablepublic void onSubscriptionCancelThePublisherMustEventuallyCeaseToCallAnyMethodsOnTheSubscriber() throws java.lang.Throwable
java.lang.Throwablepublic void onSubscriptionCancelThePublisherMustEventuallyDropAllReferencesToTheSubscriber() throws java.lang.Throwable
java.lang.Throwablepublic void mustNotCallOnNextAfterHavingIssuedAnOnCompleteOrOnErrorCallOnASubscriber()
public void mustProduceTheSameElementsInTheSameSequenceForAllItsSubscribers() throws java.lang.Throwable
java.lang.Throwablepublic void mustRequestFromUpstreamForElementsThatHaveBeenRequestedLongAgo() throws java.lang.Exception
java.lang.Exceptionpublic void mustUnblockTheStreamIfABlockingSubscriptionHasBeenCancelled() throws java.lang.InterruptedException
java.lang.InterruptedException