private static void ValidateProbe(TestSubscriber.ManualProbe <int> probe, int requests, IEnumerable <int> result) { var subscription = probe.ExpectSubscription(); var collected = Enumerable.Range(1, requests).Select(_ => { subscription.Request(1); return(probe.ExpectNext()); }); collected.ShouldAllBeEquivalentTo(result); probe.ExpectComplete(); }
public KinesisFlowSpec(ITestOutputHelper output) : base("akka.loglevel = DEBUG", output) { _materializer = Sys.Materializer(); _kinesisClient = NSubstitute.Substitute.For <IAmazonKinesis>(); _sourceProbe = this.CreateManualPublisherProbe <string>(); _sinkProbe = this.CreateManualSubscriberProbe <string>(); Source.FromPublisher(_sourceProbe) .Select(x => new PutRecordsRequestEntry { PartitionKey = "partition-1", Data = new MemoryStream(Encoding.UTF8.GetBytes(x)) }) .Via(KinesisFlow.Create("test-stream", KinesisFlowSettings.Default, () => _kinesisClient)) .Select(x => x.SequenceNumber) .To(Sink.FromSubscriber(_sinkProbe)) .Run(_materializer); }
public StreamPuppet(IPublisher <int> p, TestKitBase kit) { _probe = TestSubscriber.CreateManualProbe <int>(kit); p.Subscribe(_probe); _subscription = _probe.ExpectSubscription(); }
public StreamPuppet(IPublisher<int> p, TestKitBase kit) { _probe = TestSubscriber.CreateManualProbe<int>(kit); p.Subscribe(_probe); _subscription = _probe.ExpectSubscription(); }
private IRunnableGraph <Tuple <NotUsed, NotUsed, NotUsed> > ThreeSourceMerge <T>(Source <T, NotUsed> source1, Source <T, NotUsed> source2, Source <T, NotUsed> source3, List <int> priorities, TestSubscriber.ManualProbe <T> probe) { return(RunnableGraph.FromGraph(GraphDsl.Create(source1, source2, source3, Tuple.Create, (builder, s1, s2, s3) => { var merge = builder.Add(new MergePrioritized <T>(priorities)); builder.From(s1.Outlet).To(merge.In(0)); builder.From(s2.Outlet).To(merge.In(1)); builder.From(s3.Outlet).To(merge.In(2)); builder.From(merge.Out).To(Sink.FromSubscriber(probe)); return ClosedShape.Instance; }))); }