public void PublishesEventToTransport() { var processKey = Guid.NewGuid(); ProcessTracker.HandleProcessData(processKey, Messages.ProcessDataType.STDOUT, "This is STDOUT"); var expectedProcessDataEvent = new ProcessDataEvent(processKey, ProcessDataType.STDOUT, "This is STDOUT"); Transport.Received(1).PublishEventAsync<ProcessDataEvent>("processData", MatchProcessDataEvent(expectedProcessDataEvent)); }
static ProcessDataEvent MatchProcessDataEvent(ProcessDataEvent expected) { return Arg.Is<ProcessDataEvent>(actual => expected.key == actual.key && expected.dataType == actual.dataType && expected.data == actual.data ); }
public void HandleProcessData(Guid key, ProcessDataType dataType, string data) { var dataEvent = new ProcessDataEvent(key, dataType, data); transport.PublishEventAsync("processData", dataEvent).GetAwaiter().GetResult(); }