public void Clean_WithNonexistingPath_DoesNothing() { Directory.Delete(_tempFolder); var cleaner = new FolderCleaner(@"C:\SomeFolderThatDoesnotExist\With\Some\Sub\Folder"); cleaner.Clean(); }
public SitesController( ProbeDbContext dbContext, ACTokenManager tokenManager, FolderCleaner folderCleaner) { _dbContext = dbContext; _tokenManager = tokenManager; _folderCleaner = folderCleaner; }
public FoldersController( ProbeDbContext dbContext, FolderLocator folderLocator, FolderCleaner folderCleaner) { _dbContext = dbContext; _folderLocator = folderLocator; _folderCleaner = folderCleaner; }
public void Clean_WithEmptyFolder_DoesNothing() { CreateTempFiles(_tempFolder, 6, TimeSpan.Zero); var cleaner = new FolderCleaner(_tempFolder); cleaner.Clean(); Assert.IsTrue(Directory.Exists(_tempFolder), "The directory did not exist after cleaning up: " + _tempFolder); }
public void Clean_WithSomeFiles_CleansAllFiles() { CreateTempFiles(_tempFolder, 4, TimeSpan.Zero); var cleaner = new FolderCleaner(_tempFolder); cleaner.Clean(); Assert.IsTrue(Directory.Exists(_tempFolder), "The directory did not exist after cleaning up: " + _tempFolder); Assert.IsFalse(Directory.EnumerateFileSystemEntries(_tempFolder).Any(), "The directory is not empty after cleaning up: " + _tempFolder); }
private void CleanFolder(string folder) { var folderCleaner = new FolderCleaner(folder); folderCleaner.Clean(_timeSpan); if (folderCleaner.CleanupExceptions.Any()) { var exception = folderCleaner.CleanupExceptions.First(); _logger.Debug($"Exception while cleaning up {exception.Key}: {exception.Value}"); } }
public void RunAll() { var jsonSettings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; try { // Backup SQL Server files. var backupScriptPath = ConfigurationManager.AppSettings["SqlScriptPath"]; _log.LogEntries.Add(new ActivityLog.LogEntry(DateTime.Now, "Backing up SQL Server files to " + backupScriptPath)); var scriptRunner = new SqlScriptRunner(backupScriptPath); scriptRunner.Run(); _log.LogEntries.Add(new ActivityLog.LogEntry(DateTime.Now, "Done Backing up SQL Server files.")); // Delete backups over x days old. _log.LogEntries.Add(new ActivityLog.LogEntry(DateTime.Now, "Cleaning up files older than " + ConfigurationManager.AppSettings["MaxAgeOfBackupsInDays"] + " days.")); var cleaner = new FolderCleaner(ConfigurationManager.AppSettings["SqlBackupPath"]); cleaner.Run(); _log.LogEntries.Add(new ActivityLog.LogEntry(DateTime.Now, "Done cleaning up files. " + cleaner.DeletedFiles.Count + " files were deleted.")); if (cleaner.DeletedFiles.Count > 0) { _log.LogEntries.Add(new ActivityLog.LogEntry(DateTime.Now, JsonConvert.SerializeObject(cleaner.DeletedFiles))); } } catch (Exception ex) { _log.LogEntries.Add(new ActivityLog.LogEntry(DateTime.Now, "Error Occurred", true)); _log.LogEntries.Add(new ActivityLog.LogEntry(DateTime.Now, JsonConvert.SerializeObject(ex, Formatting.Indented, jsonSettings), true)); throw ex; } finally { // TODO: Email a confirmation that this task was performed. var msg = new MailMessage(); msg.To.Add(new MailAddress(ConfigurationManager.AppSettings["NotificationRecipient"])); msg.From = new MailAddress(ConfigurationManager.AppSettings["NotificationFromAddress"]); msg.Subject = ConfigurationManager.AppSettings["NotificationSubject"]; if (_log.HasErrors) { msg.Subject = "Error Occurred " + msg.Subject; msg.Priority = MailPriority.High; } msg.Body = GetEmailBody(); msg.IsBodyHtml = false; var client = new SmtpClient(); client.Send(msg); } }
public void Clean_WithSomeFilesAndSubfolder_CleansAllFilesAndRemovesSubfolders() { CreateTempFiles(_tempFolder, 6, TimeSpan.Zero); var subFolder = Path.Combine(_tempFolder, "Subfolder"); Directory.CreateDirectory(subFolder); CreateTempFiles(subFolder, 6, TimeSpan.Zero); var cleaner = new FolderCleaner(_tempFolder); cleaner.Clean(); Assert.IsTrue(Directory.Exists(_tempFolder), "The directory did not exist after cleaning up: " + _tempFolder); Assert.IsFalse(Directory.EnumerateFileSystemEntries(_tempFolder).Any(), "The directory is not empty after cleaning up: " + _tempFolder); }
public void CleanWithTimeSpan_WithSomeFiles_CleansAllFilesOlderThanTimeSpan() { CreateTempFiles(_tempFolder, 6, TimeSpan.FromDays(2)); CreateSubFolderWithSomeFiles(6, TimeSpan.FromDays(2)); var files = CreateSubFolderWithSomeFiles(1, TimeSpan.Zero); var cleaner = new FolderCleaner(_tempFolder); cleaner.Clean(TimeSpan.FromDays(1)); Assert.IsTrue(Directory.Exists(_tempFolder), "The directory did not exist after cleaning up: " + _tempFolder); Assert.AreEqual(1, Directory.GetDirectories(_tempFolder).Count(), "There was more than one folder left"); Assert.AreEqual(1, Directory.GetFiles(_tempFolder, "*", SearchOption.AllDirectories).Count(), "Found more than the one file after cleaning up"); Assert.AreEqual(files.First(), Directory.GetFiles(_tempFolder, "*", SearchOption.AllDirectories).First()); }
public FilesController( ProbeDbContext dbContext, FolderLocator folderLocator, FolderCleaner folderCleaner, IConfiguration configuration, FolderRefactor folderRefactor, ServiceLocation serviceLocation) { _dbContext = dbContext; _folderLocator = folderLocator; _configuration = configuration; _folderRefactor = folderRefactor; _serviceLocation = serviceLocation; _folderCleaner = folderCleaner; }
public void SetUp() { _tempFolder = TempFileHelper.CreateTempFolder("FolderCleanerTest"); _folderCleaner = new FolderCleaner(); }