private void testGetParent(String delimiter, CloudBlobContainer container) throws URISyntaxException, StorageException { CloudPageBlob blob = container.getPageBlobReference("Dir1" + delimiter + "Blob1"); blob.create(0); try { assertTrue(blob.exists()); assertEquals(blob.getName(), "Dir1" + delimiter + "Blob1"); CloudBlobDirectory parent = blob.getParent(); assertEquals("Dir1" + delimiter, parent.getPrefix()); } finally { blob.deleteIfExists(); } }
assertEquals(new URI(container.getUri().getScheme(), container.getUri().getAuthority(), container.getUri() .getPath() + "/Dir1" + delimiter + "PageBlob", null, null), pageBlob.getUri()); CloudBlobDirectory pageParent = pageBlob.getParent(); assertEquals("Dir1" + delimiter, pageParent.getPrefix()); .getEndpoint().toString()); assertEquals(pageSnapshot.getUri().toString(), pageSnapshotDir1.getUri().toString()); assertEquals(pageSnapshot.getParent().getPrefix(), pageSnapshotDir1.getParent().getPrefix());
CloudPageBlob blob = container.getPageBlobReference("TopDir1" + delimiter + "MidDir1" + delimiter + "EndDir1" + delimiter + "EndBlob1"); CloudBlobDirectory directory = blob.getParent(); assertEquals("TopDir1" + delimiter + "MidDir1" + delimiter + "EndDir1" + delimiter, directory.getPrefix()); assertEquals(new URI(container.getUri().getScheme(), container.getUri().getAuthority(), container.getUri()
assertEquals(blobUri, pageBlob.getStorageUri()); assertEquals(blobUri.getPrimaryUri(), pageBlob.getUri()); assertEquals(subdirectoryUri, pageBlob.getParent().getStorageUri()); assertEquals(containerUri, pageBlob.getContainer().getStorageUri()); assertEquals(endpoint, pageBlob.getServiceClient().getStorageUri()); assertEquals(blobUri, pageBlob.getStorageUri()); assertEquals(blobUri.getPrimaryUri(), pageBlob.getUri()); assertEquals(subdirectoryUri, pageBlob.getParent().getStorageUri()); assertEquals(containerUri, pageBlob.getContainer().getStorageUri()); assertEquals(endpoint, pageBlob.getServiceClient().getStorageUri());
private void testDelimitersInARow(String delimiter, CloudBlobContainer container) throws URISyntaxException, StorageException { CloudPageBlob blob = container.getPageBlobReference(delimiter + delimiter + delimiter + "Blob1"); // Traverse from leaf to root CloudBlobDirectory directory1 = blob.getParent(); assertEquals(delimiter + delimiter + delimiter, directory1.getPrefix()); CloudBlobDirectory directory2 = directory1.getParent(); assertEquals(delimiter + delimiter, directory2.getPrefix()); CloudBlobDirectory directory3 = directory2.getParent(); assertEquals(delimiter, directory3.getPrefix()); // Traverse from root to leaf CloudBlobDirectory directory4 = container.getDirectoryReference(delimiter); CloudBlobDirectory directory5 = directory4.getDirectoryReference(delimiter); assertEquals(delimiter + delimiter, directory5.getPrefix()); CloudBlobDirectory directory6 = directory5.getDirectoryReference(delimiter); assertEquals(delimiter + delimiter + delimiter, directory6.getPrefix()); CloudPageBlob blob2 = directory6.getPageBlobReference("Blob1"); assertEquals(delimiter + delimiter + delimiter + "Blob1", blob2.getName()); assertEquals(blob.getUri(), blob2.getUri()); }