Exemplo n.º 1
0
        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);
            });
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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);
        }