public void UploadFile() { DatabaseFileHandler dfh = new DatabaseFileHandler(); String fileName = "test.txt"; String path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); String fullPath = System.IO.Path.Combine(path, fileName); if (!File.Exists(fullPath)) { using (StreamWriter sw = File.CreateText(fullPath)) { sw.WriteLine("TEST FILE :)"); sw.WriteLine("Maybe it needs lots of text????"); } while (!File.Exists(fullPath)) { Thread.Sleep(1000); } } int i = dfh.UploadFile(projectID, File.Open(fullPath, FileMode.Open), fileName); Assert.AreEqual(1, i); File.Delete(fullPath); }
public void DownloadAllFiles() { DatabaseFileHandler dfh = new DatabaseFileHandler(); String fileName = "test.txt"; String path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); String fullPath = System.IO.Path.Combine(path, fileName); if (!File.Exists(fullPath)) { using (StreamWriter sw = File.CreateText(fullPath)) { sw.WriteLine("TEST FILE :)"); sw.WriteLine("Maybe it needs lots of text????"); } while (!File.Exists(fullPath)) { Thread.Sleep(1000); } } int i = dfh.UploadFile(projectID, File.Open(fullPath, FileMode.Open), fileName); path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); List <String> fileList = dfh.DownloadAllFiles(projectID, path); foreach (String f in fileList) { if (File.Exists(f)) { Assert.IsTrue(true); File.Delete(f); } } int fileID = 0; ConnectionClass.OpenConnection(); MySqlCommand comm = ConnectionClass.con.CreateCommand(); comm.CommandText = "SELECT FileID FROM storedfiles sf WHERE sf.FileName = @fileName AND sf.ProjectID = @id"; comm.Parameters.AddWithValue("@fileName", fileName); comm.Parameters.AddWithValue("@id", projectID); using (MySqlDataReader sqlQueryResult = comm.ExecuteReader()) if (sqlQueryResult != null) { sqlQueryResult.Read(); fileID = Int32.Parse(sqlQueryResult["FileID"].ToString()); } ConnectionClass.CloseConnection(); dfh.DeleteFile(fileID); }
private DatabaseFileHandler InitializeDatabase(InitializationSettings settings) { var databaseFileHandler = new DatabaseFileHandler(settings.DatabaseName); if (settings.EnforceRecreationOfDatabase || !databaseFileHandler.DatabaseExists()) { databaseFileHandler.DeleteDatabaseIfExists(); databaseFileHandler.CreateNewDatabase(); } return(databaseFileHandler); }
public async Task Database_CreateAndUpdate_UpdatesRunWithoutException() { // Arrange var exampleFile = "UpdateTest.db"; var databaseFileHandler = new DatabaseFileHandler(exampleFile); databaseFileHandler.DeleteDatabaseIfExists(); var testInfrastructure = new TestInfrastructure(); // Act && Assert await testInfrastructure.CreateNewUnittestDatabaseAsync(exampleFile); databaseFileHandler.DeleteDatabaseIfExists(); }
public void Database_Create_GetsCreated() { // Arrange var exampleFile = "CreateFileTest.db"; var databaseFileHandler = new DatabaseFileHandler(exampleFile); databaseFileHandler.DeleteDatabaseIfExists(); // Act && Assert var fullexampleFile = Path.Combine(DataDirectories.GetUserApplicationDatabasesDirectory(), exampleFile); Assert.DoesNotThrow(() => databaseFileHandler.CreateNewDatabase()); Assert.That(File.Exists(fullexampleFile)); databaseFileHandler.DeleteDatabaseIfExists(); }
public void DownloadFile() { DatabaseFileHandler dfh = new DatabaseFileHandler(); String path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); List <String> fileList = dfh.DownloadFile(projectID, path); foreach (String f in fileList) { if (File.Exists(f)) { Assert.IsTrue(true); File.Delete(f); } } }
public async Task UpdateDatabaseAsync(IMediator mediator, string database) { var databaseFileHandler = new DatabaseFileHandler(database); foreach (var updateStep in this._updateCoordinator.GetUpdateStepsBeginningFromVersion(new Version(1, 0, 0, 0))) { using (var connection = databaseFileHandler.OpenConnection()) { using (var transaction = connection.BeginTransaction()) { var scriptsToRun = updateStep.GetSqlUpdateScripts(); foreach (var script in scriptsToRun) { await connection.ExecuteAsync(script); } transaction.Commit(); } } await updateStep.PerformMigrationsAsync(mediator); } }
public void Database_Create_ConnectionCouldBeEstablished() { // Arrange var exampleFile = "ConnectionAfterCreateTest.db"; var databaseFileHandler = new DatabaseFileHandler(exampleFile); databaseFileHandler.DeleteDatabaseIfExists(); // Act && Assert var fullexampleFile = Path.Combine(DataDirectories.GetUserApplicationDatabasesDirectory(), exampleFile); Assert.DoesNotThrow(() => databaseFileHandler.CreateNewDatabase()); var fileWasCreated = File.Exists(fullexampleFile); var connectionWasOpened = false; using (var connection = databaseFileHandler.OpenConnection()) { connectionWasOpened = connection.State == ConnectionState.Open; } Assert.That(fileWasCreated); Assert.That(connectionWasOpened); databaseFileHandler.DeleteDatabaseIfExists(); }
public void DeleteFile() { DatabaseFileHandler dfh = new DatabaseFileHandler(); String fileName = "test.txt"; String path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); String fullPath = System.IO.Path.Combine(path, fileName); if (!File.Exists(fullPath)) { FileStream f = File.Create(fullPath); f.Close(); } dfh.UploadFile(projectID, File.Open(fullPath, FileMode.Open), fileName); int fileID = 0; ConnectionClass.OpenConnection(); MySqlCommand comm = ConnectionClass.con.CreateCommand(); comm.CommandText = "SELECT FileID FROM storedfiles sf WHERE sf.FileName = @fileName AND sf.ProjectID = @id"; comm.Parameters.AddWithValue("@fileName", fileName); comm.Parameters.AddWithValue("@id", projectID); using (MySqlDataReader sqlQueryResult = comm.ExecuteReader()) if (sqlQueryResult != null) { sqlQueryResult.Read(); fileID = Int32.Parse(sqlQueryResult["FileID"].ToString()); } ConnectionClass.CloseConnection(); int i = dfh.DeleteFile(fileID); Assert.AreEqual(1, i); }
public void viewProjectFiles() { ConnectionClass.OpenConnection(); //Add the expected record to the database, which will have a title of "test" and a user ID of "1". ProjectManager pm = new ProjectManager(); //Create and upload test file DatabaseFileHandler dfh = new DatabaseFileHandler(); String fileName = "viewProjectFilesTest.txt"; String path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); String fullPath = System.IO.Path.Combine(path, fileName); if (!File.Exists(fullPath)) { using (StreamWriter sw = File.CreateText(fullPath)) { sw.WriteLine("TEST FILE :3"); sw.WriteLine("Maybe it needs lots of text????"); } while (!File.Exists(fullPath)) { Thread.Sleep(1000); } } int expectedRowCount = dfh.UploadFile(projectID, File.Open(fullPath, FileMode.Open), fileName); //Actual DataTable dt = pm.viewProjectFiles(projectID); int actualRowCount = dt.Rows.Count; Assert.AreEqual(expectedRowCount, actualRowCount); File.Delete(fullPath); DatabaseFileHandler dbfh = new DatabaseFileHandler(); ConnectionClass.OpenConnection(); MySqlCommand comm = ConnectionClass.con.CreateCommand(); comm.CommandText = "SELECT FileID FROM storedfiles sf WHERE sf.FileName = @fileName AND sf.ProjectID = @id"; comm.Parameters.AddWithValue("@fileName", fileName); comm.Parameters.AddWithValue("@id", projectID); int fileID = 0; using (MySqlDataReader sqlQueryResult = comm.ExecuteReader()) if (sqlQueryResult != null) { sqlQueryResult.Read(); fileID = Int32.Parse(sqlQueryResult["FileID"].ToString()); } ConnectionClass.CloseConnection(); int i = dfh.DeleteFile(fileID); //REMEMBER TO DELETE THE PROJECT RECORDS with pete's method newProject.DeleteProject(projectID); }
public void RunAfterAnyTests() { var fileHandler = new DatabaseFileHandler(ExampleDatabase); fileHandler.ArchiveDatabase("Unittests_LastRun.db"); }
private static void DeleteUnittestDatabase(string databaseName) { var fileHandler = new DatabaseFileHandler(databaseName); fileHandler.DeleteDatabaseIfExists(); }