public void Init()
        {
            RootDir = FileUtil.CreateTempFolder("_" + GetType().Name);

            var provider = new LocalFileSystemProvider(RootDir, true);

            //prepare test dir and paths
            DownloadService = (LocalFileSystemDownloadService)provider.DownloadTransfers;


            SourceFilePath = FileUtil.CreateTempFilePath(RootDir.FullName, "source", "bin");

            //create file
            SourceFileContents = new byte[5 * 1024 * 1024];
            new Random(DateTime.Now.Millisecond).NextBytes(SourceFileContents);
            File.WriteAllBytes(SourceFilePath, SourceFileContents);
            SourceFile = new FileInfo(SourceFilePath);

            //prepare target buffer
            ReceivingBuffer = new List <byte>();
            LastBlock       = null;

            //get token
            Token = DownloadService.RequestDownloadToken(SourceFilePath, false);

            InitInternal();
        }
示例#2
0
        public void Configure()
        {
            var root     = new DirectoryInfo(@"D:\Downloads\1-Time Garbage\_VFS-SERVICE-ROOT");
            var fsConfig = LocalFileSystemConfiguration.CreateForRootDirectory(root, true);

            fsConfig.RootName = "Downloads";
            var provider = new LocalFileSystemProvider(fsConfig);

            using (OpenRastaConfiguration.Manual)
            {
                var uris = VfsUris.Default;

//        ConfigurationHelper.RegisterExceptionInterceptor();
                ConfigurationHelper.RegisterFileSystemProvider(provider);
                ConfigurationHelper.RegisterDefaultHandlers();


//        //read file as stream
//        ResourceSpace.Has.ResourcesOfType<FileDataResource>()
//          .AtUri("/files/{filepath}/data")
//          .HandledBy<DownloadHandler>();
//
//        //get download token
//        ResourceSpace.Has.ResourcesOfType<DownloadToken>()
//          .AtUri("/files/{filepath}/download/token?includefilehash={includeFileHash}")
//          .And
//          .AtUri("/files/{filepath}/download/token?includefilehash={includeFileHash}&maxblocksize={maxBlockSize}")
//          .HandledBy<DownloadHandler>()
//          .AsXmlDataContract();
            }
        }
    public void Root_Folder_Should_Point_To_Defined_Root_Directory_And_Provider_Root_Flag()
    {
      provider = new LocalFileSystemProvider(rootDirectory, false);
      root = provider.GetFileSystemRoot();

      Assert.IsTrue(root.IsRootFolder);
      Assert.AreEqual(root.Name, rootDirectory.Name);
      Assert.AreEqual(rootDirectory.FullName, root.FullName);
    }
示例#4
0
        public void Requestion_Deletion_Of_Drive_Should_Fail()
        {
            Assert.Ignore("Works fine. However: Run this test manually in the debugger and abort if it fails before deleting your stuff!");

            var sysProvider = new LocalFileSystemProvider();

            sysProvider.Auditor = new ConsoleAuditor();
            sysProvider.DeleteFolder("G:\\");
        }
示例#5
0
        public void Root_Folder_Should_Point_To_Defined_Root_Directory_And_Provider_Root_Flag()
        {
            provider = new LocalFileSystemProvider(rootDirectory, false);
            root     = provider.GetFileSystemRoot();

            Assert.IsTrue(root.IsRootFolder);
            Assert.AreEqual(root.Name, rootDirectory.Name);
            Assert.AreEqual(rootDirectory.FullName, root.FullName);
        }
        public void Requesting_A_File_Outside_The_Allowed_Scope_Should_Fail()
        {
            var dir = TestUtil.CreateTestDirectory();

            using (new Guard(() => dir.Delete(true)))
            {
                provider = new LocalFileSystemProvider(dir, false);
                provider.ReadFileContents(sourceFile);
            }
        }
    public void Custom_Root_Name_Should_Be_Returned_If_Set()
    {
      var configuration = LocalFileSystemConfiguration.CreateForRootDirectory(rootDirectory, false);
      configuration.RootName = "FOO";

      provider = new LocalFileSystemProvider(configuration);
      root = provider.GetFileSystemRoot();

      Assert.AreEqual("FOO", root.Name);
      Assert.AreEqual(rootDirectory.FullName, root.FullName);
    }
