public void ToError_Test() { //arrange var ddb = InitialiseClient(); var repository = new DynamoDbRepository <ElmahError>( Settings.Default, ddb, string.Empty ); var dynamodb = new ElmahDynamoDbErrorLog(_config, repository); var datetimeId = dynamodb.ToDateTimeId(DateTime.UtcNow); var error = Builder <ElmahError> .CreateNew() .With(x => x.DateTimeId = datetimeId) .With(x => x.ApplicationName = Settings.Default.ApplicationName) .Build(); ddb.Save(error, DefaultDbOperationConfig); //act var result = dynamodb.GetError(datetimeId); //assert result.Error.ApplicationName.Should().Equal(error.ApplicationName); result.Id.Should().Equal(datetimeId); }
public DynamoDbRepositoryTests() { _mockContext = new Mock <IDynamoDBContext>(); _repository = new DynamoDbRepository <TestEntity>(_mockContext.Object); SetupSuccessfulContextCalls(); }
public async Task FunctionHandler(string folderName, ILambdaContext context) { var config = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .Build(); var accessKey = config["accessKey"]; var secretKet = config["secretKey"]; var s3RegionName = Environment.GetEnvironmentVariable("S3_region"); var dynamoDbRegionName = Environment.GetEnvironmentVariable("DynamoDB_region"); var bucketName = Environment.GetEnvironmentVariable("S3_bucket_name"); var tableName = Environment.GetEnvironmentVariable("DynamoDB_table_name"); var s3Repository = new S3Repository(accessKey, secretKet, s3RegionName, bucketName); var dynamoDbRepository = new DynamoDbRepository(accessKey, secretKet, dynamoDbRegionName, tableName); var entityProcessor = new EntityProcessor(s3Repository, dynamoDbRepository); await entityProcessor.ProcessFolder(folderName); }
public void Log_DateTimeIdTest() { //arrange var repository = new DynamoDbRepository <ElmahError>( Settings.Default, InitialiseClient(), string.Empty ); var dynamodb = new ElmahDynamoDbErrorLog(_config, repository); var error = Builder <Error> .CreateNew() .Build(); //act var result = dynamodb.Log(error); var comparer = dynamodb.ToDateTimeId(error.Time); //assert result.Substring(0, result.IndexOf("-", StringComparison.Ordinal)) .Should().Equal(comparer.Substring(0, result.IndexOf("-", StringComparison.Ordinal))); }
public void Log_Test() { //arrange var repository = new DynamoDbRepository <ElmahError>( Settings.Default, InitialiseClient(), string.Empty ); var dynamodb = new ElmahDynamoDbErrorLog(_config, repository); var error = Builder <Error> .CreateNew() .With(x => x.ApplicationName = Settings.Default.ApplicationName) .Build(); //act dynamodb.Log(error); var elmaherrors = InitialiseClient().FromScan <ElmahError>(new ScanOperationConfig(), DefaultDbOperationConfig).ToList(); //assert elmaherrors.Count.Should().Equal(1); elmaherrors.Single().ApplicationName.Should().Equal(error.ApplicationName); }
public void GetErrors_Test_ZeroPageIndex() { //arrange var ddb = InitialiseClient(); var repository = new DynamoDbRepository <ElmahError>( Settings.Default, ddb, string.Empty ); var dynamodb = new ElmahDynamoDbErrorLog(_config, repository); var errors = Builder <ElmahError> .CreateListOfSize(20) .All() .With(x => x.ApplicationName = Settings.Default.ApplicationName) .Build(); var random = new Random(); foreach (var error in errors) { var date = new DateTime(2017, 01, random.Next(1, 31)); var datetimeId = dynamodb.ToDateTimeId(date); error.TimeUtc = date; error.DateTimeId = datetimeId; ddb.Save(error, DefaultDbOperationConfig); } var results = new List <ErrorLogEntry>(); var resultCount = dynamodb.GetErrors(0, 4, results); resultCount.Should().Equal(20); results.Count().Should().Equal(4); results.OrderByDescending(x => x.Error.Time).SequenceEqual(results).Should().Be.True(); }