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 void OperationCompletedSignal_Always_CopiesMessageData() { var @event = fixture.Create <TestCreatedEvent>(); var signal = new OperationCompletedSignal(@event); signal.Should().BeEquivalentTo(@event, options => options.ForMessage()); }
public void OperationCompletedSignal_Always_Serializable() { var source = new OperationCompletedSignal(fixture.Create <TestCreatedEvent>()); var serialized = JsonConvert.SerializeObject(source); var deserialized = JsonConvert.DeserializeObject <OperationCompletedSignal>(serialized); deserialized.Should().BeEquivalentTo(source); }