Example #1
0
        public async Task BlobTrigger_Binding_Metadata()
        {
            var app       = new BindToCloudBlob2Program();
            var activator = new FakeActivator(app);
            var account   = CreateFakeStorageAccount();
            var provider  = new FakeStorageAccountProvider(account);
            var host      = new HostBuilder()
                            .ConfigureDefaultTestHost <BindToCloudBlob2Program>(b =>
            {
                b.AddAzureStorage();
            })
                            .ConfigureServices(services =>
            {
                services.AddSingleton <IJobActivator>(activator);
                services.AddSingleton <StorageAccountProvider>(provider);
            })
                            .Build();

            // Set the binding data, and verify it's accessible in the function.
            var container = CreateContainer(account, ContainerName);
            var blob      = container.GetBlockBlobReference(BlobName);

            blob.Metadata["m1"] = "v1";

            await host.GetJobHost().CallAsync(typeof(BindToCloudBlob2Program).GetMethod(nameof(BindToCloudBlob2Program.Run)), new { blob });

            Assert.True(app.Success);
        }
        public async Task BlobTrigger_Binding_Metadata()
        {
            var app       = new BindToCloudBlob2Program();
            var activator = new FakeActivator(app);
            var host      = new HostBuilder()
                            .ConfigureDefaultTestHost <BindToCloudBlob2Program>(b =>
            {
                b.AddAzureStorageBlobs()
                .UseStorageServices(blobServiceClient, queueServiceClient);
            })
                            .ConfigureServices(services =>
            {
                services.AddSingleton <IJobActivator>(activator);
            })
                            .Build();

            // Set the binding data, and verify it's accessible in the function.
            var container = CreateContainer(blobServiceClient, ContainerName);
            var blob      = container.GetBlockBlobClient(BlobName);
            await blob.UploadTextAsync(string.Empty);

            await blob.SetMetadataAsync(new Dictionary <string, string> {
                { "m1", "v1" }
            });

            await host.GetJobHost().CallAsync(typeof(BindToCloudBlob2Program).GetMethod(nameof(BindToCloudBlob2Program.Run)), new { blob });

            Assert.True(app.Success);
        }
Example #3
0
        public void BlobTrigger_Binding_Metadata()
        {
            var             app       = new BindToCloudBlob2Program();
            var             activator = new FakeActivator(app);
            IStorageAccount account   = CreateFakeStorageAccount();
            var             host      = TestHelpers.NewJobHost <BindToCloudBlob2Program>(account, activator);

            // Set the binding data, and verify it's accessible in the function.
            IStorageBlobContainer container = CreateContainer(account, ContainerName);
            IStorageBlockBlob     blob      = container.GetBlockBlobReference(BlobName);

            blob.Metadata["m1"] = "v1";

            host.Call("Run", new { blob = blob });

            Assert.True(app.Success);
        }