private static IStorageBlobContainer CreateContainer(IStorageAccount account, string containerName) { IStorageBlobClient client = account.CreateBlobClient(); IStorageBlobContainer container = client.GetContainerReference(containerName); container.CreateIfNotExists(); return(container); }
private string CreateAblobAndUploadToContainer(IStorageBlobContainer container, string blobContent = "test") { string blobName = Path.GetRandomFileName().Replace(".", ""); IStorageBlockBlob blob = container.GetBlockBlobReference(blobName); container.CreateIfNotExists(); blob.UploadText(blobContent); return(blobName); }
public void TestBlobListener() { const string containerName = "container"; IStorageAccount account = CreateFakeStorageAccount(); IStorageBlobContainer container = account.CreateBlobClient().GetContainerReference(containerName); IBlobListenerStrategy product = new ScanContainersStrategy(); LambdaBlobTriggerExecutor executor = new LambdaBlobTriggerExecutor(); product.Register(container, executor); product.Start(); executor.ExecuteLambda = (_) => { throw new InvalidOperationException("shouldn't be any blobs in the container"); }; product.Execute(); const string expectedBlobName = "foo1.csv"; IStorageBlockBlob blob = container.GetBlockBlobReference(expectedBlobName); container.CreateIfNotExists(); blob.UploadText("ignore"); int count = 0; executor.ExecuteLambda = (b) => { count++; Assert.Equal(expectedBlobName, b.Name); return(true); }; product.Execute(); Assert.Equal(1, count); // Now run again; shouldn't show up. executor.ExecuteLambda = (_) => { throw new InvalidOperationException("shouldn't retrigger the same blob"); }; product.Execute(); }