public async void ShouldCallInnerPublisher() { // Arrange var publisherMock = new Mock <IMessageBusPublisher>(); var tenantContext = new TenantContext(new Tenant(new Guid(), string.Empty, false)); var tenantContextAccessor = Mock.Of <ITenantContextAccessor>(x => x.TenantContext == tenantContext); var sut = new MultiTenancyMessageBusPublisherDecorator(publisherMock.Object, tenantContextAccessor); const string message = "test"; // Act await sut.PublishAsync(message); // Assert publisherMock.Verify( publisher => publisher.PublishAsync(message, default, It.IsAny <Action <MessagingEnvelope> >(), null),
public async void ShouldSetTenantIdInEnvelopeHeader() { // Arrange var tenantId = Guid.NewGuid(); var publishedEnvelope = default(MessagingEnvelope); var tenantContextAccessor = Mock.Of <ITenantContextAccessor>(x => x.TenantContext == new TenantContext(new Tenant(tenantId, string.Empty, false))); void EnvelopeCustomizer(MessagingEnvelope envelope) => publishedEnvelope = envelope; var sut = new MultiTenancyMessageBusPublisherDecorator(new MockMessageBusPublisher(), tenantContextAccessor); // Act await sut.PublishAsync("test", new MessagingPublisherOptions { EnvelopeCustomizer = EnvelopeCustomizer }); // Assert publishedEnvelope.Headers[MessagingHeaders.TenantId].Should().Be(tenantId.ToString()); }