public void SqsSource_should_return_events() { var probe = this.CreateManualSubscriberProbe <Message>(); client.ReceiveMessageAsync(Arg.Any <ReceiveMessageRequest>()) .Returns(Task.FromResult(CreateReceiveMessageResponse(10))); SqsSource.Create(this.client, TestQueueUrl) .To(Sink.FromSubscriber(probe)) .Run(materializer); var sub = probe.ExpectSubscription(); sub.Request(22); for (int i = 0; i < 22; i++) { probe.ExpectNext((Message msg) => msg.Body == (i % 10).ToString()); } sub.Cancel(); }
public void SqsSource_when_closeOnEmptyReceive_should_complete_after_returning_empty_result() { var probe = this.CreateManualSubscriberProbe <Message>(); client.ReceiveMessageAsync(Arg.Any <ReceiveMessageRequest>()) .Returns( Task.FromResult(CreateReceiveMessageResponse(2)), Task.FromResult(CreateReceiveMessageResponse(0)), Task.FromResult(CreateReceiveMessageResponse(2))); SqsSource.Create(this.client, TestQueueUrl, SqsSourceSettings.Default.WithCloseOnEmptyReceive(true)) .To(Sink.FromSubscriber(probe)) .Run(materializer); var sub = probe.ExpectSubscription(); sub.Request(3); probe.ExpectNext((Message msg) => msg.Body == "0"); probe.ExpectNext((Message msg) => msg.Body == "1"); probe.ExpectComplete(); }