public void SubscribeTest() { var testEvent = new TestCreatedEvent(); var signal = new OperationCompletedSignal(testEvent); var mock = new Mock <ISubscriptionClient>(); mock.Setup(s => s.RegisterSessionHandler(It.IsAny <Func <IMessageSession, Message, CancellationToken, Task> >(), It.IsAny <SessionHandlerOptions>())) .Callback <Func <IMessageSession, Message, CancellationToken, Task>, SessionHandlerOptions>((handler, _) => { var msg = CreateBusMessage(signal); var sessionMock = new Mock <IMessageSession>(); handler?.Invoke(sessionMock.Object, msg, CancellationToken.None); }); var logMock = new Mock <ILogger <AzureReportBusClient> >(); var reportBus = new AzureReportBusClient(logMock.Object, mock.Object); IMessage expectedMessage = null; reportBus.Subscribe(message => { expectedMessage = message; return(Task.CompletedTask); }); expectedMessage.Should().BeEquivalentTo(signal); }
public async Task UnsubscribeTest() { var isUnsubscribeInvoked = false; var mock = new Mock <ISubscriptionClient>(); mock.Setup(s => s.CloseAsync()) .Callback(() => { isUnsubscribeInvoked = true; }); var logMock = new Mock <ILogger <AzureReportBusClient> >(); var reportBus = new AzureReportBusClient(logMock.Object, mock.Object); await reportBus.UnsubscribeAllAsync(); isUnsubscribeInvoked.Should().BeTrue(); }