private void AlphaFS_Directory_ExportImportEncryptedDirectoryRaw(bool isNetwork) { using (var tempRoot = new TemporaryDirectory(isNetwork)) { // Create an encrypted file to use for testing. var inputDir = System.IO.Path.Combine(tempRoot.Directory.FullName, "testDir"); System.IO.Directory.CreateDirectory(inputDir); System.IO.File.WriteAllText(System.IO.Path.Combine(inputDir, "test.txt"), "Test file"); Alphaleonis.Win32.Filesystem.Directory.Encrypt(inputDir, false); Console.WriteLine("Encrypted Input Directory: [{0}]", inputDir); // Export the file using the method under test. var exportedFile = System.IO.Path.Combine(tempRoot.Directory.FullName, "export.dat"); using (var fs = System.IO.File.Create(exportedFile)) Alphaleonis.Win32.Filesystem.Directory.ExportEncryptedDirectoryRaw(inputDir, fs); Console.WriteLine("\nExported Input Directory: [{0}]", exportedFile); FileAssert.Exists(exportedFile); FileAssert.IsNotEncrypted(exportedFile); // Import the directory again. var importedDir = System.IO.Path.Combine(tempRoot.Directory.FullName, "importDir"); using (var fs = System.IO.File.OpenRead(exportedFile)) Alphaleonis.Win32.Filesystem.Directory.ImportEncryptedDirectoryRaw(fs, importedDir); Console.WriteLine("\nImported Input Directory: [{0}]", importedDir); // Verify that the imported file contents are equal to the original ones. DirectoryAssert.Exists(importedDir); DirectoryAssert.IsEncrypted(importedDir); } Console.WriteLine(); }
private void Directory_ExportImportEncryptedDirectoryRaw(bool isNetwork) { UnitTestConstants.PrintUnitTestHeader(isNetwork); var tempPath = System.IO.Path.GetTempPath(); if (isNetwork) { tempPath = Alphaleonis.Win32.Filesystem.Path.LocalToUnc(tempPath); } using (var rootDir = new TemporaryDirectory(tempPath, MethodBase.GetCurrentMethod().Name)) { // Create an encrypted file to use for testing. var inputDir = System.IO.Path.Combine(rootDir.Directory.FullName, "testDir"); System.IO.Directory.CreateDirectory(inputDir); System.IO.File.WriteAllText(System.IO.Path.Combine(inputDir, "test.txt"), "Test file"); Alphaleonis.Win32.Filesystem.Directory.Encrypt(inputDir, false); Console.WriteLine("\nEncrypted Input Directory: [{0}]", inputDir); // Export the file using the method under test. var exportedFile = System.IO.Path.Combine(rootDir.Directory.FullName, "export.dat"); using (var fs = System.IO.File.Create(exportedFile)) Alphaleonis.Win32.Filesystem.Directory.ExportEncryptedDirectoryRaw(inputDir, fs); Console.WriteLine("\nExported Input Directory: [{0}]", exportedFile); FileAssert.Exists(exportedFile); FileAssert.IsNotEncrypted(exportedFile); // Import the directory again. var importedDir = System.IO.Path.Combine(rootDir.Directory.FullName, "importDir"); using (var fs = System.IO.File.OpenRead(exportedFile)) Alphaleonis.Win32.Filesystem.Directory.ImportEncryptedDirectoryRaw(fs, importedDir); Console.WriteLine("\nImported Input Directory: [{0}]", importedDir); // Verify that the imported file contents are equal to the original ones. DirectoryAssert.Exists(importedDir); DirectoryAssert.IsEncrypted(importedDir); } Console.WriteLine(); }