public MessageTransportTest() { var outputWriter = Substitute.For <TextWriter>(); transporter = new MessageTransport(inputSource, outputWriter); transporter.Start(); }
public async void PublishedEventSendsWrappedEventToTextWriter() { var outputSink = new TaskCompletionSource <string>(); var outputWriter = Substitute.For <TextWriter>(); outputWriter.When(x => x.WriteLine(Arg.Any <string>())).Do(callInfo => outputSink.SetResult(callInfo.Arg <string>())); using (var transporter = new MessageTransport(inputSource, outputWriter)) { await transporter.PublishEventAsync(new JObject(new JProperty("foo", "bar"))); string output = await outputSink.Task; Assert.Equal(@"{""content_type"":""Event"",""body"":{""foo"":""bar""}}", output); } }