Skip to content

Commit

Permalink
Fix for getRootDirectories() (#93)
Browse files Browse the repository at this point in the history
  • Loading branch information
markjschreiber committed Jul 7, 2023
1 parent a5c2d52 commit ea1044d
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 5 deletions.
13 changes: 11 additions & 2 deletions src/main/java/software/amazon/nio/spi/s3/S3FileSystem.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,16 @@
import java.io.IOException;
import java.net.URI;
import java.nio.channels.Channel;
import java.nio.file.*;
import java.nio.file.ClosedFileSystemException;
import java.nio.file.DirectoryStream;
import java.nio.file.FileStore;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.InvalidPathException;
import java.nio.file.Path;
import java.nio.file.PathMatcher;
import java.nio.file.WatchService;
import java.nio.file.attribute.UserPrincipalLookupService;
import java.nio.file.spi.FileSystemProvider;
import java.util.Collections;
Expand Down Expand Up @@ -182,7 +191,7 @@ public String getSeparator() {
*/
@Override
public Iterable<Path> getRootDirectories() {
return S3Path.getPath(this, "/");
return Collections.singleton(S3Path.getPath(this, "/"));
}

/**
Expand Down
14 changes: 11 additions & 3 deletions src/test/java/software/amazon/nio/spi/s3/S3FileSystemTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,12 @@
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.util.Collections;
import java.util.Iterator;

import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

public class S3FileSystemTest {
S3FileSystemProvider provider;
Expand Down Expand Up @@ -60,8 +64,12 @@ public void isReadOnly() {
public void getRootDirectories() {
final Iterable<Path> rootDirectories = s3FileSystem.getRootDirectories();
assertNotNull(rootDirectories);
assertEquals(S3Path.PATH_SEPARATOR, rootDirectories.toString());
assertFalse(s3FileSystem.getRootDirectories().iterator().hasNext());

final Iterator<Path> rootDirectoriesIterator = rootDirectories.iterator();

assertTrue(rootDirectoriesIterator.hasNext());
assertEquals(S3Path.PATH_SEPARATOR, rootDirectoriesIterator.next().toString());
assertFalse(rootDirectoriesIterator.hasNext());
}

@Test
Expand Down

0 comments on commit ea1044d

Please sign in to comment.