@Test public void testBlobUploadFromStreamAccessConditionTest() throws URISyntaxException, StorageException, IOException { final String blockBlobName = BlobTestHelper.generateRandomBlobNameWithPrefix("testBlockBlob"); final CloudBlockBlob blockBlobRef = this.container.getBlockBlobReference(blockBlobName); AccessCondition accessCondition = AccessCondition.generateIfNotModifiedSinceCondition(new Date()); int length = 2 * 1024; ByteArrayInputStream srcStream = BlobTestHelper.getRandomDataStream(length); blockBlobRef.upload(srcStream, -1, accessCondition, null, null); ByteArrayOutputStream dstStream = new ByteArrayOutputStream(); blockBlobRef.download(dstStream); BlobTestHelper.assertStreamsAreEqual(srcStream, new ByteArrayInputStream(dstStream.toByteArray())); length = 5 * 1024 * 1024; srcStream = BlobTestHelper.getRandomDataStream(length); blockBlobRef.upload(srcStream, length); dstStream = new ByteArrayOutputStream(); blockBlobRef.download(dstStream); BlobTestHelper.assertStreamsAreEqual(srcStream, new ByteArrayInputStream(dstStream.toByteArray())); }
@Test public void testWithAccessCondition() throws URISyntaxException, StorageException, IOException { int blobLengthToUse = 8 * 512; byte[] buffer = BlobTestHelper.getRandomBuffer(blobLengthToUse); String blobName = BlobTestHelper.generateRandomBlobNameWithPrefix("testblob"); AccessCondition accessCondition = AccessCondition.generateIfNotModifiedSinceCondition(new Date()); CloudBlockBlob blockBlob = this.container.getBlockBlobReference(blobName); BlobOutputStream blobOutputStream = blockBlob.openOutputStream(accessCondition, null, null); ByteArrayInputStream inputStream = new ByteArrayInputStream(buffer); blobOutputStream.write(inputStream, 512); inputStream = new ByteArrayInputStream(buffer, 512, 3 * 512); blobOutputStream.write(inputStream, 3 * 512); blobOutputStream.close(); byte[] result = new byte[blobLengthToUse]; blockBlob.downloadToByteArray(result, 0); int i = 0; for (; i < 4 * 512; i++) { assertEquals(buffer[i], result[i]); } for (; i < 8 * 512; i++) { assertEquals(0, result[i]); } }
pastTime = cal.getTime(); try { blob.uploadMetadata(AccessCondition.generateIfNotModifiedSinceCondition(pastTime), null, null); fail("IfNotModifiedSince conditional on past time should throw"); pastTime = cal.getTime(); try { blob.uploadMetadata(AccessCondition.generateIfNotModifiedSinceCondition(pastTime), null, null); fail("IfNotModifiedSince conditional on past time should throw"); pastTime = cal.getTime(); try { blob.uploadMetadata(AccessCondition.generateIfNotModifiedSinceCondition(pastTime), null, null); fail("IfNotModifiedSince conditional on past time should throw"); blob.uploadMetadata(AccessCondition.generateIfNotModifiedSinceCondition(currentModifiedTime), null, null);