public void MasterLogWriter_WriteFreeTextToEmptyLogTest() { // Prepare mock file system for test string mockFileName = @"C:\Temp\Test.txt"; var mockFileSystem = new MockFileSystem(); var mockInputFile = new MockFileData(""); mockFileSystem.AddFile(mockFileName, mockInputFile); DateTime nowStamp = DateTime.Now; // Instantiate test subject with mock file system MasterLogWriter mlw = new MasterLogWriter(mockFileSystem); // The action being tested mlw.masterLogLocation = mockFileName; mlw.WriteEntry("This is some free text"); // Testing results MockFileData mockOutputFile = mockFileSystem.GetFile(mockFileName); string[] outputLines = mockOutputFile.TextContents.SplitLines(); Console.WriteLine("Number of lines in mock file: {0}", outputLines.Length); Assert.IsTrue(outputLines.Length == 1); Console.WriteLine(outputLines[0]); Assert.AreEqual(outputLines[0], "This is some free text"); }
public void DBHandlerUpdateTest() { // Prepare mock file system for test string mockFileName = @"C:\Temp\Test.txt"; var mockFileSystem = new MockFileSystem(); var mockInputFile = new MockFileData(""); mockFileSystem.AddFile(mockFileName, mockInputFile); // Instantiate test subject with mock file system MasterLogWriter mlw = new MasterLogWriter(mockFileSystem); mlw.masterLogLocation = mockFileName; dbTableHandler dbTH = new dbTableHandler(mlw, @"server=localhost\SQLExpress;database=Portal;integrated security=true", "SELECT * FROM Documents WHERE DateModified > @DateModified ORDER BY DateModified", "{7:yyyy-MM-dd HH:mm:ss.fff}, DB:Portal, {4}, '{1}' last changed by user '{8}'", "DateModified", "Error", "5000"); MockFileData mockOutputFile = mockFileSystem.GetFile(mockFileName); string[] outputLines = mockOutputFile.TextContents.SplitLines(); Console.WriteLine("Number of lines in mock file: {0}", outputLines.Length); Assert.IsTrue(outputLines.Length > 0); Assert.AreEqual(@"2019-07-10 09:11:38.000, DB:Portal, INFO, 'Coded special document' last changed by user 'jenny'", outputLines[0]); }
public void MasterLogWriter_WriteCustomLogTest() { // Prepare mock file system for test string mockFileName = @"C:\temp\in.txt"; var mockFileSystem = new MockFileSystem(); var mockInputFile = new MockFileData("line1\nline2\nline3\n"); mockFileSystem.AddFile(mockFileName, mockInputFile); DateTime nowStamp = DateTime.Now; // Instantiate test subject with mock file system MasterLogWriter mlw = new MasterLogWriter(mockFileSystem); // The action being tested mlw.masterLogLocation = mockFileName; mlw.WriteEntry(nowStamp.ToString("yyyy-MM-dd HH:mm:ss.fff"), "UnitTest", "Test", "Test output"); // Testing results MockFileData mockOutputFile = mockFileSystem.GetFile(mockFileName); string[] outputLines = mockOutputFile.TextContents.SplitLines(); Console.WriteLine("Number of lines in mock file: {0}", outputLines.Length); Assert.AreEqual(outputLines[0], "line1"); Assert.AreEqual(outputLines[1], "line2"); Assert.AreEqual(outputLines[2], "line3"); Assert.IsTrue(outputLines.Length == 4); Assert.AreEqual(outputLines[3], string.Format("{0:yyyy-MM-dd HH:mm:ss.fff}, UnitTest, Test, Test output", nowStamp)); }
public void XMLHandlerUpdatedTest() { // Prepare mock file system for test string mockFileName = @"C:\Temp\Test.txt"; var mockFileSystem = new MockFileSystem(); var mockInputFile = new MockFileData(""); mockFileSystem.AddFile(mockFileName, mockInputFile); // Instantiate test subject with mock file system MasterLogWriter mlw = new MasterLogWriter(mockFileSystem); mlw.masterLogLocation = mockFileName; XMLHandler xmlH = new XMLHandler(mlw, @"C:\Temp\xml\log.xml", @"{4:yyyy-MM-dd HH:mm:ss.fff}, C:\Temp\xml\log.xml, {3}, {1} | {2}", "action", "timestamp", "5000"); string xmlFile = @"C:\Temp\xml\log.xml"; string timeStamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); XDocument document = XDocument.Load(xmlFile); document.Element("actions").Add(new XElement("action", new XElement("ID", 10), new XElement("name", "TestName"), new XElement("description", "TestDescription"), new XElement("level", "INFO"), new XElement("timestamp", timeStamp))); document.Save(xmlFile); System.Threading.Thread.Sleep(5000); MockFileData mockOutputFile = mockFileSystem.GetFile(mockFileName); string[] outputLines = mockOutputFile.TextContents.SplitLines(); Console.WriteLine("Number of lines in mock file: {0}", outputLines.Length); Assert.IsTrue(outputLines.Length > 0); string lastLine = outputLines[outputLines.Length - 1]; Assert.AreEqual(string.Format(@"{0:yyyy-MM-dd HH:mm:ss.fff}, C:\Temp\xml\log.xml, INFO, TestName | TestDescription", timeStamp), lastLine); }
public void XMLHandlerInitialiseTest() { // Prepare mock file system for test string mockFileName = @"C:\Temp\Test.txt"; var mockFileSystem = new MockFileSystem(); var mockInputFile = new MockFileData(""); mockFileSystem.AddFile(mockFileName, mockInputFile); // Instantiate test subject with mock file system MasterLogWriter mlw = new MasterLogWriter(mockFileSystem); mlw.masterLogLocation = mockFileName; XMLHandler xmlH = new XMLHandler(mlw, @"C:\Temp\xml\log.xml", @"{4:yyyy-MM-dd HH:mm:ss.fff}, C:\Temp\xml\log.xml, {3}, {1} | {2}", "action", "timestamp", "5000"); MockFileData mockOutputFile = mockFileSystem.GetFile(mockFileName); string[] outputLines = mockOutputFile.TextContents.SplitLines(); Console.WriteLine("Number of lines in mock file: {0}", outputLines.Length); Assert.IsTrue(outputLines.Length > 0); }
public void LogFileHandlerInitialTest() { File.Delete(@"C:\Temp\MasterLog\MasterLog.log"); MasterLogWriter mlw = new MasterLogWriter(); mlw.masterLogLocation = @"C:\Temp\MasterLog\MasterLog.log"; LogFileHandler lfh = new LogFileHandler(mlw, @"C:\Temp\logs\app.log", @"{0:yyyy-MM-dd HH:mm:ss.fff}, C:\Temp\xml\log.xml, {1}, {2}"); System.Threading.Thread.Sleep(1000); var txt = File.ReadAllText(@"C:\Temp\MasterLog\MasterLog.log"); string[] lines = txt.Split('\n'); Console.WriteLine("Number of lines in mock file: {0}", lines.Length); Assert.IsTrue(lines.Length > 0); string[] fields = lines[0].Split(','); //Assert.AreEqual("Item no:aa1 Description:inventory purchase Cost: $230 Paid: Yes Due Date: 12/08/2019 Notes: Paid via credit card", fields[3].Trim()); foreach (string line in lines) { Console.WriteLine(line); } }
public void CSVFileHandlerInitialTest() { File.Delete(@"C:\Temp\MasterLog\MasterLog.log"); MasterLogWriter mlw = new MasterLogWriter(); mlw.masterLogLocation = @"C:\Temp\MasterLog\MasterLog.log"; CSVFileHandler csvHandler = new CSVFileHandler(mlw, @"C:\Temp\csv\payments.csv", @"{0:yyyy-MM-dd HH:mm:ss.fff}, C:\Temp\csv\payments.csv, {6}, Item no:{1} Description:{2} Cost: {3} Paid: {4} Due Date: {5} Notes: {7}", "yes"); System.Threading.Thread.Sleep(1000); var txt = File.ReadAllText(@"C:\Temp\MasterLog\MasterLog.log"); string[] lines = txt.Split('\n'); Console.WriteLine("Number of lines in mock file: {0}", lines.Length); Assert.IsTrue(lines.Length > 0); string[] fields = lines[0].Split(','); Assert.AreEqual("Item no:aa1 Description:inventory purchase Cost: $230 Paid: Yes Due Date: 12/08/2019 Notes: Paid via credit card", fields[3].Trim()); foreach (string line in lines) { Console.WriteLine(line); } }