Beispiel #1
0
        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,
                };
            }
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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 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);
        }
Beispiel #6
0
        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));
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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));
        }
Beispiel #9
0
        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}"));
        }
Beispiel #10
0
        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 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));
        }