@Test public void testLocalAbsolute() throws URISyntaxException { URI repositoryUri = new URI("repo:file:///tmp/dsr-repo-test"); DatasetRepository repository = DatasetRepositories.repositoryFor(repositoryUri); FileSystemMetadataProvider provider = (FileSystemMetadataProvider) ((FileSystemDatasetRepository) repository).getMetadataProvider(); Assert.assertEquals("Root directory should be the correct qualified path", new Path("file:/tmp/dsr-repo-test"), provider.getRootDirectory()); Assert.assertEquals("Repository URI", repositoryUri, repository.getUri()); }
@Test public void testLocalRelative() throws URISyntaxException { URI repositoryUri = new URI("repo:file:target/dsr-repo-test"); DatasetRepository repository = DatasetRepositories.repositoryFor(repositoryUri); // We only do the deeper implementation checks one per combination. Assert.assertNotNull("Received a repository", repository); Assert.assertTrue("Repo is a FileSystem repo", repository instanceof FileSystemDatasetRepository); MetadataProvider provider = ((FileSystemDatasetRepository) repository) .getMetadataProvider(); Assert.assertTrue("Repo is using a FileSystemMetadataProvider", provider instanceof FileSystemMetadataProvider); FileSystemMetadataProvider fsProvider = (FileSystemMetadataProvider) provider; Assert.assertTrue("FileSystem is a LocalFileSystem", fsProvider.getFileSytem() instanceof LocalFileSystem); Path expected = fsProvider.getFileSytem().makeQualified( new Path("target/dsr-repo-test")); Assert.assertEquals("Root directory should be the correct qualified path", expected, fsProvider.getRootDirectory()); Assert.assertEquals("Repository URI scheme", "repo", repository.getUri() .getScheme()); Assert.assertEquals("Repository URI scheme", expected.toUri(), new URI(repository.getUri().getSchemeSpecificPart())); }
@Test public void testHdfsAbsolute() throws URISyntaxException { URI hdfsUri = getDFS().getUri(); URI repositoryUri = new URI("repo:hdfs://" + hdfsUri.getAuthority() + "/tmp/dsr-repo-test"); DatasetRepository repository = DatasetRepositories.repositoryFor(repositoryUri); // We only do the deeper implementation checks one per combination. Assert.assertNotNull("Received a repository", repository); Assert.assertTrue("Repo is a FileSystem repo", repository instanceof FileSystemDatasetRepository); MetadataProvider provider = ((FileSystemDatasetRepository) repository) .getMetadataProvider(); Assert.assertTrue("Repo is using a FileSystemMetadataProvider", provider instanceof FileSystemMetadataProvider); FileSystemMetadataProvider fsProvider = (FileSystemMetadataProvider) provider; Assert.assertTrue("FileSystem is a DistributedFileSystem", fsProvider.getFileSytem() instanceof DistributedFileSystem); Path expected = fsProvider.getFileSytem().makeQualified( new Path("/tmp/dsr-repo-test")); Assert.assertEquals("Root directory should be the correct qualified path", expected, fsProvider.getRootDirectory()); Assert.assertEquals("Repository URI", repositoryUri, repository.getUri()); }