示例#8
0
        public void Custom_Root_Name_Should_Be_Returned_If_Set()
        {
            var configuration = LocalFileSystemConfiguration.CreateForRootDirectory(rootDirectory, false);

            configuration.RootName = "FOO";

            provider = new LocalFileSystemProvider(configuration);
            root     = provider.GetFileSystemRoot();

            Assert.AreEqual("FOO", root.Name);
            Assert.AreEqual(rootDirectory.FullName, root.FullName);
        }
    public void Init()
    {
      provider = new LocalFileSystemProvider();
      FileInfo fi = new FileInfo(FileUtil.CreateTempFilePath("txt"));
      var writer = fi.CreateText();
      writer.WriteLine("hello world.");
      writer.Close();

      sourceFile = fi.CreateFileResourceInfo();
      Assert.IsTrue(fi.Exists);

      targetFile = new FileInfo(FileUtil.CreateTempFilePath("txt"));
    }
        public void Init()
        {
            provider = new LocalFileSystemProvider();
            FileInfo fi     = new FileInfo(FileUtil.CreateTempFilePath("txt"));
            var      writer = fi.CreateText();

            writer.WriteLine("hello world.");
            writer.Close();

            sourceFile = fi.CreateFileResourceInfo();
            Assert.IsTrue(fi.Exists);

            targetFile = new FileInfo(FileUtil.CreateTempFilePath("txt"));
        }
        public void Submitting_Root_Path_Should_Fail()
        {
            var dir = TestUtil.CreateTestDirectory();

            using (new Guard(() => dir.Delete(true)))
            {
                provider = new LocalFileSystemProvider(dir, false);
                provider.ReadFileContents(sourceFile);
            }

            VirtualFileInfo file = new VirtualFileInfo();

            file.FullName = provider.GetFileSystemRoot().FullName;
            provider.ReadFileContents(file);
        }
示例#12
0
        public void GetBytes()
        {
            var lfss = new LocalFileSystemProvider.LocalFileSystemProviderSettings();

            lfss.BasePath = @"c:\temp\LocalFileSystemProviderTestsDir\";
            var lfs = new LocalFileSystemProvider(lfss);

            VirtualFsHost.MountDrive("local", lfs);

            var r = VDictionary.ReadAllBytes(@"local:\test.txt");

            Assert.IsNotNull(r);

            VirtualFsHost.UnMountDrive("local");
        }
        public void Requesting_Contents_Of_System_Root_Should_Provide_Drives_And_No_Files()
        {
            var sysProvider = new LocalFileSystemProvider();
            var r           = sysProvider.GetFileSystemRoot();
            var contents    = sysProvider.GetFolderContents(r);

            Assert.IsNotNull(contents.Files);
            Assert.AreEqual(0, contents.Files.Count());

            foreach (var f in contents.Folders)
            {
                DirectoryInfo d = new DirectoryInfo(f.FullName);
                Assert.IsNull(d.Parent);
            }
        }
示例#14
0
        public void Requestion_Deletion_System_Root_Should_Fail()
        {
            Assert.Ignore("Works fine. However: Run this test manually in the debugger and abort if it fails before deleting your stuff!");

            var sysProvider = new LocalFileSystemProvider();

            try
            {
                string rootName = sysProvider.GetFileSystemRoot().FullName;
                sysProvider.DeleteFolder(rootName);
                Assert.Fail("Could delete system root???");
            }
            catch (ResourceAccessException e)
            {
                StringAssert.Contains("root", e.Message.ToLower());
            }
        }
        private LocalFileSystemProvider CreateFileSystem(string rootDir)
        {
            var localFileSystem = new LocalFileSystemProvider(rootDir);

            // Anlegen eines neuen Directories verbieten:
            localFileSystem.GetFileSystemNotifier().CreatePreview += (sender, args) =>
            {
                if (args.Node.IsDirectory)
                {
                    args.CancelOperation();
                }
            };

            // jede Art von Löschen verhindern
            localFileSystem.GetFileSystemNotifier().DeletePreview += (sender, args) => { args.CancelOperation(); };

            return(localFileSystem);
        }
        public void Should_Be_Able_To_Request_Token_For_File_In_Root_Folder()
        {
            DirectoryInfo downloadFolder = new DirectoryInfo(Path.GetTempPath());
            var           f2             = downloadFolder.FullName.Substring(0, downloadFolder.FullName.Length - 1);

            var result = Uri.Compare(new Uri(downloadFolder.FullName), new Uri(f2), UriComponents.AbsoluteUri, UriFormat.UriEscaped,
                                     StringComparison.InvariantCultureIgnoreCase);

            Console.Out.WriteLine("result = {0}", result);
            return;


            var fs = new LocalFileSystemProvider(downloadFolder, true);

            fs.GetChildFiles("/");

            var token = fs.UploadTransfers.RequestUploadToken("/MYROOTFILE.TXT", false, 102400, "text/plain");
        }
    public void Requestion_Deletion_Of_Drive_Should_Fail  ()
    {
      Assert.Ignore("Works fine. However: Run this test manually in the debugger and abort if it fails before deleting your stuff!");
 
      var sysProvider = new LocalFileSystemProvider();
      sysProvider.Auditor = new ConsoleAuditor();
      sysProvider.DeleteFolder("G:\\");
    }
    public void Should_Be_Able_To_Request_Token_For_File_In_Root_Folder()
    {
      DirectoryInfo downloadFolder = new DirectoryInfo(Path.GetTempPath());
      var f2 = downloadFolder.FullName.Substring(0, downloadFolder.FullName.Length-1);

      var result = Uri.Compare(new Uri(downloadFolder.FullName), new Uri(f2), UriComponents.AbsoluteUri, UriFormat.UriEscaped,
                  StringComparison.InvariantCultureIgnoreCase);

      Console.Out.WriteLine("result = {0}", result);
      return;

      
      var fs = new LocalFileSystemProvider(downloadFolder, true);
      fs.GetChildFiles("/");

      var token = fs.UploadTransfers.RequestUploadToken("/MYROOTFILE.TXT", false, 102400, "text/plain");
    }
