public PowerofficeQueueTester(ITestOutputHelper output) : base(output) { // It's safe to use .Result in the tests. Dispatcher = PowerofficeMessageDispatcher.Create( OutputLogger, TestWebcrmClientFactory, TestTypedEnvironment.DatabaseCredentials, TestPowerofficeClientFactory).Result; Queue = PowerofficeQueue.Create(OutputLogger, TestTypedEnvironment.AzureWebJobsStorage).Result; }
public async Task TestHandleMessage(string queueItem) { string formattedQueueItem = queueItem.Replace("{TIMESTAMP}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); var upsertPersonMessage = JsonConvert.DeserializeObject <PowerofficeQueueMessage>(formattedQueueItem); var dispatcher = await PowerofficeMessageDispatcher.Create( OutputLogger, TestWebcrmClientFactory, TestTypedEnvironment.DatabaseCredentials, TestPowerofficeClientFactory); await dispatcher.HandleDequeuedMessage(upsertPersonMessage); }
public static async Task Run( [QueueTrigger(Constants.PowerofficeQueueName)] string queueItem, ILogger logger) { logger.LogTrace($"Dequeuing message from the '{Constants.PowerofficeQueueName}' queue."); try { var webcrmClientFactory = new WebcrmClientFactory(logger, TypedEnvironment.WebcrmApiBaseUrl); var powerofficeClientFactory = new PowerofficeClientFactory(TypedEnvironment.PowerofficeApiSettings); var dispatcher = await PowerofficeMessageDispatcher.Create(logger, webcrmClientFactory, TypedEnvironment.DatabaseCredentials, powerofficeClientFactory); var message = JsonConvert.DeserializeObject <PowerofficeQueueMessage>(queueItem); await dispatcher.HandleDequeuedMessage(message); } catch (SwaggerException ex) { SwaggerExceptionLogger.Log(ex); } }