public void LiveTest() { DatabaseSendTableFromMailrelay databaseSendTableFromMailrelay = CreateDatabaseSendTableFromMailrelay(); //databaseSendTableFromMailrelay.limitOnDateName = "createdon"; SendTableFromMailrelay sendTableFromMailrelay = new SendTableFromMailrelay(Connection, databaseSendTableFromMailrelay); sendTableFromMailrelay.ExecuteOption(new Administration.Option.Options.OptionReport(typeof(SendTableFromMailrelayTest))); }
private void AssertFields(string originalString, string expected, Dictionary <string, object> fields) { DatabaseSendTableFromMailrelay databaseSendTableFromMailrelay = CreateDatabaseSendTableFromMailrelay(); SendTableFromMailrelay sendTableFromMailrelay = new SendTableFromMailrelay(Connection, databaseSendTableFromMailrelay); sendTableFromMailrelay.ChangeMailrelayConnection(_mailrelayConnectionTester); string output = sendTableFromMailrelay.InsertFilledFields(originalString, fields, "yyyy-MM-dd"); Assert.AreEqual(expected, output); }
private DatabaseSendTableFromMailrelay CreateDatabaseSendTableFromMailrelay(mailTypeEnum mailType = mailTypeEnum.indsamlingskoordinator) { DatabaseSendTableFromMailrelay databaseSendTableFromMailrelay = new DatabaseSendTableFromMailrelay() { Name = "test", matchidname = GetMatchidname(mailType), subject = "subject", tablerow = GetTablerow(mailType), urlLoginName = "test", Schedule = CreateScheduleAlwaysOnDoOnce(), packageid = 1, mailboxfromid = 2, mailboxreplyid = 3, mailboxreportid = 4, orderbyDescending = "createdon", headerDateFormat = "dd.MMMM", tableDateFormat = "dd/MM/yyyy", requireDataOnDaysFromToday = new List <int>() { -1 }, sleepTimeOnFailiure = TimeSpan.FromSeconds(1), port = 465, sendType = DatabaseSendTableFromMailrelay.SendTypeEnum.Api, }; switch (mailType) { case mailTypeEnum.indsamlingskoordinator: databaseSendTableFromMailrelay.queryCreateTable = GetQueryCreateTable(); databaseSendTableFromMailrelay.queryFindContacts = GetQueryFindContacts(); databaseSendTableFromMailrelay.html = GetHtml(); break; case mailTypeEnum.bykoordinator: databaseSendTableFromMailrelay.queryCreateTable = GetQueryCreateTableBykoordinator(); databaseSendTableFromMailrelay.queryFindContacts = GetQueryFindContactsBykoordinator(); databaseSendTableFromMailrelay.html = GetHtmlBykoordinator(); break; default: break; } return(databaseSendTableFromMailrelay); }
public void MailCanBeLimitedOnId() { DatabaseSendTableFromMailrelay databaseSendTableFromMailrelay = CreateDatabaseSendTableFromMailrelay(); databaseSendTableFromMailrelay.sendType = DatabaseSendTableFromMailrelay.SendTypeEnum.Smtp; databaseSendTableFromMailrelay.contactid = Guid.Parse("b238f6be-5510-e611-80e9-001c42fd47a5"); databaseSendTableFromMailrelay.contactidName = "accountid"; databaseSendTableFromMailrelay.toEmail = "*****@*****.**"; databaseSendTableFromMailrelay.fromEmail = "*****@*****.**"; SendTableFromMailrelay sendTableFromMailrelay = new SendTableFromMailrelay(Connection, databaseSendTableFromMailrelay); sendTableFromMailrelay.ChangeMailrelayConnection(_mailrelayConnectionTester); SystemInterface.Email.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory; SystemInterface.Email.PickupDirectoryLocation = "c:\\test\\email"; sendTableFromMailrelay.ExecuteOption(new Administration.Option.Options.OptionReport(typeof(SendTableFromMailrelayTest))); }
public void MissingEmailOrFullnameWillNotBreakExecute() { DatabaseSendTableFromMailrelay databaseSendTableFromMailrelay = CreateDatabaseSendTableFromMailrelay(); databaseSendTableFromMailrelay.limitOnDateName = "createdon"; SendTableFromMailrelay sendTableFromMailrelay = new SendTableFromMailrelay(Connection, databaseSendTableFromMailrelay); sendTableFromMailrelay.ChangeMailrelayConnection(_mailrelayConnectionTester); sendTableFromMailrelay.SetDynamicsCrmConnectionIfEmpty(_dynamicsCrmConnectionTester); EnqueueCrmResponse(new List <DateTime>() { new DateTime(2000, 1, 1), new DateTime(2000, 1, 2), DateTime.Now.Date.AddHours(-3) }, false, false); _mailrelayConnectionTester.replies.Enqueue(new MailrelayBoolReply()); sendTableFromMailrelay.ExecuteOption(new Administration.Option.Options.OptionReport(typeof(SendTableFromMailrelayTest))); }
public void MailCanBeSendtToBykoordinator() { DatabaseSendTableFromMailrelay databaseSendTableFromMailrelay = CreateDatabaseSendTableFromMailrelay(mailTypeEnum.bykoordinator); databaseSendTableFromMailrelay.limitOnDateName = "createdon"; databaseSendTableFromMailrelay.sendType = DatabaseSendTableFromMailrelay.SendTypeEnum.Smtp; databaseSendTableFromMailrelay.fromEmail = "*****@*****.**"; SendTableFromMailrelay sendTableFromMailrelay = new SendTableFromMailrelay(Connection, databaseSendTableFromMailrelay); sendTableFromMailrelay.ChangeMailrelayConnection(_mailrelayConnectionTester); //sendTableFromMailrelay.SetDynamicsCrmConnectionIfEmpty(_dynamicsCrmConnectionTester); //EnqueueCrmResponse(new List<DateTime>() { new DateTime(2000, 1, 1), DateTime.Now, new DateTime(2000, 1, 2), new DateTime(2000, 1, 3), DateTime.Now.AddDays(-1) }); SystemInterface.Email.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory; SystemInterface.Email.PickupDirectoryLocation = "c:\\test\\email"; sendTableFromMailrelay.ExecuteOption(new Administration.Option.Options.OptionReport(typeof(SendTableFromMailrelayTest))); }
public void GenerateDatabase() { DatabaseSendTableFromMailrelay.Create ( contactid: Guid.NewGuid(), html: GetHtml(), name: "test", matchidname: "new_indsamler2016", queryCreateTable: GetQueryCreateTable(), queryFindContacts: GetQueryFindContacts(), subject: "subject", tablerow: GetTablerow(mailTypeEnum.indsamlingskoordinator), urlLoginName: "test", schedule: new DataLayer.MongoData.Option.Schedule() { Recurring = true, NextAllowedExecution = DateTime.Now, HoursOfDayToSkip = new List <int>() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23 }, TimeBetweenAllowedExecutions = TimeSpan.FromHours(18), }, packageid: 1, mailboxfromid: 4, mailboxreplyid: 4, mailboxreportid: 4, orderbyDescending: "createdon", headerDateFormat: "dd.MMMM", tableDateFormat: "dd/MM/yyyy", limitOnDateName: "createdon", requireDataOnDaysFromToday: new List <int>() { -1 }, sleepTimeOnFailiure: TimeSpan.FromMinutes(10), mongoConnection: Connection ); }
public void FailedSendWillNotRetry() { DatabaseSendTableFromMailrelay databaseSendTableFromMailrelay = CreateDatabaseSendTableFromMailrelay(); databaseSendTableFromMailrelay.limitOnDateName = "createdon"; SendTableFromMailrelay sendTableFromMailrelay = new SendTableFromMailrelay(Connection, databaseSendTableFromMailrelay); sendTableFromMailrelay.ChangeMailrelayConnection(_mailrelayConnectionTester); sendTableFromMailrelay.SetDynamicsCrmConnectionIfEmpty(_dynamicsCrmConnectionTester); EnqueueCrmResponse(new List <DateTime>() { new DateTime(2000, 1, 1), new DateTime(2000, 1, 2), DateTime.Now.Date.AddHours(-3) }); Administration.Option.Options.OptionReport report = new Administration.Option.Options.OptionReport(typeof(SendTableFromMailrelayTest)); sendTableFromMailrelay.ExecuteOption(report); bool succeded = report.Success; Assert.IsTrue(succeded); }
public void MailCanBeSendt() { DatabaseSendTableFromMailrelay databaseSendTableFromMailrelay = CreateDatabaseSendTableFromMailrelay(); databaseSendTableFromMailrelay.limitOnDateName = "createdon"; SendTableFromMailrelay sendTableFromMailrelay = new SendTableFromMailrelay(Connection, databaseSendTableFromMailrelay); sendTableFromMailrelay.ChangeMailrelayConnection(_mailrelayConnectionTester); sendTableFromMailrelay.SetDynamicsCrmConnectionIfEmpty(_dynamicsCrmConnectionTester); EnqueueCrmResponse(new List <DateTime>() { new DateTime(2000, 1, 1), DateTime.Now, new DateTime(2000, 1, 2), new DateTime(2000, 1, 3), DateTime.Now.AddDays(-1) }); _mailrelayConnectionTester.replies.Enqueue(new MailrelayBoolReply()); sendTableFromMailrelay.ExecuteOption(new Administration.Option.Options.OptionReport(typeof(SendTableFromMailrelayTest))); sendMail sendMailFunction = (sendMail)_mailrelayConnectionTester.sendFunctions.Single(function => function is sendMail); Console.Out.WriteLine(sendMailFunction.html); }
public void MailWillNotBeSentIfLimitedOnDate() { DatabaseSendTableFromMailrelay databaseSendTableFromMailrelay = CreateDatabaseSendTableFromMailrelay(); databaseSendTableFromMailrelay.limitOnDateName = "createdon"; SendTableFromMailrelay sendTableFromMailrelay = new SendTableFromMailrelay(Connection, databaseSendTableFromMailrelay); sendTableFromMailrelay.ChangeMailrelayConnection(_mailrelayConnectionTester); sendTableFromMailrelay.SetDynamicsCrmConnectionIfEmpty(_dynamicsCrmConnectionTester); EnqueueCrmResponse(new List <DateTime>() { new DateTime(2000, 1, 1), new DateTime(2000, 1, 2), new DateTime(2000, 1, 3) }); _mailrelayConnectionTester.replies.Enqueue(new MailrelayBoolReply()); sendTableFromMailrelay.ExecuteOption(new Administration.Option.Options.OptionReport(typeof(SendTableFromMailrelayTest))); sendMail sendMailFunction = (sendMail)_mailrelayConnectionTester.sendFunctions.SingleOrDefault(function => function is sendMail); Assert.IsNull(sendMailFunction); }
public SendTableFromMailrelay(MongoConnection connection, DataLayer.MongoData.Option.OptionBase databaseOption) : base(connection, databaseOption) { _databaseSendTableFromMailrelay = (DatabaseSendTableFromMailrelay)databaseOption; }