public void BlobOpenWriteSeekReadTest() { byte[] buffer = GetRandomBuffer(2 * 1024); CloudBlobContainer container = GetRandomContainerReference(); try { container.Create(); CloudPageBlob blob = container.GetPageBlobReference("blob1"); MemoryStream memoryStream = new MemoryStream(buffer); Stream blobStream = blob.OpenWrite(2048); blobStream.Write(buffer, 0, 2048); Assert.AreEqual(blobStream.Position, 2048); blobStream.Seek(1024, 0); memoryStream.Seek(1024, 0); Assert.AreEqual(blobStream.Position, 1024); byte[] testBuffer = GetRandomBuffer(1024); memoryStream.Write(testBuffer, 0, 1024); blobStream.Write(testBuffer, 0, 1024); Assert.AreEqual(blobStream.Position, memoryStream.Position); blobStream.Close(); Stream dstStream = blob.OpenRead(); TestHelper.AssertStreamsAreEqual(memoryStream, dstStream); } finally { container.DeleteIfExists(); } }
public void BlobWriteWhenOpenRead() { byte[] buffer = GetRandomBuffer(2 * 1024); CloudBlobContainer container = GetRandomContainerReference(); try { container.Create(); CloudPageBlob blob = container.GetPageBlobReference("blob1"); using (MemoryStream srcStream = new MemoryStream(buffer)) { blob.UploadFromStream(srcStream); Stream blobStream = blob.OpenRead(); byte[] testBuffer = new byte[2048]; TestHelper.ExpectedException <NotSupportedException>(() => blobStream.Write(testBuffer, 0, 2048), "Try writing to a stream opened for read"); } } finally { container.DeleteIfExists(); } }
public void BlobOpenReadTest() { byte[] buffer = GetRandomBuffer(2 * 1024); CloudBlobContainer container = GetRandomContainerReference(); try { container.Create(); CloudPageBlob blob = container.GetPageBlobReference("blob1"); using (MemoryStream srcStream = new MemoryStream(buffer)) { blob.UploadFromStream(srcStream); Stream dstStream = blob.OpenRead(); TestHelper.AssertStreamsAreEqual(srcStream, dstStream); } } finally { container.DeleteIfExists(); } }
public void BlobSeekTest() { byte[] buffer = GetRandomBuffer(2 * 1024); CloudBlobContainer container = GetRandomContainerReference(); try { container.Create(); CloudPageBlob blob = container.GetPageBlobReference("blob1"); using (MemoryStream srcStream = new MemoryStream(buffer)) { blob.UploadFromStream(srcStream); Stream blobStream = blob.OpenRead(); blobStream.Seek(2048, 0); byte[] buff = new byte[100]; int numRead = blobStream.Read(buff, 0, 100); Assert.AreEqual(numRead, 0); } } finally { container.DeleteIfExists(); } }