示例#19
0
        private LocalFileSystemProvider CreateFileSystem(string rootDir)
        {
            var localFileSystem = new LocalFileSystemProvider(rootDir);

            return(localFileSystem);
        }
示例#20
0
 public void Submitting_Relative_But_Rooted_File_Path_Should_Not_Work_With_System_Root()
 {
     provider = new LocalFileSystemProvider("ROOT");
     var status = provider.IsFileAvailable("/Foo/Bar.txt");
 }
示例#21
0
 public void Submitting_Relative_Folder_Path_Should_Not_Work_With_System_Root()
 {
     provider = new LocalFileSystemProvider("ROOT");
     var status = provider.IsFolderAvailable("Foo/Bar");
 }
 public void Creating_Provider_With_Inexisting_Root_Directory_Should_Fail()
 {
   rootDirectory.Delete(true);
   rootDirectory.Refresh(); //there's obviously room for error, but the folder could be deleted any time anyway
   provider = new LocalFileSystemProvider(rootDirectory, false);
 }
 public void Submitting_Relative_File_Path_Should_Not_Work_With_System_Root()
 {
   provider = new LocalFileSystemProvider("ROOT");
   var status = provider.IsFileAvailable("Foo/Bar.txt");
 }
    public void Requesting_Contents_Of_System_Root_Should_Provide_Drives_And_No_Files()
    {
      var sysProvider = new LocalFileSystemProvider();
      var r = sysProvider.GetFileSystemRoot();
      var contents = sysProvider.GetFolderContents(r);

      Assert.IsNotNull(contents.Files);
      Assert.AreEqual(0, contents.Files.Count());

      foreach (var f in contents.Folders)
      {
        DirectoryInfo d = new DirectoryInfo(f.FullName);
        Assert.IsNull(d.Parent);
      }

    }
 public void Adding_A_Folder_To_System_Root_Should_Cause_Exception()
 {
   provider = new LocalFileSystemProvider();
   provider.CreateFolder(root, "Illegal");
 }
 public void Requesting_A_File_Outside_The_Allowed_Scope_Should_Fail()
 {
   var dir = TestUtil.CreateTestDirectory();
   using(new Guard(() => dir.Delete(true)))
   {
     provider = new LocalFileSystemProvider(dir, false);
     provider.ReadFileContents(sourceFile);
   }
 }
    public void Submitting_Root_Path_Should_Fail()
    {
      var dir = TestUtil.CreateTestDirectory();
      using (new Guard(() => dir.Delete(true)))
      {
        provider = new LocalFileSystemProvider(dir, false);
        provider.ReadFileContents(sourceFile);
      }

      VirtualFileInfo file = new VirtualFileInfo();
      file.FullName = provider.GetFileSystemRoot().FullName;
      provider.ReadFileContents(file);
    }
示例#28
0
 public void Creating_Provider_With_Inexisting_Root_Directory_Should_Fail()
 {
     rootDirectory.Delete(true);
     rootDirectory.Refresh(); //there's obviously room for error, but the folder could be deleted any time anyway
     provider = new LocalFileSystemProvider(rootDirectory, false);
 }
示例#29
0
 public void Adding_A_Folder_To_System_Root_Should_Cause_Exception()
 {
     provider = new LocalFileSystemProvider();
     provider.CreateFolder(root, "Illegal");
 }
    public void Requestion_Deletion_System_Root_Should_Fail()
    {
      Assert.Ignore("Works fine. However: Run this test manually in the debugger and abort if it fails before deleting your stuff!");

      var sysProvider = new LocalFileSystemProvider();
      try
      {
        string rootName = sysProvider.GetFileSystemRoot().FullName;
        sysProvider.DeleteFolder(rootName);
        Assert.Fail("Could delete system root???");
      }
      catch (ResourceAccessException e)
      {
        StringAssert.Contains("root", e.Message.ToLower());
      }
    }