public async Task RunTestAsync <TTransportInit, TMessage>(string queueName, string connectionString, bool addInterceptors, long messageCount, ILogProvider logProvider, Func <QueueProducerConfiguration, AdditionalMessageData> generateData, Action <string, string, QueueProducerConfiguration, long, ICreationScope> verify, bool sendViaBatch, ICreationScope scope, bool enableChaos) where TTransportInit : ITransportInit, new() where TMessage : class { using (var metrics = new Metrics.Metrics(queueName)) { var addInterceptorProducer = InterceptorAdding.No; if (addInterceptors) { addInterceptorProducer = InterceptorAdding.Yes; } using ( var creator = SharedSetup.CreateCreator <TTransportInit>(addInterceptorProducer, logProvider, metrics, false, enableChaos) ) { //create the queue using (var queue = creator .CreateProducer <TMessage>(queueName, connectionString)) { await RunProducerAsync(queue, queueName, messageCount, generateData, verify, sendViaBatch, scope).ConfigureAwait(false); } VerifyMetrics.VerifyProducedAsyncCount(queueName, metrics.GetCurrentMetrics(), messageCount); } } }
public async Task RunTestAsync <TTransportInit>(QueueConnection queueConnection, bool addInterceptors, long messageCount, ILogger logProvider, Func <QueueProducerConfiguration, AdditionalMessageData> generateData, Action <QueueConnection, QueueProducerConfiguration, long, ICreationScope> verify, bool sendViaBatch, int runTime, Guid id, LinqMethodTypes linqMethodTypes, ICreationScope scope, bool enableChaos) where TTransportInit : ITransportInit, new() { using (var trace = SharedSetup.CreateTrace("producer")) { using (var metrics = new Metrics.Metrics(queueConnection.Queue)) { var addInterceptorProducer = InterceptorAdding.No; if (addInterceptors) { addInterceptorProducer = InterceptorAdding.Yes; } using ( var creator = SharedSetup.CreateCreator <TTransportInit>(addInterceptorProducer, logProvider, metrics, false, enableChaos, scope, trace.Source) ) { //create the queue using (var queue = creator .CreateMethodProducer(queueConnection)) { await RunProducerAsync(queue, queueConnection, messageCount, generateData, verify, sendViaBatch, runTime, id, linqMethodTypes, scope).ConfigureAwait(false); } VerifyMetrics.VerifyProducedAsyncCount(queueConnection.Queue, metrics.GetCurrentMetrics(), messageCount); } } } }