public void TryConvert_ConvertString_Failure(string value) { Mock <IStorageBlobClient> mockStorageClient = new Mock <IStorageBlobClient>(MockBehavior.Strict); IStorageBlobContainer container = null; BlobPath path = null; Assert.Throws <FormatException>(() => { BlobContainerBinding.TryConvert(value, mockStorageClient.Object, out container, out path); }); }
public void ToParameterDescriptor_ReturnsExpectedDescriptor() { Mock <IArgumentBinding <IStorageBlobContainer> > mockArgumentBinding = new Mock <IArgumentBinding <IStorageBlobContainer> >(MockBehavior.Strict); Mock <IStorageBlobClient> mockStorageClient = new Mock <IStorageBlobClient>(MockBehavior.Strict); Mock <IBindableBlobPath> mockBlobPath = new Mock <IBindableBlobPath>(MockBehavior.Strict); BlobContainerBinding binding = new BlobContainerBinding("testparam", mockArgumentBinding.Object, mockStorageClient.Object, mockBlobPath.Object); ParameterDescriptor descriptor = binding.ToParameterDescriptor(); Assert.Equal(typeof(ParameterDescriptor), descriptor.GetType()); Assert.Equal("testparam", descriptor.Name); Assert.Equal("Enter the blob container name or blob path prefix", descriptor.DisplayHints.Prompt); }
public void TryConvert_ConvertString_Success(string value, string expectedContainerValue, string expectedBlobValue) { Mock <IStorageBlobClient> mockStorageClient = new Mock <IStorageBlobClient>(MockBehavior.Strict); Mock <IStorageBlobContainer> mockStorageContainer = new Mock <IStorageBlobContainer>(MockBehavior.Strict); mockStorageClient.Setup(p => p.GetContainerReference(expectedContainerValue)).Returns(mockStorageContainer.Object); IStorageBlobContainer container = null; BlobPath path = null; bool result = BlobContainerBinding.TryConvert(value, mockStorageClient.Object, out container, out path); Assert.True(result); Assert.Equal(expectedContainerValue, path.ContainerName); Assert.Equal(expectedBlobValue, path.BlobName); mockStorageClient.VerifyAll(); }
public void ValidateContainerBinding_PerformsExpectedValidations() { BlobAttribute attribute = new BlobAttribute("test/blob", FileAccess.Write); Mock <IBindableBlobPath> mockPath = new Mock <IBindableBlobPath>(MockBehavior.Strict); var ex = Assert.Throws <InvalidOperationException>(() => { BlobContainerBinding.ValidateContainerBinding(attribute, typeof(IEnumerable <CloudBlockBlob>), mockPath.Object); }); Assert.Equal("Only the 'Read' FileAccess mode is supported for blob container bindings.", ex.Message); attribute = new BlobAttribute("test/blob", FileAccess.Read); mockPath.Setup(p => p.BlobNamePattern).Returns("prefix"); ex = Assert.Throws <InvalidOperationException>(() => { BlobContainerBinding.ValidateContainerBinding(attribute, typeof(CloudBlobContainer), mockPath.Object); }); Assert.Equal("Only a container name can be specified when binding to CloudBlobContainer.", ex.Message); }