public void HadoopFileSystemGetFileSystemEntriesTest() { HadoopFileSystem fileSystem = new HadoopFileSystem(this.hostname, this.portNumber, this.authentication); if (!fileSystem.IsConnected) { Assert.Inconclusive(); } // empty directory fileSystem.CreateDirectory(this.directoryPath); fileSystem.GetFileSystemEntries(this.directoryPath).ShouldBeEmpty(); // only directories fileSystem.CreateDirectory(this.directoryPath + "/InnerDirectory1"); fileSystem.CreateDirectory(this.directoryPath + "/InnerDirectory2"); FileSystemEntry[] directories = fileSystem.GetFileSystemEntries(this.directoryPath); directories.Length.ShouldBe(2); directories[0].Path.ShouldBe(this.directoryPath + "/InnerDirectory1"); directories[1].Path.ShouldBe(this.directoryPath + "/InnerDirectory2"); // with search pattern directories = fileSystem.GetFileSystemEntries(this.directoryPath, "*1", false); directories.Length.ShouldBe(1); directories[0].Path.ShouldBe(this.directoryPath + "/InnerDirectory1"); // recursive fileSystem.CreateDirectory(this.directoryPath + "/InnerDirectory1/DeepInnerDirectory1"); fileSystem.CreateDirectory(this.directoryPath + "/InnerDirectory1/DeepInnerDirectory2"); directories = fileSystem.GetFileSystemEntries(this.directoryPath, "*", true); directories.Length.ShouldBe(4); directories[0].Path.ShouldBe(this.directoryPath + "/InnerDirectory1"); directories[1].Path.ShouldBe(this.directoryPath + "/InnerDirectory1/DeepInnerDirectory1"); directories[2].Path.ShouldBe(this.directoryPath + "/InnerDirectory1/DeepInnerDirectory2"); directories[3].Path.ShouldBe(this.directoryPath + "/InnerDirectory2"); fileSystem.Delete(this.directoryPath); // exceptions Should.Throw <ArgumentNullException>(() => fileSystem.GetFileSystemEntries(null)); Should.Throw <ArgumentException>(() => fileSystem.GetFileSystemEntries(String.Empty)); Should.Throw <ArgumentException>(() => fileSystem.GetFileSystemEntries(":")); Should.Throw <ArgumentException>(() => fileSystem.GetFileSystemEntries("/NotExistingPath/")); }
public void HadoopFileSystemGetFileSystemEntriesTest() { HadoopFileSystem fileSystem = new HadoopFileSystem(_hostname, _portNumber, _authentication); if (!fileSystem.IsConnected) { Assert.Inconclusive(); } // empty directory fileSystem.CreateDirectory(_directoryPath); Assert.AreEqual(0, fileSystem.GetFileSystemEntries(_directoryPath).Length); // only directories fileSystem.CreateDirectory(_directoryPath + "/InnerDirectory1"); fileSystem.CreateDirectory(_directoryPath + "/InnerDirectory2"); FileSystemEntry[] directories = fileSystem.GetFileSystemEntries(_directoryPath); Assert.AreEqual(2, directories.Length); Assert.AreEqual(_directoryPath + "/InnerDirectory1", directories[0].Path); Assert.AreEqual(_directoryPath + "/InnerDirectory2", directories[1].Path); // with search pattern directories = fileSystem.GetFileSystemEntries(_directoryPath, "*1", false); Assert.AreEqual(1, directories.Length); Assert.AreEqual(_directoryPath + "/InnerDirectory1", directories[0].Path); // recursive fileSystem.CreateDirectory(_directoryPath + "/InnerDirectory1/DeepInnerDirectory1"); fileSystem.CreateDirectory(_directoryPath + "/InnerDirectory1/DeepInnerDirectory2"); directories = fileSystem.GetFileSystemEntries(_directoryPath, "*", true); Assert.AreEqual(4, directories.Length); Assert.AreEqual(_directoryPath + "/InnerDirectory1", directories[0].Path); Assert.AreEqual(_directoryPath + "/InnerDirectory1/DeepInnerDirectory1", directories[1].Path); Assert.AreEqual(_directoryPath + "/InnerDirectory1/DeepInnerDirectory2", directories[2].Path); Assert.AreEqual(_directoryPath + "/InnerDirectory2", directories[3].Path); fileSystem.Delete(_directoryPath); // exceptions Assert.Throws <ArgumentNullException>(() => fileSystem.GetFileSystemEntries(null)); Assert.Throws <ArgumentException>(() => fileSystem.GetFileSystemEntries(String.Empty)); Assert.Throws <ArgumentException>(() => fileSystem.GetFileSystemEntries(":")); Assert.Throws <ArgumentException>(() => fileSystem.GetFileSystemEntries("/NotExistingPath/")); }