static ProcessDataEvent MatchProcessDataEvent(ProcessDataEvent expected) { return(Arg.Is <ProcessDataEvent>(actual => expected.key == actual.key && expected.dataType == actual.dataType && expected.data == actual.data )); }
void HandleProcessData(ProcessDataEvent processData) { Action <ProcessDataEvent> callback; if (subscribers.TryGetValue(processData.key, out callback)) { callback(processData); } }
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)); }
public void IgnoresProcessDataForUnknownProcesses() { ProcessDataEvent actualProcessData = null; ProcessDataCallback = (data) => actualProcessData = data; ProcessDataEventGenerator(new ProcessDataEvent(Guid.NewGuid(), ProcessDataType.STDOUT, "This is STDOUT")); Assert.Null(actualProcessData); }
public void DeliversProcessDataForAKnownProcess() { ProcessDataEvent actualProcessData = null; ProcessDataCallback = (data) => actualProcessData = data; ProcessDataEventGenerator(new ProcessDataEvent(KnownProcessKey, ProcessDataType.STDOUT, "This is STDOUT")); Assert.Equal(KnownProcessKey, actualProcessData.key); Assert.Equal(ProcessDataType.STDOUT, actualProcessData.dataType); Assert.Equal("This is STDOUT", actualProcessData.data); }
public void HandleProcessData(Guid key, ProcessDataType dataType, string data) { var dataEvent = new ProcessDataEvent(key, dataType, data); transport.PublishEventAsync("processData", dataEvent).GetAwaiter().GetResult(); }