예제 #1
0
        public async Task TryRetrieveSkuMetadataReturnsNoBlobContentWhenNotFound()
        {
            var config = new SkuMetadataBlobStorageConfiguration
            {
                StorageConnectionString = "hey, connect to storage!",
                Container = "the place where stuff lives"
            };

            var mockStorage = new Mock <SkuMetadataBlobStorage>(config)
            {
                CallBase = true
            };
            var blobName = "Henry";

            mockStorage
            .Protected()
            .Setup <Task <(bool, string)> >("RetrieveBlobAsTextAsync", ItExpr.Is <string>(connection => connection == config.StorageConnectionString), ItExpr.Is <string>(container => container == config.Container), ItExpr.Is <string>(sku => sku == blobName))
            .Returns(Task.FromResult <(bool, string)>((false, null)))
            .Verifiable("The blob text should have been requested");

            var result = await mockStorage.Object.TryRetrieveSkuMetadataAsync(blobName);

            result.Found.Should().BeFalse("because no content was fount");
            result.Metadata.Should().BeNull("because no content swas returned");

            mockStorage.VerifyAll();
        }
예제 #2
0
 /// <summary>
 ///   Initializes a new instance of the <see cref="SkuMetadataBlobStorage"/> class.
 /// </summary>
 ///
 /// <param name="configuration">The configuration to use for storage operations.</param>
 ///
 public SkuMetadataBlobStorage(SkuMetadataBlobStorageConfiguration configuration)
 {
     this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));
 }