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));
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
            }
        }