コード例 #1
0
        public async Task OpenWriteAsync_CreateEmptyBlob_WithHeaders()
        {
            const int bufferSize = Constants.KB;

            // Arrange
            await using IDisposingContainer <TContainerClient> disposingContainer = await GetDisposingContainerAsync();

            TResourceClient client = GetResourceClient(disposingContainer.Container);

            HttpHeaderParameters headers = new HttpHeaderParameters
            {
                ContentType     = "application/json",
                ContentLanguage = "en",
            };

            // Act
            using (Stream stream = await OpenWriteAsync(
                       client,
                       overwrite: true,
                       maxDataSize: Constants.KB,
                       bufferSize: bufferSize,
                       httpHeaders: headers))
            {
            }

            // Assert
            Response response = await GetPropertiesAsync(client);

            Assert.IsTrue(response.Headers.TryGetValue("Content-Type", out string downloadedContentType));
            Assert.AreEqual(headers.ContentType, downloadedContentType);
            Assert.IsTrue(response.Headers.TryGetValue("Content-Language", out string downloadedContentLanguage));
            Assert.AreEqual(headers.ContentLanguage, downloadedContentLanguage);

            await(AdditionalAssertions?.Invoke(client) ?? Task.CompletedTask);
        }
コード例 #2
0
 /// <summary>
 /// Calls the 1:1 download method for the given resource client.
 /// </summary>
 /// <param name="client">Client to call the download on.</param>
 protected abstract Task <Stream> OpenWriteAsync(
     TResourceClient client,
     bool overwrite,
     int?bufferSize = default,
     TRequestConditions conditions        = default,
     Dictionary <string, string> metadata = default,
     Dictionary <string, string> tags     = default,
     HttpHeaderParameters httpHeaders     = default,
     IProgress <long> progressHandler     = default);