001/*************************************************** 002 * Licensed under MIT No Attribution (SPDX: MIT-0) * 003 ***************************************************/ 004 005package org.reactivestreams.tck.flow.support; 006 007/** 008 * Internal TCK use only. 009 * Add / Remove tests for PublisherVerificaSubscriberWhiteboxVerification here to make sure that they arre added/removed in the other places. 010 */ 011public interface SubscriberWhiteboxVerificationRules { 012 void required_exerciseWhiteboxHappyPath() throws Throwable; 013 void required_spec201_mustSignalDemandViaSubscriptionRequest() throws Throwable; 014 void untested_spec202_shouldAsynchronouslyDispatch() throws Exception; 015 void required_spec203_mustNotCallMethodsOnSubscriptionOrPublisherInOnComplete() throws Throwable; 016 void required_spec203_mustNotCallMethodsOnSubscriptionOrPublisherInOnError() throws Throwable; 017 void untested_spec204_mustConsiderTheSubscriptionAsCancelledInAfterRecievingOnCompleteOrOnError() throws Exception; 018 void required_spec205_mustCallSubscriptionCancelIfItAlreadyHasAnSubscriptionAndReceivesAnotherOnSubscribeSignal() throws Throwable; 019 void untested_spec206_mustCallSubscriptionCancelIfItIsNoLongerValid() throws Exception; 020 void untested_spec207_mustEnsureAllCallsOnItsSubscriptionTakePlaceFromTheSameThreadOrTakeCareOfSynchronization() throws Exception; 021 void required_spec208_mustBePreparedToReceiveOnNextSignalsAfterHavingCalledSubscriptionCancel() throws Throwable; 022 void required_spec209_mustBePreparedToReceiveAnOnCompleteSignalWithPrecedingRequestCall() throws Throwable; 023 void required_spec209_mustBePreparedToReceiveAnOnCompleteSignalWithoutPrecedingRequestCall() throws Throwable; 024 void required_spec210_mustBePreparedToReceiveAnOnErrorSignalWithPrecedingRequestCall() throws Throwable; 025 void required_spec210_mustBePreparedToReceiveAnOnErrorSignalWithoutPrecedingRequestCall() throws Throwable; 026 void untested_spec211_mustMakeSureThatAllCallsOnItsMethodsHappenBeforeTheProcessingOfTheRespectiveEvents() throws Exception; 027 void untested_spec212_mustNotCallOnSubscribeMoreThanOnceBasedOnObjectEquality_specViolation() throws Throwable; 028 void untested_spec213_failingOnSignalInvocation() throws Exception; 029 void required_spec213_onSubscribe_mustThrowNullPointerExceptionWhenParametersAreNull() throws Throwable; 030 void required_spec213_onNext_mustThrowNullPointerExceptionWhenParametersAreNull() throws Throwable; 031 void required_spec213_onError_mustThrowNullPointerExceptionWhenParametersAreNull() throws Throwable; 032 void untested_spec301_mustNotBeCalledOutsideSubscriberContext() throws Exception; 033 void required_spec308_requestMustRegisterGivenNumberElementsToBeProduced() throws Throwable; 034 void untested_spec310_requestMaySynchronouslyCallOnNextOnSubscriber() throws Exception; 035 void untested_spec311_requestMaySynchronouslyCallOnCompleteOrOnError() throws Exception; 036 void untested_spec314_cancelMayCauseThePublisherToShutdownIfNoOtherSubscriptionExists() throws Exception; 037 void untested_spec315_cancelMustNotThrowExceptionAndMustSignalOnError() throws Exception; 038 void untested_spec316_requestMustNotThrowExceptionAndMustOnErrorTheSubscriber() throws Exception; 039}