public void Must_Log_To_Console() { // Arrange var log = new JobLogger(AppDomain.CurrentDomain.BaseDirectory + "/logger4.cfg.json"); using (var sw = new StringWriter()) { Console.SetOut(sw); var expected = string.Format( DateTime.Now.ToShortDateString() + " - [INFO]: This must be INFO{0}" + DateTime.Now.ToShortDateString() + " - [WARNING]: This must be WARNING{0}" + DateTime.Now.ToShortDateString() + " - [ERROR]: This must be ERROR{0}", Environment.NewLine); // Act log.Info("This must be INFO"); log.Warning("This must be WARNING"); log.Error("This must be ERROR"); //Assert Assert.AreEqual(sw.ToString(), expected); } }
public void Must_Log_To_File() { // Arrange ILogRepository logRepository = new FakeLogRepository(); var log = new JobLogger(AppDomain.CurrentDomain.BaseDirectory + "/logger6.cfg.json", logRepository); var expected = string.Format( DateTime.Now.ToShortDateString() + " - [INFO]: This must be INFO File log{0}" + DateTime.Now.ToShortDateString() + " - [WARNING]: This must be WARNING File log{0}" + DateTime.Now.ToShortDateString() + " - [ERROR]: This must be ERROR File log{0}", Environment.NewLine); // Act log.Info("This must be INFO File log"); log.Warning("This must be WARNING File log"); log.Error("This must be ERROR File log"); var result = File.ReadAllText("C:/Temp/Logs/log" + DateTime.Now.Day + DateTime.Now.Month + DateTime.Now.Year + ".txt"); // Assert Assert.IsTrue(File.Exists("C:/Temp/Logs/log" + DateTime.Now.Day + DateTime.Now.Month + DateTime.Now.Year + ".txt")); Assert.AreEqual(result, expected); File.Delete("C:/Temp/Logs/log" + DateTime.Now.Day + DateTime.Now.Month + DateTime.Now.Year + ".txt"); }
public void Given_NullMessage_When_CallingError_Then_ReturnNotSuccess() { IJobLogger logger = new JobLogger(_databaseRepository, _fileRepository, _consoleRepository); var success = logger.Error(InvalidMessage); Assert.IsFalse(success); }
public void Must_Log_To_Database() { // Arrange ILogRepository logRepository = new FakeLogRepository(); var log = new JobLogger(AppDomain.CurrentDomain.BaseDirectory + "/logger5.cfg.json", logRepository); IList <Log> expected = new List <Log>(); expected.Add(new Log { Message = "This must be INFO Database log", Type = "Info", Date = DateTime.Now }); expected.Add(new Log { Message = "This must be WARNING Database log", Type = "Warning", Date = DateTime.Now }); expected.Add(new Log { Message = "This must be ERROR Database log", Type = "Error", Date = DateTime.Now }); // Act log.Info("This must be INFO Database log"); log.Warning("This must be WARNING Database log"); log.Error("This must be ERROR Database log"); var logs = logRepository.GetAll(); // Assert Assert.AreEqual(logs.ToList().Count(), 3); Assert.AreEqual(logs.ToList()[0].ToString(), expected[0].ToString()); Assert.AreEqual(logs.ToList()[1].ToString(), expected[1].ToString()); Assert.AreEqual(logs.ToList()[2].ToString(), expected[2].ToString()); }
public void Execute(DataSet dataSet, CancellationToken cancellationToken) { try { var failedInforTransactions = (from it in this.UnitOfWork.GetRepository <InvoiceInforTransaction>().GetTable() join cc in this.UnitOfWork.GetRepository <CreditCardTransaction>().GetTable() on it.AuthCode equals cc.AuthCode where it.PostedToInfor == false select new { InvoiceInforTransaction = it, CreditCardTransaction = cc } ).ToList(); if (failedInforTransactions.Count() == 0) { return; } this.UnitOfWork.BeginTransaction(); foreach (var failedTransaction in failedInforTransactions) { PayOpenInvoicesRequest payOpenInvoicesRequest = new PayOpenInvoicesRequest(); PayOpenInvoicesHead head = new PayOpenInvoicesHead(); PayOpenInvoicesCreditCard creditCard = new PayOpenInvoicesCreditCard(); payOpenInvoicesRequest.Invoice = new List <PayOpenInvoicesInvoice>(); //head.CompanyNumber = customSettings.CompanyNameIdentifier; head.CompanyNumber = failedTransaction.CreditCardTransaction.CustomerNumber.Substring(0, 1); head.CustomerNumber = failedTransaction.CreditCardTransaction.CustomerNumber.Substring(1); head.SettlementDate = failedTransaction.CreditCardTransaction.TransactionDate.Date.ToString("MMddyyyy"); head.MonetaryAmount = failedTransaction.CreditCardTransaction.Amount.ToString(); creditCard.CCCustomerID = "0" + head.CompanyNumber + failedTransaction.CreditCardTransaction.CustomerNumber.Substring(1).PadLeft(10, '0'); creditCard.CCPaymentType = "CENPOS"; //string expirationMonth = parameter1.CreditCard.ExpirationMonth.ToString("00"); string expiryYear = failedTransaction.CreditCardTransaction.ExpirationDate.Remove(0, failedTransaction.CreditCardTransaction.ExpirationDate.Length - 2); creditCard.CCCreditCardExp = string.Concat(failedTransaction.CreditCardTransaction.ExpirationDate.Substring(0, 2), expiryYear); creditCard.CCCardHolder = failedTransaction.CreditCardTransaction.Name; //to check for saved cards creditCard.CCAuthorizationAmount = failedTransaction.CreditCardTransaction.Amount.ToString(); creditCard.CCMerchantId = customSettings.Value.PaymentGateway_Cenpos_MerchantId.ToString(); creditCard.CCMaskedCard = failedTransaction.InvoiceInforTransaction.CCMaskedCard; //creditCard.CCToken = failedTransaction.CreditCardTransaction.PNRef.Substring(0, failedTransaction.CreditCardTransaction.PNRef.IndexOf('|')); creditCard.CCToken = "NOTOKEN_" + failedTransaction.CreditCardTransaction.AuthCode.Substring(failedTransaction.CreditCardTransaction.AuthCode.Length - 4); creditCard.CCCardType = failedTransaction.InvoiceInforTransaction.CardType; creditCard.CCAuthorizationNumber = failedTransaction.CreditCardTransaction.AuthCode; creditCard.CCReferenceNumber = failedTransaction.InvoiceInforTransaction.CCReferenceNumber; var CCEmail = this.UnitOfWork.GetRepository <Customer>().GetTableAsNoTracking().Where(customer => customer.CustomerNumber == failedTransaction.CreditCardTransaction.CustomerNumber).FirstOrDefault().Email; creditCard.CCEmail = CCEmail; //check the mail creditCard.CCCustomerCode = failedTransaction.CreditCardTransaction.CustomerNumber.Substring(1).PadLeft(10, '0'); creditCard.CCEND = "Y"; payOpenInvoicesRequest.Head = head; payOpenInvoicesRequest.CreditCard = creditCard; payOpenInvoicesRequest.Name = "PayOpenInvoices"; invoiceList = JsonConvert.DeserializeObject <List <InvoiceList> >(failedTransaction.InvoiceInforTransaction.InvoiceNumber); foreach (InvoiceList inv in invoiceList) { PayOpenInvoicesInvoice payOpenInvoicesInvoice = new PayOpenInvoicesInvoice(); payOpenInvoicesInvoice.InvoiceNo = inv.InvoiceNo;// payOpenInvoicesInvoice.DiscountTakenAmount = ""; payOpenInvoicesInvoice.InvoiceNote = inv.InvoiceNote; payOpenInvoicesInvoice.PaymentAmount = (invoiceList.Count() > 1) ? inv.PaymentAmount : head.MonetaryAmount;//when paying for single payOpenInvoicesRequest.Invoice.Add(payOpenInvoicesInvoice); } var response = this.outstandingInvoiceService.PayOpenInvoicesJob(payOpenInvoicesRequest); if (!response.IsSuccessStatusCode) { JobLogger.Error("Post to infor for " + creditCard.CCAuthorizationNumber + " failed :" + response); } else { failedTransaction.InvoiceInforTransaction.PostedToInfor = true; JobLogger.Error("Post to infor for " + creditCard.CCAuthorizationNumber + " successful :" + response); } this.UnitOfWork.Save(); } this.UnitOfWork.CommitTransaction(); } catch (Exception ex) { LogHelper.For(this).Error(ex); throw; } }