package hhn.temp.project; import hhn.temp.project.provider.DatabaseManager; import hhn.temp.project.provider.SimpleDatabaseManager; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; import java.io.IOException; import java.net.URISyntaxException; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collection; import java.util.List; public class DatabaseGoodCasesTest { private SimpleDatabaseManager databaseManager; @BeforeEach public void setup() throws SQLException { databaseManager = new SimpleDatabaseManager(); databaseManager.connect(); databaseManager.clearDatabase(); } @Test @DisplayName("Inserting test task into the database and receiving back the same test task") public void insertTaskAndReceiveItBackTest() throws SQLException { Task task = new Task(123, 10, "Hello World", "Doing Something, hell yeah!"); databaseManager.saveTask(task); Task reTask = databaseManager.getTaskByTaskId(task.getTaskId()); assertNotNull(reTask); assertEquals(task.getTaskId(), reTask.getTaskId()); assertEquals(task.getDescription(), reTask.getDescription()); assertEquals(task.getName(), reTask.getName()); assertEquals(task.getWorkerId(), reTask.getWorkerId()); assertEquals(1, databaseManager.getTotalNumberOfTasks()); } @Test @DisplayName("Inserting test worker into the database and receiving back the same test worker") public void insertWorkerAndReceivedItBackTest() throws SQLException { Worker worker = new Worker("Worker-01", 12345678); databaseManager.saveWorker(worker); Worker reWorker = databaseManager.getWorkerByWorkerId(worker.getId()); assertNotNull(reWorker); assertEquals(worker.getId(), reWorker.getId()); assertEquals(worker.getName(), reWorker.getName()); } @Test @DisplayName("Clearing the database (Task and Worker) test") public void clearDatabaseTest() throws SQLException, InterruptedException { Task task1 = new Task(10, 5, "Hello", "World"); Task task2 = new Task(9, 4, "Hochschule", "Heilbronn"); Task task3 = new Task(8, 9, "Gangnam", "Style"); Collection tasks = List.of(task1, task2, task3); Worker worker1 = new Worker("ABC", 2); Worker worker2 = new Worker("XYZ", 9); Collection workers = List.of(worker1, worker2); databaseManager.saveTasks(tasks); databaseManager.saveWorkers(workers); Thread.sleep(500); assertEquals(tasks.size(), databaseManager.getTotalNumberOfTasks()); assertEquals(workers.size(), databaseManager.getTotalNumberOfWorkers()); databaseManager.clearDatabase(); assertEquals(0, databaseManager.getTotalNumberOfTasks()); assertEquals(0, databaseManager.getTotalNumberOfWorkers()); } @Test public void testRandom() throws IOException, URISyntaxException { System.out.println(databaseManager.loadFile(SimpleDatabaseManager.QueryMode.INSERT)); } }