async Task RunTestCase(bool compressed, LargeMessageMode handlingMode, QueueKind kind) { IContainer container; IQueueReader reader; int batchCount; var queueSettings = new QueueLoggerSettings { CompressMessage = compressed, OverflowHanding = handlingMode }; IActivityLogger logger; if (kind == QueueKind.ServiceBus) { container = RegisterServiceBusContainer(out logger, queueSettings); reader = new ServiceBusQueueReader(container.Resolve <QueueClient>(), queueSettings); batchCount = 1000; } else { container = RegisterAzureQueueContainer(out logger, queueSettings); reader = new AzureQueueReader(container.Resolve <CloudQueue>(), queueSettings); batchCount = 30; } await LogItems(logger, container, queueSettings, reader, batchCount); }
public void Setup() { _name = Guid.NewGuid().ToString().ToLowerInvariant(); CloudStorageAccount cloudStorageAccount = ConnectionConfig.StorageAccount; _cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient(); var queue = cloudStorageAccount.CreateCloudQueueClient().GetQueueReference(_name); var container = _cloudBlobClient.GetBlobDirectoryReference(_name); _blobContainer = _cloudBlobClient.GetContainerReference(_name); var poisonQueue = new Lazy <CloudQueue>(() => { var queueReference = cloudStorageAccount.CreateCloudQueueClient().GetQueueReference(_name + "-poison"); queueReference.CreateIfNotExist(); return(queueReference); }, LazyThreadSafetyMode.ExecutionAndPublication); _statelessReader = new StatelessAzureQueueReader("azure-read-write-message", queue, container, poisonQueue, TimeSpan.FromMinutes(1)); _queueReader = new AzureQueueReader(new[] { _statelessReader }, x => TimeSpan.FromMinutes(x)); _queueWriter = new StatelessAzureQueueWriter(_blobContainer, queue, "azure-read-write-message"); _queueWriter.Init(); }