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 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 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(); }