Beispiel #1
0
 public CreateContactTests(MockWebApplicationFactory <Startup> appFactory)
 {
     _dbFixture             = appFactory.DynamoDbFixture;
     _snsFixture            = appFactory.SnsFixture;
     _contactDetailsFixture = new ContactDetailsFixture(_dbFixture.DynamoDbContext);
     _steps = new CreateContactSteps(appFactory.Client);
 }
Beispiel #2
0
 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");
            });
        }