// This function will get triggered/executed when a new message is written // on an Azure Queue called queue. public static void ProcessQueueMessage([QueueTrigger(CloudStorageAssets.AnalyseQueueName)] string message, TextWriter log) { log.WriteLine($"received message on{CloudStorageAssets.AnalyseQueueName} queue "); log.WriteLine(message); var repo = new MailJobRepository.MailJobRepository(); var handler = new EmailAnalyseHandler(repo, new Config(), new JobLogger(log)); handler.AnalyseAsync().Wait(); //var testclass = new DDD2017DemoAnalyser.Class1(); //testclass.Test(); }
public void ShouldBeAbleToWriteASimpleFrigginRecord() { var repo = new MailJobRepository.MailJobRepository(); var msgs = new List <EmailInformation>(); //repo.ClearAllMailMessagesAsync().Wait(); msgs.Add(new EmailInformation { Body = "test", From = "*****@*****.**", TimeOfMail = DateTime.Now, partitionKey = JobPartitionKeys.NewMail }); repo.StoreMailMessagesAsync(msgs).Wait(); var result = repo.GetMailCollectedToBeAnalysed().Result.FirstOrDefault(); Assert.IsNotNull(result); }
public static void ProcessQueueMessage([QueueTrigger(CloudStorageAssets.EmailQueueName)] string message, TextWriter logger) { var appConfig = new Config(); var jobLogger = new JobLogger(logger); var repo = new MailJobRepository.MailJobRepository(); jobLogger.WriteLine($"Message received in the [{CloudStorageAssets.EmailQueueName}], Content: [{message}]"); var jobCommand = message.ToQueueCommand(); if (jobCommand == JobCommand.CollectEmail) { jobLogger.WriteLine($"Collecting email"); var collector = new MailCollectionProcessor(appConfig, repo, jobLogger); collector.CollectMail(); } else { jobLogger.WriteLine($"Doing nothing as queue command is not one requiring collection action"); } }