public void SafeMoveFile_DestFileExists_Overwrite_NoPermissions_NoWarnOnFailure_ShouldNotLogException() { var testScenarioName = "DestFileExists_Overwrite_NoPermissions_NoWarnOnFailure"; var originalFile = $"{_testFolder}\\{testScenarioName}_Original.cs"; var movedFile = $"{_testFolder}\\{testScenarioName}_Moved.cs"; FSTestsFixture.CreateFiles(_testFolder, new List <string> { Path.GetFileName(originalFile), Path.GetFileName(movedFile) }, true); try { _logDate = DateTime.Now; Fs.SafeMoveFile(originalFile, movedFile, true, false); Assert.False(_fixture.IsErrorMessageInLogFile(_logDate, ErrorLevel, $"{Path.GetFileName(movedFile)} {ErrorMessage}")); } finally { _ = new FileInfo(movedFile) { IsReadOnly = false, }; } }
public void SafeDeleteFile_NoPermissions_ShouldHandleException() { var testScenarioName = "NoPermissions"; var directoryToCreate = $"{_testFolder}\\{testScenarioName}"; var fileToDelete = $"{directoryToCreate}\\{testScenarioName}.csproj"; try { FSTestsFixture.CreateFolders(_testFolder, new List <string>() { testScenarioName }); FSTestsFixture.CreateFiles(_testFolder, new List <string>() { $"{testScenarioName}\\{testScenarioName}.csproj" }, true); _logDate = DateTime.Now; Fs.SafeDeleteFile(fileToDelete); Assert.True(_fixture.IsErrorMessageInLogFile(_logDate, ErrorLevel, ErrorMessage)); } finally { _ = new FileInfo(fileToDelete) { IsReadOnly = false, }; } }
public SafeCopyFileTests(FSTestsFixture fixture) { _fixture = fixture; Thread.CurrentThread.CurrentUICulture = fixture.CultureInfo; _sourceFile = $"TestData\\TestProject\\Test.csproj"; _testFolder = _fixture.CreateTempFolderForTest("SafeCopyFile"); }
public void EnsureFileEditable_FileIsNotReadOnly_ShouldNotModifyIsReadOnly() { var testScenarioName = "FileIsNotReadOnly"; string filePath = $"{_testFolder}\\{testScenarioName}"; FSTestsFixture.CreateFiles(_testFolder, new List <string> { testScenarioName }); var originalFileInfo = new FileInfo(filePath); Fs.EnsureFileEditable(filePath); var newFileInfo = new FileInfo(filePath); Assert.False(originalFileInfo.IsReadOnly); Assert.False(newFileInfo.IsReadOnly); }
public void SafeCopyFile_DestinationDirectoryAlreadyExists_ShouldNotCreateDirectory() { var testScenarioName = "DestinationDirectoryAlreadyExists"; var directoryToCopyFile = $"{_testFolder}\\{testScenarioName}"; FSTestsFixture.CreateFolders(_testFolder, new List <string>() { testScenarioName }); var totalOriginalDirectories = Directory.GetParent(directoryToCopyFile).GetDirectories().Length; Fs.SafeCopyFile(_sourceFile, directoryToCopyFile, true); var totalNewDirectories = Directory.GetParent(directoryToCopyFile).GetDirectories().Length; var noDirectoryHasBeenCreated = totalOriginalDirectories == totalNewDirectories; Assert.True(noDirectoryHasBeenCreated); }
public void EnsureFolderExists_ErrorCreatingDirectory_ShouldLogException() { // To force an error creating a Directory // we create a file with the name of the folder that we want to create var testScenarioName = "ErrorCreatingDirectory"; var wrongDirectoryToCreate = $"{testScenarioName}\\{testScenarioName}.cs"; FSTestsFixture.CreateFolders(_testFolder, new List <string> { testScenarioName }); FSTestsFixture.CreateFiles(_testFolder, new List <string> { wrongDirectoryToCreate }); _logDate = DateTime.Now; Fs.EnsureFolderExists($"{_testFolder}\\{wrongDirectoryToCreate}"); Assert.True(_fixture.IsErrorMessageInLogFile(_logDate, ErrorLevel, ErrorMessage)); }
public void SafeRenameDirectory_WrongDestinationFolder_ShouldLogException() { // to throw the exception we create a file with the same name we try to create the new directory var testScenarioName = "WrongDestinationFolder"; var originalDirectory = $"{_testFolder}\\{testScenarioName}_Original"; var wrongDirectory = $"{_testFolder}\\{testScenarioName}_WrongFolder.cs"; FSTestsFixture.CreateFolders(_testFolder, new List <string> { $"{testScenarioName}_Original", $"{testScenarioName}_Renamed" }); FSTestsFixture.CreateFiles(_testFolder, new List <string> { $"{testScenarioName}_WrongFolder.cs" }); _logDate = DateTime.Now; Fs.SafeRenameDirectory(originalDirectory, wrongDirectory); Assert.True(_fixture.IsErrorMessageInLogFile(_logDate, ErrorLevel, $"{testScenarioName}_Original {ErrorMessage}")); }
public void GetExistingFolderNames_RootExists_ShouldReturnAllExpectedFolderNamesInAlphabeticalOrder() { var testScenarioName = "RootExists"; var directoryExists = $"{_testFolder}\\{testScenarioName}"; FSTestsFixture.CreateFolders(_testFolder, new List <string> { testScenarioName, $"{testScenarioName}\\One", $"{testScenarioName}\\Two", $"{testScenarioName}\\Three" }); var expected = new List <string>() { "One", "Three", "Two" }; var actual = Fs.GetExistingFolderNames(directoryExists); Assert.Equal(3, actual.Count()); Assert.Equal(expected, actual); }
public void EnsureFolderExists_DirectoryAlreadyExists_ShouldNotCreateDirectory() { var testScenarioName = "DirectoryAlreadyExists"; var directoryToCreate = $"{_testFolder}\\{testScenarioName}"; FSTestsFixture.CreateFolders(_testFolder, new List <string> { testScenarioName }); var directoryExistsAtStart = Directory.Exists(directoryToCreate); var totalOriginalDirectories = Directory.GetParent(directoryToCreate).GetDirectories().Length; Fs.EnsureFolderExists(directoryToCreate); var totalNewDirectories = Directory.GetParent(directoryToCreate).GetDirectories().Length; Assert.True(totalOriginalDirectories == totalNewDirectories); Assert.True(directoryExistsAtStart); Assert.True(Directory.Exists(directoryToCreate)); }
public void SafeMoveFile_DestFileExists_NoOverwrite_JustReturns() { var testScenarioName = "DestFileExists_NoOverwrite"; var originalFile = $"{_testFolder}\\{testScenarioName}_Original.cs"; var movedFile = $"{_testFolder}\\{testScenarioName}_Moved.cs"; FSTestsFixture.CreateFiles(_testFolder, new List <string> { Path.GetFileName(originalFile), Path.GetFileName(movedFile) }); var originFolderTotalFiles = Directory.GetFiles(_testFolder).Length; Fs.SafeMoveFile(originalFile, movedFile, false); var destinationFolderTotalFiles = Directory.GetFiles(_testFolder).Length; Assert.True(originFolderTotalFiles == destinationFolderTotalFiles); Assert.True(File.Exists(originalFile)); Assert.True(File.Exists(movedFile)); }
public void SafeMoveFile_ValidData_ShouldMove() { var testScenarioName = "ValidData"; var originalFile = $"{_testFolder}\\{testScenarioName}_Original.cs"; var movedFile = $"{_testFolder}\\{testScenarioName}_Moved.cs"; FSTestsFixture.CreateFiles(_testFolder, new List <string> { Path.GetFileName(originalFile) }); var originFolderTotalFiles = Directory.GetFiles(_testFolder).Length; Fs.SafeMoveFile(originalFile, movedFile); var destinationFolderTotalFiles = Directory.GetFiles(_testFolder).Length; Assert.True(originFolderTotalFiles == destinationFolderTotalFiles); Assert.False(File.Exists(originalFile)); Assert.True(File.Exists(movedFile)); }
public void SafeDeleteDirectory_DirectoryExists_ShouldDeleteDirectory() { var testScenarioName = "DirectoryExists"; var directoryToCreate = $"{_testFolder}\\{testScenarioName}"; FSTestsFixture.CreateFolders(_testFolder, new List <string>() { testScenarioName }); var totalOriginalDirectories = Directory.GetParent(directoryToCreate).GetDirectories().Length; Fs.SafeDeleteDirectory(directoryToCreate, false); var totalNewDirectories = Directory.GetParent(directoryToCreate).GetDirectories().Length; var directoryHasBeenDeleted = totalNewDirectories < totalOriginalDirectories; Assert.True(directoryHasBeenDeleted); }
public void SafeDeleteFile_ExistingFile_ShouldHaveDeletedFile() { var testScenarioName = "ExistingFile"; var directoryToCreate = $"{_testFolder}\\{testScenarioName}"; var fileToDelete = $"{directoryToCreate}\\{testScenarioName}.csproj"; FSTestsFixture.CreateFolders(_testFolder, new List <string>() { testScenarioName }); FSTestsFixture.CreateFiles(_testFolder, new List <string>() { $"{testScenarioName}\\{testScenarioName}.csproj" }); var fileExistsBefore = File.Exists(fileToDelete); Fs.SafeDeleteFile(fileToDelete); Assert.True(fileExistsBefore); Assert.False(File.Exists(fileToDelete)); }
public void SafeRenameDirectory_DirectoryAlreadyExists_ShouldLogException() { var testScenarioName = "ValidData"; var originalDirectory = $"{_testFolder}\\{testScenarioName}_Original"; var renamedDirectory = $"{_testFolder}\\{testScenarioName}_Renamed"; FSTestsFixture.CreateFolders(_testFolder, new List <string> { $"{testScenarioName}_Original", $"{testScenarioName}_Renamed" }); var totalOriginalDirectories = Directory.GetParent(originalDirectory).GetDirectories().Length; _logDate = DateTime.Now; Fs.SafeRenameDirectory(originalDirectory, renamedDirectory); var totalNewDirectories = Directory.GetParent(originalDirectory).GetDirectories().Length; var sameNumberOfDirectories = totalNewDirectories == totalOriginalDirectories; Assert.True(sameNumberOfDirectories); Assert.True(_fixture.IsErrorMessageInLogFile(_logDate, ErrorLevel, $"{testScenarioName}_Original {ErrorMessage}")); }
public void SafeRenameDirectory_ValidData_ShouldMoveDirectory() { var testScenarioName = "ValidData"; var originalDirectory = $"{_testFolder}\\{testScenarioName}_Original"; var renamedDirectory = $"{_testFolder}\\{testScenarioName}_Renamed"; FSTestsFixture.CreateFolders(_testFolder, new List <string> { $"{testScenarioName}_Original" }); var totalOriginalDirectories = Directory.GetParent(originalDirectory).GetDirectories().Length; Fs.SafeRenameDirectory(originalDirectory, renamedDirectory); var totalNewDirectories = Directory.GetParent(originalDirectory).GetDirectories().Length; var sameNumberOfDirectories = totalNewDirectories == totalOriginalDirectories; Assert.True(sameNumberOfDirectories); var oldDirectoryHasBeenMovedToNewDirectory = Directory.Exists(renamedDirectory) && !Directory.Exists(originalDirectory); Assert.True(oldDirectoryHasBeenMovedToNewDirectory); }
public void EnsureFileEditable_FileIsReadOnly_ShouldChangeToReadOnly() { var testScenarioName = "FileIsReadOnly"; var fileToEdit = $"{_testFolder}\\{testScenarioName}"; try { FSTestsFixture.CreateFiles(_testFolder, new List <string> { testScenarioName }, true); Fs.EnsureFileEditable(fileToEdit); var newFileInfo = new FileInfo(fileToEdit); Assert.False(newFileInfo.IsReadOnly); } finally { _ = new FileInfo(fileToEdit) { IsReadOnly = false, }; } }
public void SafeCopyFile_FileDoesNotExist_ShouldCreateNewFileWhileCopying() { var testScenarioName = "FileDoesNotExist"; var directoryToCreate = $"{_testFolder}\\{testScenarioName}"; FSTestsFixture.CreateFolders(_testFolder, new List <string>() { testScenarioName }); var expectedDestinationFile = Path.Combine(directoryToCreate, Path.GetFileName(_sourceFile)); var fileExistsAtStart = File.Exists(expectedDestinationFile); var totalOriginalFiles = Directory.GetFiles(directoryToCreate).Length; Fs.SafeCopyFile(_sourceFile, directoryToCreate, true); var totalNewFiles = Directory.GetFiles(directoryToCreate).Length; var fileHasBeenCreated = totalNewFiles > totalOriginalFiles; Assert.False(fileExistsAtStart); Assert.True(fileHasBeenCreated); Assert.True(File.Exists(expectedDestinationFile)); }
public void Dispose() { FSTestsFixture.DeleteTempFolderForTest(_testFolder); }
public SafeRenameDirectoryTests(FSTestsFixture fixture) { _fixture = fixture; Thread.CurrentThread.CurrentUICulture = fixture.CultureInfo; _testFolder = _fixture.CreateTempFolderForTest("SafeRenameDirectory"); }
public EnsureFolderExistsTests(FSTestsFixture fixture) { _fixture = fixture; Thread.CurrentThread.CurrentUICulture = fixture.CultureInfo; _testFolder = _fixture.CreateTempFolderForTest("EnsureFolderExists"); }
public SafeDeleteDirectoryTests(FSTestsFixture fixture) { _fixture = fixture; _testFolder = _fixture.CreateTempFolderForTest("SafeDeleteDirectory"); }
public SafeDeleteFileTests(FSTestsFixture fixture) { _fixture = fixture; Thread.CurrentThread.CurrentUICulture = fixture.CultureInfo; _testFolder = _fixture.CreateTempFolderForTest("SafeDeleteFile"); }
public GetExistingFolderNamesTests(FSTestsFixture fixture) { _fixture = fixture; _testFolder = _fixture.CreateTempFolderForTest("GetExistingFolderNames"); }