public CreateContactTests(MockWebApplicationFactory <Startup> appFactory) { _dbFixture = appFactory.DynamoDbFixture; _snsFixture = appFactory.SnsFixture; _contactDetailsFixture = new ContactDetailsFixture(_dbFixture.DynamoDbContext); _steps = new CreateContactSteps(appFactory.Client); }
public DeleteContactDetailsByTargetIdTests(MockWebApplicationFactory <Startup> appFactory) { _dbFixture = appFactory.DynamoDbFixture; _snsFixture = appFactory.SnsFixture; _contactDetailsFixture = new ContactDetailsFixture(_dbFixture.DynamoDbContext, _snsFixture.SimpleNotificationService); _steps = new DeleteContactDetailsSteps(appFactory.Client); }
public async Task ThenTheContactDetailsDeletedEventIsRaised(ContactDetailsFixture contactDetailsFixture, ISnsFixture snsFixture) { var deletedRecord = contactDetailsFixture.Contacts.First(); Action <ContactDetailsSns> verifyFunc = (actual) => { actual.CorrelationId.Should().NotBeEmpty(); actual.DateTime.Should().BeCloseTo(DateTime.UtcNow, 1000); actual.EntityId.Should().Be(deletedRecord.TargetId); actual.EventData.OldData.ContactType.Should().Be((int)deletedRecord.ContactInformation.ContactType); actual.EventData.OldData.Description.Should().Be(deletedRecord.ContactInformation.Description); actual.EventData.OldData.Id.Should().Be(deletedRecord.Id); actual.EventData.OldData.Value.Should().Be(deletedRecord.ContactInformation.Value); actual.EventData.NewData.Should().BeEquivalentTo(new DataItem()); actual.EventType.Should().Be(EventConstants.DELETED); actual.Id.Should().NotBeEmpty(); actual.SourceDomain.Should().Be(EventConstants.SOURCEDOMAIN); actual.SourceSystem.Should().Be(EventConstants.SOURCESYSTEM); actual.User.Email.Should().Be("*****@*****.**"); actual.User.Name.Should().Be("Tester"); actual.Version.Should().Be(EventConstants.V1VERSION); }; var snsVerifer = snsFixture.GetSnsEventVerifier <ContactDetailsSns>(); var snsResult = await snsVerifer.VerifySnsEventRaised(verifyFunc); if (!snsResult && snsVerifer.LastException != null) { throw snsVerifer.LastException; } }
protected override void ConfigureWebHost(IWebHostBuilder builder) { builder.ConfigureAppConfiguration(b => b.AddEnvironmentVariables()) .UseStartup <Startup>(); builder.ConfigureServices(services => { services.ConfigureDynamoDB(); services.ConfigureDynamoDbFixture(); services.ConfigureSns(); services.ConfigureSnsFixture(); var serviceProvider = services.BuildServiceProvider(); DynamoDbFixture = serviceProvider.GetRequiredService <IDynamoDbFixture>(); DynamoDbFixture.EnsureTablesExist(_tables); SnsFixture = serviceProvider.GetRequiredService <ISnsFixture>(); SnsFixture.CreateSnsTopic <ContactDetailsSns>("contactdetailscreated", "CONTACT_DETAILS_SNS_ARN"); }); }
protected override void ConfigureWebHost(IWebHostBuilder builder) { builder.ConfigureAppConfiguration(b => b.AddEnvironmentVariables()) .UseStartup <Startup>(); builder.ConfigureServices(services => { services.ConfigureDynamoDB(); services.ConfigureDynamoDbFixture(); services.ConfigureSns(); services.ConfigureSnsFixture(); var serviceProvider = services.BuildServiceProvider(); DynamoDbFixture = serviceProvider.GetRequiredService <IDynamoDbFixture>(); DynamoDbFixture.EnsureTablesExist(DynamoDbTables.Tables); SnsFixture = serviceProvider.GetRequiredService <ISnsFixture>(); SnsFixture.CreateSnsTopic <PersonSns>("person", "PERSON_SNS_ARN"); }); }