예제 #1
0
        public async Task Should_stop_subscription_if_stopped()
        {
            await sut.ActivateAsync(consumerName);

            await sut.ActivateAsync();

            await sut.StopAsync();

            await sut.StopAsync();

            await sut.CompleteAsync();

            AssertGrainState(isStopped: true, position: initialPosition);

            A.CallTo(() => grainState.WriteAsync())
            .MustHaveHappenedOnceExactly();

            A.CallTo(() => eventSubscription.Unsubscribe())
            .MustHaveHappenedOnceExactly();
        }
예제 #2
0
        public async Task Should_stop_subscription_when_stopped()
        {
            await sut.ActivateAsync(consumerName);

            await sut.ActivateAsync();

            await sut.StopAsync();

            await sut.StopAsync();

            await sut.CompleteAsync();

            AssetGrainState(new EventConsumerState {
                IsStopped = true, Position = initialPosition, Error = null
            });

            A.CallTo(() => grainState.WriteAsync())
            .MustHaveHappenedOnceExactly();

            A.CallTo(() => eventSubscription.Unsubscribe())
            .MustHaveHappenedOnceExactly();
        }