public void DirectoryBackupOperation_Backup_BackupPath_SubDirectoriesExist() { var mockFileSystem = new MockFileSystem(); TxFileSystem txFileSystem = null; using (var transactionScope = new TransactionScope()) { txFileSystem = new TxFileSystem(mockFileSystem); txFileSystem.Directory.CreateDirectory("/tmp/directorytobackupped"); for (var i = 1; i <= 3; i++) { txFileSystem.Directory.CreateDirectory("/tmp/directorytobackupped/subdir_" + i.ToString()); } var unitTestOperation = new UnitTestDirectoryOperation(txFileSystem.Directory, "/tmp/directorytobackupped"); unitTestOperation.Backup(); var directories = txFileSystem.Directory.EnumerateDirectories(unitTestOperation.BackupPath); Assert.NotEmpty(directories); Assert.Equal(3, directories.Count()); } }
public void TxJournalEntry_Operation_EqualsOperationPassed() { var mockFileSystem = new MockFileSystem(); var txFileSystem = new TxFileSystem(mockFileSystem); var unitTestOperation = new UnitTestDirectoryOperation(txFileSystem.Directory, "/var/journaltestdir"); var txJournalEntry = new TxJournalEntry(unitTestOperation); Assert.Equal(unitTestOperation, txJournalEntry.Operation); Assert.Equal(OperationType.Delete, txJournalEntry.Operation.OperationType); }
public void DirectoryBackupOperation_Backup_BackupPathExists_ReturnsTrue() { var mockFileSystem = new MockFileSystem(); TxFileSystem txFileSystem = null; using (var transactionScope = new TransactionScope()) { txFileSystem = new TxFileSystem(mockFileSystem); txFileSystem.Directory.CreateDirectory("/tmp/directorytobackupped"); var unitTestOperation = new UnitTestDirectoryOperation(txFileSystem.Directory, "/tmp/directorytobackupped"); unitTestOperation.Backup(); Assert.True(txFileSystem.Directory.Exists(unitTestOperation.BackupPath)); } }
public void TxJournalEntryCollection_Remove_ThrowsNotImplementedException() { var attr = (FsFactAttribute)Attribute.GetCustomAttribute(MethodBase.GetCurrentMethod(), typeof(FsFactAttribute)); var fileSystemMock = attr.GetMock <IFileSystem>(); var txFileSystem = new TxFileSystem(fileSystemMock.Object); var path = "/tmp/dummydirectory"; var unitTestOperation = new UnitTestDirectoryOperation(txFileSystem.Directory, path); var journalEntry = new TxJournalEntry(unitTestOperation); var journalEntries = new TxJournalEntryCollection { journalEntry }; Assert.Throws <NotImplementedException>(() => { journalEntries.Remove(journalEntry); }); }