public async Task RunRemoteBackupTest() { var settings = new BackupManagerSettings(); settings.Locations.Add(RemoteLocationInfo); BackupManager = BackupManagerFactory.GetBackupManager(CatalogPath, settings); BackupManager.AddDirectoryToCatalog(new BackupDirectory(TestTwoPath)); //BackupManager.AddDirectoryToCatalog(new BackupDirectory(TestOnePath)); var serverWatchDog = new WatchDog(); var comminicator = new Communicator(13001, new NetworkClient("TestServer", new TcpClient()), new NetworkListener()); var fileServer = new RemoteFileServer(comminicator, RemoteStoragePath, RemoteTemporaryStoragePath); var backupService = new BackupServiceModule(fileServer); serverWatchDog.RegisterModule(backupService); await serverWatchDog.Start(); await BackupManager.RunBackup(); BackupManager.SaveCatalog(); //var storageLocationFactory = Container.Resolve<IStorageLocationFactory>(); var location = BackupManager.GetLocations().First(); //await BackupManager.RestoreBackupSet(location, TestOnePath, RestorePath); await BackupManager.RestoreBackupSet(location, TestTwoPath, RestorePath); var originalFile = new FileInfo(FileToRestorePath); var restoredFile = new FileInfo(PathToRestoreFile); Assert.AreEqual(originalFile.Length, restoredFile.Length); Assert.AreEqual(originalFile.Attributes, restoredFile.Attributes); Assert.AreEqual(originalFile.CreationTime, restoredFile.CreationTime); Assert.AreEqual(originalFile.LastWriteTime, restoredFile.LastWriteTime); Assert.AreEqual(originalFile.IsReadOnly, restoredFile.IsReadOnly); }
public async Task GetRemoteFileTest() { var serverCommunicator = new Communicator(); var server = new RemoteFileServer(serverCommunicator, PathToStorage, PathToServerTempStorage); // Path.GetTempPath()); server.StartServer(); var clientCommunicator = new Communicator(); var client = new RemoteStorageLocation(clientCommunicator, "192.168.1.6", PathToClientTempStorage); await client.Connect(); var file = new BackupFile(FileToStorePath); var hash = Hasher.GetFileHash(file); await client.StoreFile(file, hash); var filePath = await client.GetFile(hash); }
static void Main(string[] args) { ConfigureContainer(); var pathToStorage = @"C:\zdir\backup\remote\storage"; var pathToTempStorage = @"C:\zdir\backup\remote\tempstorage"; WatchDog = Container.Resolve <IWatchDog>(); var comminicator = new Communicator(13001, new NetworkClient("TestServer", new TcpClient()), new NetworkListener()); var fileServer = new RemoteFileServer(comminicator, pathToStorage, pathToTempStorage); var backupService = new BackupServiceModule(fileServer); WatchDog.RegisterModule(backupService); WatchDog.Start(); Console.WriteLine("Press any key to stop backup server"); Console.ReadKey(); WatchDog.Stop(); }
public async Task StoreRemoteFileTest() { var serverCommunicator = new Communicator(); var server = new RemoteFileServer(serverCommunicator, PathToStorage, PathToServerTempStorage); // Path.GetTempPath()); server.StartServer(); var clientCommunicator = new Communicator(13001, new NetworkClient("Test", new TcpClient()), new NetworkListener()); var client = new RemoteStorageLocation(clientCommunicator, "192.168.1.6", PathToClientTempStorage); await client.Connect(); var file = new BackupFile(FileToStorePath); var hash = Hasher.GetFileHash(file); var storeReslts = await client.StoreFile(file, hash); Assert.IsTrue(storeReslts); }