Exemplo n.º 1
0
        public void HadoopFileSystemGetDirectoriesTest()
        {
            HadoopFileSystem fileSystem = new HadoopFileSystem(this.hostname, this.portNumber, this.authentication);

            if (!fileSystem.IsConnected)
            {
                Assert.Inconclusive();
            }

            // empty directory

            fileSystem.CreateDirectory(this.directoryPath);
            fileSystem.GetDirectories(this.directoryPath).ShouldBeEmpty();

            // only directories

            fileSystem.CreateDirectory(this.directoryPath + "/InnerDirectory1");
            fileSystem.CreateDirectory(this.directoryPath + "/InnerDirectory2");

            String[] directories = fileSystem.GetDirectories(this.directoryPath);

            directories.Length.ShouldBe(2);
            directories[0].ShouldBe(this.directoryPath + "/InnerDirectory1");
            directories[1].ShouldBe(this.directoryPath + "/InnerDirectory2");

            // with search pattern

            directories = fileSystem.GetDirectories(this.directoryPath, "*1", false);

            directories.Length.ShouldBe(1);
            directories[0].ShouldBe(this.directoryPath + "/InnerDirectory1");

            // recursive

            fileSystem.CreateDirectory(this.directoryPath + "/InnerDirectory1/DeepInnerDirectory1");
            fileSystem.CreateDirectory(this.directoryPath + "/InnerDirectory1/DeepInnerDirectory2");

            directories = fileSystem.GetDirectories(this.directoryPath, "*", true);

            directories.Length.ShouldBe(4);
            directories[0].ShouldBe(this.directoryPath + "/InnerDirectory1");
            directories[1].ShouldBe(this.directoryPath + "/InnerDirectory1/DeepInnerDirectory1");
            directories[2].ShouldBe(this.directoryPath + "/InnerDirectory1/DeepInnerDirectory2");
            directories[3].ShouldBe(this.directoryPath + "/InnerDirectory2");

            fileSystem.Delete(this.directoryPath);

            // exceptions

            Should.Throw <ArgumentNullException>(() => fileSystem.GetDirectories(null));
            Should.Throw <ArgumentException>(() => fileSystem.GetDirectories(String.Empty));
            Should.Throw <ArgumentException>(() => fileSystem.GetDirectories(":"));
            Should.Throw <ArgumentException>(() => fileSystem.GetDirectories("/NotExistingPath/"));
        }
        public void HadoopFileSystemGetDirectoriesTest()
        {
            HadoopFileSystem fileSystem = new HadoopFileSystem(_hostname, _portNumber, _authentication);

            if (!fileSystem.IsConnected)
            {
                Assert.Inconclusive();
            }


            // empty directory

            fileSystem.CreateDirectory(_directoryPath);

            Assert.AreEqual(0, fileSystem.GetDirectories(_directoryPath).Length);


            // only directories

            fileSystem.CreateDirectory(_directoryPath + "/InnerDirectory1");
            fileSystem.CreateDirectory(_directoryPath + "/InnerDirectory2");

            String[] directories = fileSystem.GetDirectories(_directoryPath);

            Assert.AreEqual(2, directories.Length);
            Assert.AreEqual(_directoryPath + "/InnerDirectory1", directories[0]);
            Assert.AreEqual(_directoryPath + "/InnerDirectory2", directories[1]);


            // with search pattern

            directories = fileSystem.GetDirectories(_directoryPath, "*1", false);

            Assert.AreEqual(1, directories.Length);
            Assert.AreEqual(_directoryPath + "/InnerDirectory1", directories[0]);


            // recursive

            fileSystem.CreateDirectory(_directoryPath + "/InnerDirectory1/DeepInnerDirectory1");
            fileSystem.CreateDirectory(_directoryPath + "/InnerDirectory1/DeepInnerDirectory2");

            directories = fileSystem.GetDirectories(_directoryPath, "*", true);


            Assert.AreEqual(4, directories.Length);
            Assert.AreEqual(_directoryPath + "/InnerDirectory1", directories[0]);
            Assert.AreEqual(_directoryPath + "/InnerDirectory1/DeepInnerDirectory1", directories[1]);
            Assert.AreEqual(_directoryPath + "/InnerDirectory1/DeepInnerDirectory2", directories[2]);
            Assert.AreEqual(_directoryPath + "/InnerDirectory2", directories[3]);


            fileSystem.Delete(_directoryPath);


            // exceptions

            Assert.Throws <ArgumentNullException>(() => fileSystem.GetDirectories(null));
            Assert.Throws <ArgumentException>(() => fileSystem.GetDirectories(String.Empty));
            Assert.Throws <ArgumentException>(() => fileSystem.GetDirectories(":"));
            Assert.Throws <ArgumentException>(() => fileSystem.GetDirectories("/NotExistingPath/"));
        }