public async Task GivenMessage_WhenPublish_ShouldPublish() { const string body = "test_message"; const string correlationId = "correlationId"; var publisherMock = new Mock <IPublisher>(); var serializerMock = new Mock <IPublisherSerializer>(); var routingMock = new Mock <IRouting>(); var cancellationToken = new CancellationToken(); publisherMock .Setup(x => x.PublishAsync(It.IsAny <PublisherMessage>(), cancellationToken)) .Verifiable(); var message = new PublisherMessage( publisherMock.Object, body, serializerMock.Object, routingMock.Object, correlationId, cancellationToken); await message.PublishAsync(cancellationToken); message.Should().NotBeNull(); message.GetHeaders().Should().ContainKey("PublishedAt"); message.GetHeaders()["PublishedAt"].ToString().Should().MatchRegex(@"\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}"); publisherMock.VerifyAll(); }
public void GivenMessage_WhenInstantiate_ShouldAddDefaultHeader() { const string body = ""; const string correlationId = "correlationId"; const string exchange = "exchange"; const string routingKey = "routingKey"; var publisherMock = new Mock <IPublisher>(); var serializerMock = new Mock <IPublisherSerializer>(); var routingMock = new Mock <IRouting>(); routingMock.SetupGet(x => x.ExchangeName) .Returns(exchange) .Verifiable(); routingMock.SetupGet(x => x.RoutingKey) .Returns(routingKey) .Verifiable(); var cancellationToken = new CancellationToken(); var message = new PublisherMessage(publisherMock.Object, body, serializerMock.Object, routingMock.Object, correlationId, cancellationToken); var headers = message.GetHeaders(); headers.Should().NotBeNull(); headers.Should().Contain(nameof(IRouting.ExchangeName), exchange); headers.Should().Contain(nameof(IRouting.RoutingKey), routingKey); headers.Should().Contain("SerializerType", serializerMock.Object.GetType().FullName); headers.Should().ContainKey(nameof(message.CreatedAt)); }
public void GivenMessage_ShouldAddHeader() { const string body = ""; const string correlationId = "correlationId"; var publisherMock = new Mock <IPublisher>(); var serializerMock = new Mock <IPublisherSerializer>(); var routingMock = new Mock <IRouting>(); var cancellationToken = new CancellationToken(); var message = new PublisherMessage(publisherMock.Object, body, serializerMock.Object, routingMock.Object, correlationId, cancellationToken); message.AddHeader("NewHeader", "NewHeaderValue"); var headers = message.GetHeaders(); headers.Should().NotBeNull(); headers.Should().Contain("NewHeader", "NewHeaderValue"); }