@Test public void testDownloadPageRangeDiffWithOffsetAndLength() throws StorageException, URISyntaxException, IOException { final CloudPageBlob blobRef = setUpPageRanges(); final CloudPageBlob snapshot = (CloudPageBlob) blobRef.createSnapshot(); // Add page 1 InputStream inputStream = new ByteArrayInputStream(BlobTestHelper.getRandomBuffer(512)); blobRef.uploadPages(inputStream, 0, 512); List<PageRangeDiff> actualPageRanges = blobRef.downloadPageRangesDiff(snapshot.getSnapshotID(), (long) 0, (long) 5 * 512, null, null, null); List<PageRangeDiff> expectedPageRanges = new ArrayList<PageRangeDiff>(); expectedPageRanges.add(new PageRangeDiff(0, 512 - 1, false)); assertEquals(expectedPageRanges.size(), actualPageRanges.size()); for (int i = 0; i < expectedPageRanges.size(); i++) { assertEquals(expectedPageRanges.get(i).getStartOffset(), actualPageRanges.get(i).getStartOffset()); assertEquals(expectedPageRanges.get(i).getEndOffset(), actualPageRanges.get(i).getEndOffset()); assertEquals(expectedPageRanges.get(i).isCleared(), actualPageRanges.get(i).isCleared()); } }
@Test public void testDownloadPageRangeDiff() throws StorageException, URISyntaxException, IOException { final CloudPageBlob blobRef = setUpPageRanges(); final CloudPageBlob snapshot = (CloudPageBlob) blobRef.createSnapshot(); // Add page 1 InputStream inputStream = new ByteArrayInputStream(BlobTestHelper.getRandomBuffer(512)); inputStream = new ByteArrayInputStream(BlobTestHelper.getRandomBuffer(512)); blobRef.uploadPages(inputStream, 0, 512); // Clear page 6 blobRef.clearPages(6 * 512, 512); List<PageRangeDiff> actualPageRanges = blobRef.downloadPageRangesDiff(snapshot.getSnapshotID()); List<PageRangeDiff> expectedPageRanges = new ArrayList<PageRangeDiff>(); expectedPageRanges.add(new PageRangeDiff(0, 512 - 1, false)); expectedPageRanges.add(new PageRangeDiff(6 * 512, 7 * 512 - 1, true)); assertEquals(expectedPageRanges.size(), actualPageRanges.size()); for (int i = 0; i < expectedPageRanges.size(); i++) { assertEquals(expectedPageRanges.get(i).getStartOffset(), actualPageRanges.get(i).getStartOffset()); assertEquals(expectedPageRanges.get(i).getEndOffset(), actualPageRanges.get(i).getEndOffset()); assertEquals(expectedPageRanges.get(i).isCleared(), actualPageRanges.get(i).isCleared()); } }
retrievedBuff = outStream.toByteArray(); assertEquals(length, retrievedBuff.length); assertEquals(blobSnapshot.getSnapshotID(), blobSnapshotUsingRootUri.getSnapshotID());
CloudPageBlob pageSnapshotDir1 = dir1.getPageBlobReference("PageBlob", pageSnapshot.getSnapshotID()); assertEquals(pageSnapshot.getName(), pageSnapshotDir1.getName()); assertEquals(dir1.getContainer().getName(), pageSnapshotDir1.getContainer().getName());