Exemple #1
0
        public void AddFileToLogTest()
        {
            int folderDeletes = 0,
           fileDeletes        = 0;

            // Clean the log to a known state
            MediaServices.CleanFileLog(ref folderDeletes, ref fileDeletes, true);

            // Create a temp folder
            string tempFolder = Path.GetTempPath() + Guid.NewGuid().ToString();

            MediaServices.AddFolderToLog(tempFolder, 30);
            Directory.CreateDirectory(tempFolder);

            string tempFile = tempFolder + "\\" + Guid.NewGuid().ToString() + ".txt";

            MediaServices.AddFileToLog(tempFile, 30);
            File.WriteAllText(tempFile, LorumIpsum());

            Assert.IsTrue(File.Exists(tempFile), "Error: File {tempFile} could not be found");

            // Clean the log - files/folders are to be kept for 30 mins, so shouldn't be deleted
            MediaServices.CleanFileLog(ref folderDeletes, ref fileDeletes, false);
            int expected = 0;

            Assert.IsTrue(folderDeletes == expected, $"Error: {folderDeletes} folders were deleted when {expected} were expected");
            Assert.IsTrue(fileDeletes == expected, $"Error: {fileDeletes} files were deleted when {expected} were expected");
            Assert.IsTrue(File.Exists(tempFile), "Error: File {tempFile} could not be found");

            // Change the log times
            foreach (var log in db.FindFileLogs(true))
            {
                log.DeleteAfterDate = log.DeleteAfterDate.AddMinutes(-31);
                db.InsertOrUpdateFileLog(log);
            }

            // Clean the log, taking advantage of the timeout period
            MediaServices.CleanFileLog(ref folderDeletes, ref fileDeletes, false);
            expected = 1;
            Assert.IsTrue(folderDeletes == expected, $"Error: {folderDeletes} folders were deleted when {expected} were expected");
            Assert.IsTrue(fileDeletes == expected, $"Error: {fileDeletes} files were deleted when {expected} were expected");
            Assert.IsTrue(!File.Exists(tempFile), $"Error: File {tempFile} was found when it should have been deleted");
            Assert.IsTrue(!File.Exists(tempFolder), $"Error: Folder {tempFolder} was found when it should have been deleted");
        }