public async Task SimplePubSub_InProc() { // Arrange Message incoming = null; var message = new Message { ThisIsAPublishedMessageText = "published a message", Array = new [] { 1, 2, 3, 4 } }; SocketConfiguration config = new ConfigurationTestData().GetSocketConfigInProc; config.Logger.SetSilent(); var sut = new PubSub(config); var waitHandle = new ManualResetEvent(false); var xtResult = sut.SubscribeHandler <Message>(callback: m => { incoming = m; waitHandle.Set(); }, CancellationToken.None); // Act await sut.PublishAsync <Message>(message); // Assert waitHandle.WaitOne(); Assert.NotNull(incoming); Assert.True(xtResult.IsSuccess); Assert.Equal(message.Array, incoming.Array); Assert.Equal(message.ThisIsAPublishedMessageText, incoming.ThisIsAPublishedMessageText); sut.Dispose(); }
public void Dispose() { // Dispose webserver Host.Dispose(); PubSub.Dispose(); }
public async Task Publish_without_server_throws() { var config = new ConfigurationTestData().GetSocketConfigInProc; var sut = new PubSub(config); // Act Func <Task> pub = async() => await sut.PublishAsync <Message>(new Message()); // Assert await pub(); sut.Dispose(); // no assert as no exception is expected otherwiese the test would fail at the call to the function pub() }
public void Dispose() { _rqRep.Dispose(); _pubSub.Dispose(); _sendReceive.Dispose(); }