public async Task Execute_IdentityCtx_Has_Tenant_Should_Set_It_On_Message() { // Arrange var integrationMessage = new FakeIntegrationMessage(); var expectedTenantId = _fixture.Fixture.Create <long>(); Mock.Get(_fixture.IdentityContext) .Setup(s => s.HasAssociatedTenant) .Returns(true); Mock.Get(_fixture.IdentityContext) .Setup(s => s.TenantId) .Returns(expectedTenantId); // Act await _fixture.Step.Execute(integrationMessage, CancellationToken.None); // Assert var result = integrationMessage .GetMetadata(TenantIdMetadataKey); result .Should() .Be(expectedTenantId.ToString()); }
public async Task Execute_IdentityCtx_And_Message_Both_Have_Tenant_Should_Not_Update_Message() { // Arrange var integrationMessage = new FakeIntegrationMessage(); var messageTenantId = _fixture.Fixture.Create <long>(); integrationMessage.SetMetadata(TenantIdMetadataKey, messageTenantId.ToString()); var ctxTenantId = _fixture.Fixture.Create <long>(); Mock.Get(_fixture.IdentityContext) .Setup(s => s.HasAssociatedTenant) .Returns(true); Mock.Get(_fixture.IdentityContext) .Setup(s => s.TenantId) .Returns(ctxTenantId); // Act await _fixture.Step.Execute(integrationMessage, CancellationToken.None); // Assert var result = integrationMessage .GetMetadata(TenantIdMetadataKey); result .Should() .Contain(messageTenantId.ToString()); }
public ExtractOperationContextFromMessageMetadataStepFixture() { FakeOperationContext = OperationContext.New(); WorkloadContext = new WorkloadContext(); IntegrationMessage = new FakeIntegrationMessage(); Logger = Mock.Of <ILogger <ExtractOperationContextFromMessageMetadataStep> >(); Step = new ExtractOperationContextFromMessageMetadataStep(WorkloadContext, Logger); }
public void GetMessageName_Message_Is_Passed_Returns_MessageName() { // Arrange // Act var result = new FakeIntegrationMessage().GetMessageName(); // Assert result .Should() .Be(nameof(FakeIntegrationMessage)); }
public async Task Execute_IntegrationMessage_Has_User_Should_Set_It_To_IdentityContext() { // Arrange var expectedUserId = _fixture.Fixture.Create <string>(); var integrationMessage = new FakeIntegrationMessage(); integrationMessage.SetMetadata(UserIdMetadataKey, expectedUserId); // Act await _fixture.Step.Execute(integrationMessage, CancellationToken.None); // Assert Mock.Get(_fixture.IdentityContext) .Verify(v => v.SetUserId(expectedUserId)); }
public async Task Execute_No_Parent_OperationCtx_And_MessageMetadata_Has_No_OperationCtx_Should_Initialize_And_Add_New_OperationCtx() { var fakeMessage = new FakeIntegrationMessage(); _fixture .SetupServiceProviderToReturnEmptyOperationContext(); // Act await _fixture.Step.Execute(fakeMessage, CancellationToken.None); // Assert var operationCtx = fakeMessage.GetMetadata(OperationContext.MetaName); operationCtx .Should() .Contain(AddOrUpdateOperationContextStep.InitialOperationSuffix); }
public async Task Execute_IdentityCtx_DoesNot_Have_Tenant_Should_Not_Set_It_On_Message() { // Arrange var integrationMessage = new FakeIntegrationMessage(); Mock.Get(_fixture.IdentityContext) .Setup(s => s.HasAssociatedTenant) .Returns(false); // Act await _fixture.Step.Execute(integrationMessage, CancellationToken.None); // Assert var result = integrationMessage .HasMetadata(TenantIdMetadataKey); result.Should().Be(false); }
public async Task Execute_Parent_OperationCtx_Presents_Should_Pass_It_Into_Message_With_It() { // Arrange var fakeMessage = new FakeIntegrationMessage(); _fixture .SetupServiceProviderToReturnNonEmptyOperationContext(); // Act await _fixture.Step.Execute(fakeMessage, CancellationToken.None); // Assert var operationCtx = fakeMessage.GetMetadata(OperationContext.MetaName); operationCtx .Should() .Contain(AddOrUpdateOperationContextFixture.FakeInitialOperationName); }
public async Task Execute_IntegrationMessage_Has_Tenant_But_IdentityCtx_Is_Initialized() { // Arrange var messageTenantId = _fixture.Fixture.Create <long>(); var integrationMessage = new FakeIntegrationMessage(); integrationMessage.SetMetadata(TenantIdMetadataKey, messageTenantId.ToString()); Mock.Get(_fixture.IdentityContext) .Setup(x => x.HasAssociatedTenant) .Returns(true); // Act await _fixture.Step.Execute(integrationMessage, CancellationToken.None); // Assert Mock.Get(_fixture.IdentityContext) .Verify(v => v.SetCurrentTenant(It.IsAny <long>()), Times.Never); }
public async Task Execute_No_Parent_OperationCtx_But_MessageMetadata_Has_OperationCtx_Should_Do_Nothing() { // Arrange var fakeMessage = new FakeIntegrationMessage(); var initialMessageOperationCtx = _fixture.FakeExistingOperationContext.Pack(); fakeMessage.SetMetadata(OperationContext.MetaName, initialMessageOperationCtx); _fixture .SetupServiceProviderToReturnEmptyOperationContext(); // Act await _fixture.Step.Execute(fakeMessage, CancellationToken.None); // Assert var operationCtx = fakeMessage.GetMetadata(OperationContext.MetaName); operationCtx .Should() .BeEquivalentTo(initialMessageOperationCtx); }