public async Task FilterCleanup_OneDeleted() { var configStore = serviceProvider.GetRequiredService <IConfigurationStore>(); var logger = serviceProvider.GetRequiredService <ILoggerFactory>(); var toDeleteCount = 1; var filterRepo = new Mock <IFilterRepository>(); filterRepo.Setup(ps => ps.DeleteTransientFilters(It.IsAny <string>())).ReturnsAsync(toDeleteCount); var cleanupTask = new FilterCleanupTask(configStore, logger, serviceExceptionHandler, filterRepo.Object); var deletedCount = await cleanupTask.FilterCleanup().ConfigureAwait(false); Assert.Equal(toDeleteCount, deletedCount); }
public async Task FilterCleanup_DBException() { var configStore = serviceProvider.GetRequiredService <IConfigurationStore>(); var logger = serviceProvider.GetRequiredService <ILoggerFactory>(); var filterRepo = new Mock <IFilterRepository>(); var dbException = new Exception("DB error of some kind"); filterRepo.Setup(ps => ps.DeleteTransientFilters(It.IsAny <string>())).Throws(dbException); var cleanupTask = new FilterCleanupTask(configStore, logger, serviceExceptionHandler, filterRepo.Object); var ex = await Assert.ThrowsAsync <ServiceException>(async() => await cleanupTask.FilterCleanup().ConfigureAwait(false)); Assert.Equal(HttpStatusCode.InternalServerError, ex.Code); Assert.Equal(2078, ex.GetResult.Code); Assert.Contains("FilterCleanup: Exception occurred: DB error of some kind", ex.GetResult.Message); }