Exemple #1
0
        public void CryptDecryptFileWithTrueKey()
        {
            // arrange
            MyFile file = Factory.CreateFile(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Path.GetRandomFileName()));

            file.FileAppendAllText("secretInfo123123");
            List <Entry> entries = new List <Entry>();

            entries.Add(file);
            string key = "key123";

            // act
            FileSystemContainer container = new FileSystemContainer(entries, false, true);

            container.Accept(new DESCryptoVisitor(true, key));
            MyFile cryptFile;

            if (Factory.TryGetFile(file.FullPath + "_crypted", out cryptFile))
            {
                entries.Clear();
                entries.Add(cryptFile);
                container = new FileSystemContainer(entries, false, true);
                container.Accept(new DESCryptoVisitor(false, key));
            }
            else
            {
                Assert.Fail("File " + file.FullPath + " is crypted, but " + file.FullPath + "_crypted " + "could not be found!");
            }
            string decryptResult = file.FileReadAllLines()[0];

            file.Delete();

            // assert
            Assert.AreEqual("secretInfo123123", decryptResult);
        }
Exemple #2
0
        public void Setup()
        {
            TestRoot = Path.Combine(GetFolderPath(SpecialFolder.MyDocuments), "Personal Cloud");
            Directory.CreateDirectory(TestRoot);
            TestRoot = Path.Combine(TestRoot, "Test Container");
            if (Directory.Exists(TestRoot))
            {
                Assert.Inconclusive("Previous test session may have failed. Please ensure \""
                                    + Path.GetDirectoryName(TestRoot)
                                    + "\" is empty before starting a new session.");
                return;
            }

            Directory.CreateDirectory(TestRoot);

            var logsDir = Path.Combine(TestRoot, "Logs");

            Directory.CreateDirectory(logsDir);

            Loggers = LoggerFactory.Create(builder => builder.//SetMinimumLevel(LogLevel.Trace).
                                           AddConsole(x => {
                x.TimestampFormat = "G";
            }));


            var dic = new Dictionary <string, IFileSystem>();

            dic["Files"] = new VirtualFileSystem(TestRoot);

            var RootFs = new FileSystemContainer(dic, Loggers.CreateLogger("FileContainerWebApiTest"));

            Server = new HttpProvider(10240, RootFs);
            Server.Start();

            Client = new TopFolderClient($"http://localhost:10240", new byte[32], "");
        }