Skip to content

Commit f504d5e

Browse files
authored
[Storage] Use azurite fixture to test large blocks. (Azure#19128)
* use azurite fixture to test large blocks. * fix cert. * fix cert part 2. * that could use a namespace.
1 parent b8a1fa5 commit f504d5e

File tree

30 files changed

+167
-104
lines changed

30 files changed

+167
-104
lines changed

sdk/storage/Azure.Storage.Blobs.Batch/samples/Azure.Storage.Blobs.Batch.Samples.Tests.csproj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@
1010
<ProjectReference Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Blobs.Batch\src\Azure.Storage.Blobs.Batch.csproj" />
1111
</ItemGroup>
1212
<ItemGroup>
13-
<Compile Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
14-
<None Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\*.xml">
13+
<Compile Include="$(AzureStorageSharedTestSources)\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
14+
<Compile Remove="$(AzureStorageSharedTestSources)\AzuriteFixture.cs" />
15+
<Compile Remove="$(AzureStorageSharedTestSources)\AzuriteNUnitFixture.cs" />
16+
<None Include="$(AzureStorageSharedTestSources)\*.xml">
1517
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1618
</None>
1719
</ItemGroup>

sdk/storage/Azure.Storage.Blobs.Batch/tests/Azure.Storage.Blobs.Batch.Tests.csproj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@
1313
<ProjectReference Include="$(MSBuildThisFileDirectory)..\src\Azure.Storage.Blobs.Batch.csproj" />
1414
</ItemGroup>
1515
<ItemGroup>
16-
<Compile Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
17-
<None Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\*.xml">
16+
<Compile Include="$(AzureStorageSharedTestSources)\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
17+
<Compile Remove="$(AzureStorageSharedTestSources)\AzuriteFixture.cs" />
18+
<Compile Remove="$(AzureStorageSharedTestSources)\AzuriteNUnitFixture.cs" />
19+
<None Include="$(AzureStorageSharedTestSources)\*.xml">
1820
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1921
</None>
2022
</ItemGroup>

sdk/storage/Azure.Storage.Blobs.ChangeFeed/samples/Azure.Storage.Blobs.ChangeFeed.Samples.Tests.csproj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@
99
<ProjectReference Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\src\Azure.Storage.Common.csproj" />
1010
</ItemGroup>
1111
<ItemGroup>
12-
<Compile Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
13-
<None Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\*.xml">
12+
<Compile Include="$(AzureStorageSharedTestSources)\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
13+
<Compile Remove="$(AzureStorageSharedTestSources)\AzuriteFixture.cs" />
14+
<Compile Remove="$(AzureStorageSharedTestSources)\AzuriteNUnitFixture.cs" />
15+
<None Include="$(AzureStorageSharedTestSources)\*.xml">
1416
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1517
</None>
1618
</ItemGroup>

sdk/storage/Azure.Storage.Blobs.ChangeFeed/tests/Azure.Storage.Blobs.ChangeFeed.Tests.csproj

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<TargetFrameworks>$(RequiredTargetFrameworks)</TargetFrameworks>
44
</PropertyGroup>
@@ -11,8 +11,10 @@
1111
</ItemGroup>
1212
<ItemGroup>
1313
<Folder Include="SessionRecords\" />
14-
<Compile Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
15-
<None Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\*.xml">
14+
<Compile Include="$(AzureStorageSharedTestSources)\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
15+
<Compile Remove="$(AzureStorageSharedTestSources)\AzuriteFixture.cs" />
16+
<Compile Remove="$(AzureStorageSharedTestSources)\AzuriteNUnitFixture.cs" />
17+
<None Include="$(AzureStorageSharedTestSources)\*.xml">
1618
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1719
</None>
1820
</ItemGroup>

sdk/storage/Azure.Storage.Blobs/samples/Azure.Storage.Blobs.Samples.Tests.csproj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@
1010
<ProjectReference Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Blobs.Batch\src\Azure.Storage.Blobs.Batch.csproj" />
1111
</ItemGroup>
1212
<ItemGroup>
13-
<Compile Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
14-
<None Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\*.xml">
13+
<Compile Include="$(AzureStorageSharedTestSources)\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
14+
<Compile Remove="$(AzureStorageSharedTestSources)\AzuriteFixture.cs" />
15+
<Compile Remove="$(AzureStorageSharedTestSources)\AzuriteNUnitFixture.cs" />
16+
<None Include="$(AzureStorageSharedTestSources)\*.xml">
1517
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1618
</None>
1719
</ItemGroup>

sdk/storage/Azure.Storage.Blobs/tests/Azure.Storage.Blobs.Tests.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@
1717
<ProjectReference Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Blobs.Batch\src\Azure.Storage.Blobs.Batch.csproj" />
1818
</ItemGroup>
1919
<ItemGroup>
20-
<Compile Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
21-
<None Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\*.xml">
20+
<Compile Include="$(AzureStorageSharedTestSources)\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
21+
<None Include="$(AzureStorageSharedTestSources)\*.xml">
2222
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
2323
</None>
24+
<None Include="$(AzureStorageSharedTestSources)\azurite_cert.pem" CopyToOutputDirectory="PreserveNewest" />
2425
</ItemGroup>
2526
</Project>

sdk/storage/Azure.Storage.Blobs/tests/BlockBlobClientTests.cs

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1514,50 +1514,6 @@ public async Task GetBlockListAsync()
15141514
Assert.AreEqual(blockId1, response.Value.UncommittedBlocks.First().Name);
15151515
}
15161516

1517-
[Test]
1518-
[LiveOnly]
1519-
[ServiceVersion(Min = ServiceVersion.V2019_12_12)]
1520-
[Ignore("https://github.com/Azure/azure-sdk-for-net/issues/12312")]
1521-
public async Task GetBlockListAsync_LongBlock()
1522-
{
1523-
const long bigBlockSize = int.MaxValue + 1024L;
1524-
await using DisposingContainer test = await GetTestContainerAsync();
1525-
1526-
// Arrange
1527-
BlockBlobClient blob = InstrumentClient(test.Container.GetBlockBlobClient(GetNewBlobName()));
1528-
var data = GetRandomBuffer(Size);
1529-
1530-
// Upload to blockBlobUri, so it exists
1531-
using (var stream = new MemoryStream(data))
1532-
{
1533-
await blob.UploadAsync(stream);
1534-
}
1535-
1536-
var blockId0 = ToBase64(GetNewBlockName());
1537-
using (var stream = new Storage.Tests.Shared.PredictableStream(length: bigBlockSize))
1538-
{
1539-
await blob.StageBlockAsync(blockId0, stream);
1540-
}
1541-
await blob.CommitBlockListAsync(new string[] { blockId0 });
1542-
1543-
var blockId1 = ToBase64(GetNewBlobName());
1544-
using (var stream = new MemoryStream(data))
1545-
{
1546-
await blob.StageBlockAsync(blockId1, stream);
1547-
}
1548-
1549-
// Act
1550-
Response<BlockList> response = await blob.GetBlockListAsync();
1551-
1552-
// Assert
1553-
Assert.AreEqual(1, response.Value.CommittedBlocks.Count());
1554-
Assert.AreEqual(blockId0, response.Value.CommittedBlocks.First().Name);
1555-
Assert.AreEqual(1, response.Value.UncommittedBlocks.Count());
1556-
Assert.AreEqual(blockId1, response.Value.UncommittedBlocks.First().Name);
1557-
Assert.AreEqual(bigBlockSize, response.Value.CommittedBlocks.First().SizeLong);
1558-
Assert.Throws<OverflowException>(() => _ = response.Value.CommittedBlocks.First().Size); // if no overflow then we didn't actually test handling of long lengths
1559-
}
1560-
15611517
[Test]
15621518
public async Task GetBlockListAsync_Type()
15631519
{
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
using System;
5+
using System.Linq;
6+
using System.Threading.Tasks;
7+
using Azure.Storage.Blobs.Models;
8+
using Azure.Storage.Blobs.Specialized;
9+
using NUnit.Framework;
10+
11+
namespace Azure.Storage.Blobs.Tests
12+
{
13+
public class LargeBlobTests
14+
{
15+
private BlobServiceClient blobServiceClient;
16+
17+
[SetUp]
18+
public void Setup()
19+
{
20+
var azuriteFixture = AzuriteNUnitFixture.Instance;
21+
var transport = azuriteFixture.GetTransport();
22+
var connectionString = azuriteFixture.GetAzureAccount().ConnectionString;
23+
blobServiceClient = new BlobServiceClient(connectionString, new BlobClientOptions() { Transport = transport });
24+
}
25+
26+
[Test]
27+
public async Task GetBlockListAsync_LongBlock()
28+
{
29+
// Arange
30+
var blobContainerClient = blobServiceClient.GetBlobContainerClient(Guid.NewGuid().ToString());
31+
await blobContainerClient.CreateIfNotExistsAsync();
32+
33+
var blobName = Guid.NewGuid().ToString();
34+
35+
var blobClient = blobContainerClient.GetBlockBlobClient(blobName);
36+
37+
const long bigBlockSize = int.MaxValue + 1024L;
38+
39+
var blockId0 = Convert.ToBase64String(Guid.NewGuid().ToByteArray());
40+
using (var stream = new Storage.Tests.Shared.PredictableStream(length: bigBlockSize))
41+
{
42+
await blobClient.StageBlockAsync(blockId0, stream);
43+
}
44+
await blobClient.CommitBlockListAsync(new string[] { blockId0 });
45+
46+
// Act
47+
Response<BlockList> response = await blobClient.GetBlockListAsync();
48+
49+
// Assert
50+
Assert.AreEqual(1, response.Value.CommittedBlocks.Count());
51+
Assert.AreEqual(blockId0, response.Value.CommittedBlocks.First().Name);
52+
Assert.AreEqual(bigBlockSize, response.Value.CommittedBlocks.First().SizeLong);
53+
Assert.Throws<OverflowException>(() => _ = response.Value.CommittedBlocks.First().Size); // if no overflow then we didn't actually test handling of long lengths
54+
}
55+
}
56+
}

sdk/storage/Azure.Storage.Common/samples/Azure.Storage.Common.Samples.Tests.csproj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
<ProjectReference Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\src\Azure.Storage.Common.csproj" />
1313
</ItemGroup>
1414
<ItemGroup>
15-
<Compile Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
16-
<None Include="$(MSBuildThisFileDirectory)..\..\Azure.Storage.Common\tests\Shared\*.xml">
15+
<Compile Include="$(AzureStorageSharedTestSources)\**\*.cs" Link="Shared\%(RecursiveDir)\%(Filename)%(Extension)" />
16+
<Compile Remove="$(AzureStorageSharedTestSources)\AzuriteFixture.cs" />
17+
<Compile Remove="$(AzureStorageSharedTestSources)\AzuriteNUnitFixture.cs" />
18+
<None Include="$(AzureStorageSharedTestSources)\*.xml">
1719
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1820
</None>
1921
</ItemGroup>

sdk/storage/Azure.Storage.Common/tests/Azure.Storage.Common.Tests.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
<ProjectReference Include="..\..\Azure.Storage.Files.Shares\src\Azure.Storage.Files.Shares.csproj" />
1616
<Compile Include="$(AzureCoreSharedSources)ArrayBufferWriter.cs" Link="Shared\Core\%(RecursiveDir)\%(Filename)%(Extension)" />
1717
<Compile Include="$(AzureCoreSharedSources)DiagnosticScope.cs" Link="Shared\Core\%(RecursiveDir)\%(Filename)%(Extension)" />
18+
<Compile Remove="Shared\AzuriteFixture.cs" />
19+
<Compile Remove="Shared\AzuriteNUnitFixture.cs" />
1820
</ItemGroup>
1921
<ItemGroup>
2022
<!-- To test shared resources that aren't included in Azure.Storage.Common itself. -->

0 commit comments

Comments
 (0)