public void GetBlockListScenarioTest(string containerName, string blobName, BlockListingFilter typesOfBlocks, string leaseId, HttpStatusCode?expectedError, params string[] expectedBlocks) { HttpWebRequest request = BlobTests.GetBlockListRequest(BlobContext, containerName, blobName, typesOfBlocks, AccessCondition.GenerateLeaseCondition(leaseId)); Assert.IsTrue(request != null, "Failed to create HttpWebRequest"); if (BlobContext.Credentials != null) { BlobTests.SignRequest(request, BlobContext); } HttpWebResponse response = BlobTestUtils.GetResponse(request, BlobContext); try { BlobTests.GetBlockListResponse(response, BlobContext, expectedError); GetBlockListResponse getBlockListResponse = new GetBlockListResponse(response.GetResponseStream()); int i = 0; foreach (ListBlockItem item in getBlockListResponse.Blocks) { if (expectedBlocks == null) { Assert.Fail("Should not have blocks."); } Assert.IsTrue(i < expectedBlocks.Length, "Unexpected block: " + item.Name); Assert.AreEqual <string>(expectedBlocks[i++], item.Name, "Incorrect block."); } if (expectedBlocks != null && i < expectedBlocks.Length) { Assert.Fail("Missing block: " + expectedBlocks[i] + "(and " + (expectedBlocks.Length - i - 1) + " more)."); } } finally { response.Close(); } }
public async Task GetBlockListScenarioTest(string containerName, string blobName, BlockListingFilter typesOfBlocks, string leaseId, HttpStatusCode?expectedError, params string[] expectedBlocks) { HttpRequestMessage request = BlobTests.GetBlockListRequest(BlobContext, containerName, blobName, typesOfBlocks, AccessCondition.GenerateLeaseCondition(leaseId)); Assert.IsTrue(request != null, "Failed to create HttpRequestMessage"); using (HttpResponseMessage response = await BlobTestUtils.GetResponse(request, BlobContext)) { BlobTests.GetBlockListResponse(response, BlobContext, expectedError); var getBlockListResponse = await GetBlockListResponse.ParseAsync(HttpResponseParsers.GetResponseStream(response), CancellationToken.None); int i = 0; foreach (ListBlockItem item in getBlockListResponse) { if (expectedBlocks == null) { Assert.Fail("Should not have blocks."); } Assert.IsTrue(i < expectedBlocks.Length, "Unexpected block: " + item.Name); Assert.AreEqual <string>(expectedBlocks[i++], item.Name, "Incorrect block."); } if (expectedBlocks != null && i < expectedBlocks.Length) { Assert.Fail("Missing block: " + expectedBlocks[i] + "(and " + (expectedBlocks.Length - i - 1) + " more)."); } } }