From d8bf615b0245f183e9681b404dcdf3bb3d1e4244 Mon Sep 17 00:00:00 2001 From: Lunastra Date: Mon, 13 Dec 2021 19:37:39 -0800 Subject: [PATCH 1/3] Add method for testing if the file exist or not --- .../ArchivingTests.cs | 89 +++++++++++++++++-- Source Code/main/Controller.cs | 17 ++-- 2 files changed, 93 insertions(+), 13 deletions(-) diff --git a/Source Code/TeamHobby.HobbyProjectGenerator.ArchiveTests/ArchivingTests.cs b/Source Code/TeamHobby.HobbyProjectGenerator.ArchiveTests/ArchivingTests.cs index 88e7b50..3d7be64 100644 --- a/Source Code/TeamHobby.HobbyProjectGenerator.ArchiveTests/ArchivingTests.cs +++ b/Source Code/TeamHobby.HobbyProjectGenerator.ArchiveTests/ArchivingTests.cs @@ -40,8 +40,8 @@ namespace TeamHobby.HobbyProjectGenerator.ArchiveTests { Directory.Delete(folderPath, true); } - catch { - Console.WriteLine("Folder failed to be deleted"); + catch { + Console.WriteLine("Folder failed to be deleted"); } } else @@ -75,21 +75,63 @@ namespace TeamHobby.HobbyProjectGenerator.ArchiveTests } - public void CopyingToAFileTest(IDataSource sqlDAO) + // [Test Method] + public void IsCSVFileExist(IDataSource sqlDAO) { // Arrange ArchiveManager archiveManager = new ArchiveManager(sqlDAO); SqlDAO sqlDS = null; - + string folderPath = @"C:/HobbyArchive"; + + try + { + bool folderRes = archiveManager.CreateArchiveFolder(); + } + catch (Exception ex) + { + Console.WriteLine("Folder creation for copying failed"); + } + string filePath = archiveManager.CreateOutFileName(); + bool expectedVal = true; + if (sqlDAO.GetType() == typeof(SqlDAO)) { sqlDS = (SqlDAO)sqlDAO; } // Act - - + bool actualVal = false; + if (sqlDS != null) + { + try + { + actualVal = sqlDS.CopyToFile(filePath); + } + catch (Exception ex) + { + Console.WriteLine("Copying to a file failed !!"); + Console.WriteLine(ex.Message); + } + } // Assert + bool result = File.Exists(filePath); + if (result) + { + Console.WriteLine("Expected: {0}, Actual: {1}. CSV file created correctly", expectedVal, actualVal); + // Clean up the folder use to test. + try + { + Directory.Delete(folderPath, true); + } + catch + { + Console.WriteLine("Folder failed to be deleted"); + } + } + else + { + Console.WriteLine("Expected: {0}, Actual: {1}. CSV file created incorrectly", expectedVal, actualVal); + } } @@ -116,6 +158,41 @@ namespace TeamHobby.HobbyProjectGenerator.ArchiveTests Console.WriteLine(""); + // Testing file creation + test.IsCSVFileExist(sqlDAO); + Console.WriteLine("-----------------"); + Console.WriteLine(""); + + // Testing archive Manager + int i = -10; + while (i < 20) + { + DateTime date1 = new DateTime(2021, 12, 1, 0, 0, 0); + //Console.WriteLine("Testing first of month: {0}", date1.ToString("dd")); + //string currentDate = DateTime.Now.ToString("dd"); + //string currentTime = DateTime.Now.ToString("T"); + string currentTime= "00:00:00 AM"; + string currentDate = i.ToString(); + + if (i == 1) + { + currentDate = date1.ToString("dd"); + //ArchiveManager archive = new ArchiveManager(sqlDAO); + //archive.Controller(); + } + + //Console.WriteLine("Current date: {0}, Current Time: {1}", currentDate, currentTime); + Console.WriteLine("Current date: {0}, Current Time: {1}", currentDate, currentTime); + if (String.Equals(currentDate, "01") && String.Equals(currentTime, "00:00:00 AM")) + { + Console.WriteLine("Archiving process Start"); + ArchiveManager archive = new ArchiveManager(sqlDAO); + archive.Controller(); + } + + i++; + } + } } diff --git a/Source Code/main/Controller.cs b/Source Code/main/Controller.cs index 33c1916..73488f2 100644 --- a/Source Code/main/Controller.cs +++ b/Source Code/main/Controller.cs @@ -66,20 +66,23 @@ namespace TeamHobby.HobbyProjectGenerator.Main Console.WriteLine(""); // Closing the connection - sqlDS.getConnection().Close(); + sqlDS.GetConnection().Close(); // While loop to keep this running forever with UserManagement - // Testing archive Manager - //while (true) - //{ + //Testing archive Manager + while (true) + { string currentDate = DateTime.Now.ToString("dd"); string currentTime = DateTime.Now.ToString("T"); + string activateDate = "01"; + string activateTime = "00:00:00 AM"; Console.WriteLine("Current date: {0}, Current Time: {1}", currentDate, currentTime); - if (String.Equals(currentDate, "1") && String.Equals(currentTime, "00:00:00 AM")){ + if (String.Equals(currentDate, activateDate) && String.Equals(currentTime, activateTime)) + { ArchiveManager archive = new ArchiveManager(datasource); archive.Controller(); } - //} + } @@ -111,7 +114,7 @@ namespace TeamHobby.HobbyProjectGenerator.Main //// Remove entries fromt the database //sqlDS.RemoveEntries(); - + // 2.Inserting Data into the database: From dfb32b0e261d028650e28f6de4b2e9dc778fb4fc Mon Sep 17 00:00:00 2001 From: Lunastra Date: Mon, 13 Dec 2021 20:50:24 -0800 Subject: [PATCH 2/3] Changed Removed Entries to throw an Error Tested the clean up sequence for Manager --- .../ArchivingTests.cs | 95 +++++++++++++------ .../Implementations/SqlDAO.cs | 14 ++- .../TeamHobby.HobbyProjectGenerator.sln | 8 +- Source Code/main/Controller.cs | 1 + 4 files changed, 81 insertions(+), 37 deletions(-) diff --git a/Source Code/TeamHobby.HobbyProjectGenerator.ArchiveTests/ArchivingTests.cs b/Source Code/TeamHobby.HobbyProjectGenerator.ArchiveTests/ArchivingTests.cs index 3d7be64..05a8baa 100644 --- a/Source Code/TeamHobby.HobbyProjectGenerator.ArchiveTests/ArchivingTests.cs +++ b/Source Code/TeamHobby.HobbyProjectGenerator.ArchiveTests/ArchivingTests.cs @@ -135,6 +135,68 @@ namespace TeamHobby.HobbyProjectGenerator.ArchiveTests } + // [Test Method] + public void IsProcessFlowCompleted(IDataSource sqlDAO) + { + // Arrange + ArchiveManager archive = new ArchiveManager(sqlDAO); + + // Act + // Testing archive Manager + int i = -10; + while (i < 20) + { + DateTime date1 = new DateTime(2021, 12, 1, 0, 0, 0); + //Console.WriteLine("Testing first of month: {0}", date1.ToString("dd")); + //string currentDate = DateTime.Now.ToString("dd"); + //string currentTime = DateTime.Now.ToString("T"); + string currentTime = "00:00:00 AM"; + string currentDate = i.ToString(); + + if (i == 1) + { + currentDate = date1.ToString("dd"); + //ArchiveManager archive = new ArchiveManager(sqlDAO); + //archive.Controller(); + } + + //Console.WriteLine("Current date: {0}, Current Time: {1}", currentDate, currentTime); + Console.WriteLine("Current date: {0}, Current Time: {1}", currentDate, currentTime); + if (String.Equals(currentDate, "01") && String.Equals(currentTime, "00:00:00 AM")) + { + Console.WriteLine("Archiving process Start"); + //ArchiveManager archive = new ArchiveManager(sqlDAO); + archive.Controller(); + } + + i++; + } + + } + + public void IsCleaningUpCompleted(IDataSource sqlDAO) + { + //Arrange + ArchiveManager archive = new ArchiveManager(sqlDAO); + bool actualVal = false; + bool expectedVal = false; + + // Act + actualVal = archive.Controller(); + + // Assert + //bool result = !(actualVal && expectedVal); + if (expectedVal == actualVal) + { + Console.WriteLine("Expected: {0}, Actual: {1}. Error handle correctly", expectedVal, actualVal); + } + else + { + Console.WriteLine("Expected: {0}, Actual: {1}. Error handle incorrectly", expectedVal, actualVal); + } + + } + public static void Main(string[] args) { string dbInfo = "DRIVER={MariaDB ODBC 3.1 Driver};" + @@ -163,35 +225,12 @@ namespace TeamHobby.HobbyProjectGenerator.ArchiveTests Console.WriteLine("-----------------"); Console.WriteLine(""); - // Testing archive Manager - int i = -10; - while (i < 20) - { - DateTime date1 = new DateTime(2021, 12, 1, 0, 0, 0); - //Console.WriteLine("Testing first of month: {0}", date1.ToString("dd")); - //string currentDate = DateTime.Now.ToString("dd"); - //string currentTime = DateTime.Now.ToString("T"); - string currentTime= "00:00:00 AM"; - string currentDate = i.ToString(); + - if (i == 1) - { - currentDate = date1.ToString("dd"); - //ArchiveManager archive = new ArchiveManager(sqlDAO); - //archive.Controller(); - } - - //Console.WriteLine("Current date: {0}, Current Time: {1}", currentDate, currentTime); - Console.WriteLine("Current date: {0}, Current Time: {1}", currentDate, currentTime); - if (String.Equals(currentDate, "01") && String.Equals(currentTime, "00:00:00 AM")) - { - Console.WriteLine("Archiving process Start"); - ArchiveManager archive = new ArchiveManager(sqlDAO); - archive.Controller(); - } - - i++; - } + // Testing clean up sequence + //test.IsCleaningUpCompleted(sqlDAO); + //Console.WriteLine("-----------------"); + //Console.WriteLine(""); } diff --git a/Source Code/TeamHobby.HobbyProjectGenerator.DataAccess/Implementations/SqlDAO.cs b/Source Code/TeamHobby.HobbyProjectGenerator.DataAccess/Implementations/SqlDAO.cs index 06b919b..5cf2f70 100644 --- a/Source Code/TeamHobby.HobbyProjectGenerator.DataAccess/Implementations/SqlDAO.cs +++ b/Source Code/TeamHobby.HobbyProjectGenerator.DataAccess/Implementations/SqlDAO.cs @@ -238,14 +238,12 @@ namespace TeamHobby.HobbyProjectGenerator.DataAccess string sqlCmd = "DELETE FROM log WHERE DATEDIFF(current_timestamp, log.LtimeStamp) > 30"; - try{ - DeleteData(sqlCmd); - return true; - } - catch { - Console.WriteLine("Eeep! an error in Remove Entries, not to worry, will be handled higher up the call stack"); - throw; - } + if (DeleteData(sqlCmd) == false) + { + throw new Exception("Error in removing entries,not to worry, will be handled higher up the call stack"); + }; + + return true; } //public Object ReadPreparedStmt(string table){ diff --git a/Source Code/TeamHobby.HobbyProjectGenerator/TeamHobby.HobbyProjectGenerator.sln b/Source Code/TeamHobby.HobbyProjectGenerator/TeamHobby.HobbyProjectGenerator.sln index bff6309..56de952 100644 --- a/Source Code/TeamHobby.HobbyProjectGenerator/TeamHobby.HobbyProjectGenerator.sln +++ b/Source Code/TeamHobby.HobbyProjectGenerator/TeamHobby.HobbyProjectGenerator.sln @@ -17,7 +17,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TeamHobby.Main", "..\TeamHo EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TeamHobby.HobbyProjectGenerator.DataAccess", "..\TeamHobby.HobbyProjectGenerator.DataAccess\TeamHobby.HobbyProjectGenerator.DataAccess.csproj", "{AA48A66C-FA36-4AF9-A782-CEC22838EB8F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TeamHobby.HobbyProjectGenerator.ArchiveTests", "..\TeamHobby.HobbyProjectGenerator.ArchiveTests\TeamHobby.HobbyProjectGenerator.ArchiveTests.csproj", "{C5EBD1F8-C806-4BF9-B2D7-8876072630FD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TeamHobby.HobbyProjectGenerator.ArchiveTests", "..\TeamHobby.HobbyProjectGenerator.ArchiveTests\TeamHobby.HobbyProjectGenerator.ArchiveTests.csproj", "{C5EBD1F8-C806-4BF9-B2D7-8876072630FD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTEst1", "..\UnitTEst1\UnitTEst1.csproj", "{139F060F-EE24-4C34-A3AD-148B0C024EF9}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -54,6 +56,10 @@ Global {C5EBD1F8-C806-4BF9-B2D7-8876072630FD}.Debug|Any CPU.Build.0 = Debug|Any CPU {C5EBD1F8-C806-4BF9-B2D7-8876072630FD}.Release|Any CPU.ActiveCfg = Release|Any CPU {C5EBD1F8-C806-4BF9-B2D7-8876072630FD}.Release|Any CPU.Build.0 = Release|Any CPU + {139F060F-EE24-4C34-A3AD-148B0C024EF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {139F060F-EE24-4C34-A3AD-148B0C024EF9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {139F060F-EE24-4C34-A3AD-148B0C024EF9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {139F060F-EE24-4C34-A3AD-148B0C024EF9}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Source Code/main/Controller.cs b/Source Code/main/Controller.cs index 73488f2..5f6c8b2 100644 --- a/Source Code/main/Controller.cs +++ b/Source Code/main/Controller.cs @@ -56,6 +56,7 @@ namespace TeamHobby.HobbyProjectGenerator.Main reader = (OdbcDataReader)result; } + // [Logname, loglevel, date, time, ...] Console.WriteLine("Reading from the database"); while (reader.Read()) From cdba27ee1297fcc28fa0a8b70320d11d117d614d Mon Sep 17 00:00:00 2001 From: Lunastra Date: Mon, 13 Dec 2021 20:52:58 -0800 Subject: [PATCH 3/3] Delete a blank space --- .../ArchivingTests.cs | 2 +- .../TeamHobby.HobbyProjectGenerator.sln | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/Source Code/TeamHobby.HobbyProjectGenerator.ArchiveTests/ArchivingTests.cs b/Source Code/TeamHobby.HobbyProjectGenerator.ArchiveTests/ArchivingTests.cs index 05a8baa..7da2223 100644 --- a/Source Code/TeamHobby.HobbyProjectGenerator.ArchiveTests/ArchivingTests.cs +++ b/Source Code/TeamHobby.HobbyProjectGenerator.ArchiveTests/ArchivingTests.cs @@ -225,7 +225,7 @@ namespace TeamHobby.HobbyProjectGenerator.ArchiveTests Console.WriteLine("-----------------"); Console.WriteLine(""); - + // Testing clean up sequence //test.IsCleaningUpCompleted(sqlDAO); diff --git a/Source Code/TeamHobby.HobbyProjectGenerator/TeamHobby.HobbyProjectGenerator.sln b/Source Code/TeamHobby.HobbyProjectGenerator/TeamHobby.HobbyProjectGenerator.sln index 56de952..ac07ef1 100644 --- a/Source Code/TeamHobby.HobbyProjectGenerator/TeamHobby.HobbyProjectGenerator.sln +++ b/Source Code/TeamHobby.HobbyProjectGenerator/TeamHobby.HobbyProjectGenerator.sln @@ -19,8 +19,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TeamHobby.HobbyProjectGener EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TeamHobby.HobbyProjectGenerator.ArchiveTests", "..\TeamHobby.HobbyProjectGenerator.ArchiveTests\TeamHobby.HobbyProjectGenerator.ArchiveTests.csproj", "{C5EBD1F8-C806-4BF9-B2D7-8876072630FD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTEst1", "..\UnitTEst1\UnitTEst1.csproj", "{139F060F-EE24-4C34-A3AD-148B0C024EF9}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -56,10 +54,6 @@ Global {C5EBD1F8-C806-4BF9-B2D7-8876072630FD}.Debug|Any CPU.Build.0 = Debug|Any CPU {C5EBD1F8-C806-4BF9-B2D7-8876072630FD}.Release|Any CPU.ActiveCfg = Release|Any CPU {C5EBD1F8-C806-4BF9-B2D7-8876072630FD}.Release|Any CPU.Build.0 = Release|Any CPU - {139F060F-EE24-4C34-A3AD-148B0C024EF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {139F060F-EE24-4C34-A3AD-148B0C024EF9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {139F060F-EE24-4C34-A3AD-148B0C024EF9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {139F060F-EE24-4C34-A3AD-148B0C024EF9}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE