Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
78abf66
Prepare Storage for release
kasobol-msft May 6, 2020
e7907a4
pr feedback.
kasobol-msft May 6, 2020
58814fc
PR feedback.
kasobol-msft May 6, 2020
1286434
pr feedback.
kasobol-msft May 6, 2020
324afd0
merge upstream/master
kasobol-msft May 15, 2020
b216c89
Merge remote-tracking branch 'upstream/master'
kasobol-msft May 19, 2020
1c9e87d
Merge remote-tracking branch 'upstream/master'
kasobol-msft Jun 2, 2020
712ecda
Merge remote-tracking branch 'upstream/master'
kasobol-msft Jun 4, 2020
ad612b5
merge upstream/master
kasobol-msft Jun 10, 2020
5849bef
master merge
kasobol-msft Jul 7, 2020
1bcba8b
Merge remote-tracking branch 'upstream/master'
kasobol-msft Jul 29, 2020
8a2e048
Merge remote-tracking branch 'upstream/master'
kasobol-msft Aug 3, 2020
1bf033e
Merge remote-tracking branch 'upstream/master'
kasobol-msft Aug 8, 2020
b35274e
Merge remote-tracking branch 'upstream/master'
kasobol-msft Aug 10, 2020
feb0649
Merge remote-tracking branch 'upstream/master'
kasobol-msft Aug 11, 2020
5974722
Merge remote-tracking branch 'upstream/master'
kasobol-msft Aug 11, 2020
9252944
Merge remote-tracking branch 'upstream/master'
kasobol-msft Aug 14, 2020
f90886e
Merge remote-tracking branch 'upstream/master'
kasobol-msft Aug 20, 2020
3b9b259
Merge remote-tracking branch 'upstream/master'
kasobol-msft Aug 21, 2020
f97e9bd
Merge remote-tracking branch 'upstream/master'
kasobol-msft Sep 1, 2020
ae9d658
make open write work with using.
kasobol-msft Sep 1, 2020
4a24b96
move recordings to right place
kasobol-msft Sep 1, 2020
e970ed7
pr feedback.
kasobol-msft Sep 1, 2020
ed559ba
Merge remote-tracking branch 'upstream/master'
kasobol-msft Sep 1, 2020
f477f9a
Merge remote-tracking branch 'upstream/master'
kasobol-msft Sep 3, 2020
bb976e4
fail fast if blob doesn't exist at OpenRead.
kasobol-msft Sep 3, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions sdk/storage/Azure.Storage.Blobs/src/BlobBaseClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1583,6 +1583,9 @@ internal async Task<Stream> OpenReadInternal(
{
scope.Start();

// This also makes sure that we fail fast if file doesn't exist.
var blobProperties = await GetPropertiesInternal(conditions: conditions, async, cancellationToken).ConfigureAwait(false);

return new LazyLoadingReadOnlyStream<BlobRequestConditions, BlobProperties>(
async (HttpRange range,
BlobRequestConditions conditions,
Expand All @@ -1604,6 +1607,7 @@ internal async Task<Stream> OpenReadInternal(
(ETag? eTag) => new BlobRequestConditions { IfMatch = eTag },
async (bool async, CancellationToken cancellationToken)
=> await GetPropertiesInternal(conditions: default, async, cancellationToken).ConfigureAwait(false),
blobProperties.Value.ContentLength,
position,
bufferSize,
conditions);
Expand Down
26 changes: 17 additions & 9 deletions sdk/storage/Azure.Storage.Blobs/tests/BlobBaseClientTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -924,6 +924,7 @@ public async Task DownloadEmptyBlobTest()
}

[Test]
[LiveOnly] // https://github.com/Azure/azure-sdk-for-net/issues/13510
public async Task OpenReadAsync()
{
int size = Constants.KB;
Expand All @@ -946,6 +947,7 @@ public async Task OpenReadAsync()
}

[Test]
[LiveOnly] // https://github.com/Azure/azure-sdk-for-net/issues/13510
public async Task OpenReadAsync_BufferSize()
{
int size = Constants.KB;
Expand Down Expand Up @@ -1020,24 +1022,23 @@ public async Task OpenReadAsync_Error()
// Arrange
await using DisposingContainer test = await GetTestContainerAsync();
BlobClient blobClient = test.Container.GetBlobClient(GetNewBlobName());
Stream outputStream = await blobClient.OpenReadAsync();
byte[] bytes = new byte[Constants.KB];

// Act
await TestHelper.AssertExpectedExceptionAsync<RequestFailedException>(
outputStream.ReadAsync(bytes, 0, Constants.KB),
blobClient.OpenReadAsync(),
e => Assert.AreEqual("BlobNotFound", e.ErrorCode));
}

[Test]
[LiveOnly] // https://github.com/Azure/azure-sdk-for-net/issues/13510
public async Task OpenReadAsync_AccessConditions()
{
// Arrange
int size = Constants.KB;
var garbageLeaseId = GetGarbageLeaseId();
await using DisposingContainer test = await GetTestContainerAsync();
foreach (AccessConditionParameters parameters in AccessConditions_Data)
{
await using DisposingContainer test = await GetTestContainerAsync();
var data = GetRandomBuffer(size);
BlockBlobClient blob = InstrumentClient(test.Container.GetBlockBlobClient(GetNewBlobName()));
using Stream stream = new MemoryStream(data);
Expand Down Expand Up @@ -1096,18 +1097,17 @@ public async Task OpenReadAsync_AccessConditionsFail()
};

// Act
Stream outputStream = await blob.OpenReadAsync(options).ConfigureAwait(false);
byte[] outputBytes = new byte[size];

await TestHelper.CatchAsync<Exception>(
async () =>
{
var _ = await outputStream.ReadAsync(outputBytes, 0, size);
var _ = await blob.OpenReadAsync(options).ConfigureAwait(false);
});
}
}

[Test]
[LiveOnly] // https://github.com/Azure/azure-sdk-for-net/issues/13510
public async Task OpenReadAsync_StrangeOffsetsTest()
{
// Arrange
Expand Down Expand Up @@ -1150,6 +1150,7 @@ public async Task OpenReadAsync_StrangeOffsetsTest()
}

[Test]
[LiveOnly] // https://github.com/Azure/azure-sdk-for-net/issues/13510
public async Task OpenReadAsync_Modified()
{
int size = Constants.KB;
Expand Down Expand Up @@ -1190,6 +1191,7 @@ await TestHelper.AssertExpectedExceptionAsync<RequestFailedException>(
}

[Test]
[LiveOnly] // https://github.com/Azure/azure-sdk-for-net/issues/13510
public async Task OpenReadAsync_ModifiedAllowBlobModifications()
{
int size = Constants.KB;
Expand Down Expand Up @@ -1273,6 +1275,7 @@ await blobClient.UploadAsync(stream,
}

[Test]
[LiveOnly] // https://github.com/Azure/azure-sdk-for-net/issues/13510
public async Task OpenReadAsync_CopyReadStreamToAnotherStream()
{
// Arrange
Expand All @@ -1295,9 +1298,14 @@ public async Task OpenReadAsync_CopyReadStreamToAnotherStream()
[Test]
public async Task OpenReadAsync_InvalidParameterTests()
{
int size = Constants.KB;
await using DisposingContainer test = await GetTestContainerAsync();

// Arrange
BlobClient blobClient = new BlobClient(new Uri("https://www.doesntmatter.com"));
Stream stream = await blobClient.OpenReadAsync();
var data = GetRandomBuffer(size);
BlockBlobClient blob = InstrumentClient(test.Container.GetBlockBlobClient(GetNewBlobName()));
await blob.UploadAsync(new MemoryStream(data));
Stream stream = await blob.OpenReadAsync();

// Act
await TestHelper.AssertExpectedExceptionAsync<ArgumentNullException>(
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading