Heavily refactored DatabaseManager.java and SimpleDatabaseManager.java. Fully refactored DatabaseGoodCasesTest.java and DatabaseBadCasesTest.java.
This commit is contained in:
@@ -12,103 +12,75 @@ import java.io.IOException;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public class DatabaseGoodCasesTest {
|
||||
|
||||
private DatabaseManager<Task> databaseManager;
|
||||
private DatabaseManager databaseManager;
|
||||
|
||||
@BeforeEach
|
||||
public void setup() throws SQLException, IOException {
|
||||
databaseManager = new SimpleDatabaseManager<>();
|
||||
public void setup() throws SQLException {
|
||||
databaseManager = new SimpleDatabaseManager();
|
||||
databaseManager.connect();
|
||||
databaseManager.clearDatabase();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Assert that the TestClass could be inserted into the database")
|
||||
public void assertGetTestClass() throws SQLException {
|
||||
@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.connect();
|
||||
databaseManager.saveTask(task);
|
||||
|
||||
Task task = new Task(1, 1, "hi", "hi");
|
||||
Task reTask = databaseManager.getTaskByTaskId(task.getTaskId());
|
||||
|
||||
databaseManager.saveObject(task);
|
||||
assertNotNull(reTask);
|
||||
assertEquals(task.getTaskId(), reTask.getTaskId());
|
||||
assertEquals(task.getDescription(), reTask.getDescription());
|
||||
assertEquals(task.getName(), reTask.getName());
|
||||
assertEquals(task.getWorkerId(), reTask.getWorkerId());
|
||||
|
||||
Task taskNew = databaseManager.getObject(1);
|
||||
|
||||
assertEquals(task.getTaskId(), taskNew.getTaskId());
|
||||
assertEquals(task.getName(), taskNew.getName());
|
||||
assertEquals(task.getDescription(), taskNew.getDescription());
|
||||
assertEquals(task.getWorkerId(), taskNew.getWorkerId());
|
||||
assertEquals(task.getTaskState(), taskNew.getTaskState());
|
||||
|
||||
databaseManager.close();
|
||||
assertEquals(1, databaseManager.getTotalNumberOfTasks());
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Assert that an inserted and deleted task is not there anymore")
|
||||
public void assertDeleteTest() throws SQLException {
|
||||
@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.connect();
|
||||
databaseManager.saveWorker(worker);
|
||||
|
||||
Task task = new Task(9, 1, "hi", "hi");
|
||||
Worker reWorker = databaseManager.getWorkerByWorkerId(worker.getId());
|
||||
|
||||
databaseManager.saveObject(task);
|
||||
assertNotNull(reWorker);
|
||||
|
||||
databaseManager.deleteObject(9);
|
||||
|
||||
databaseManager.getObject(9);
|
||||
|
||||
databaseManager.close();
|
||||
assertEquals(worker.getId(), reWorker.getId());
|
||||
assertEquals(worker.getName(), reWorker.getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Assert that a simple Task could be inserted into the database")
|
||||
public void assertInsertTask() throws SQLException {
|
||||
@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<Task> tasks = List.of(task1, task2, task3);
|
||||
|
||||
Task testTask = new Task(1, 1, "Hello World", "Description");
|
||||
Worker worker1 = new Worker("ABC", 2);
|
||||
Worker worker2 = new Worker("XYZ", 9);
|
||||
Collection<Worker> workers = List.of(worker1, worker2);
|
||||
|
||||
databaseManager.connect();
|
||||
databaseManager.saveObject(testTask);
|
||||
databaseManager.close();
|
||||
}
|
||||
databaseManager.saveTasks(tasks);
|
||||
databaseManager.saveWorkers(workers);
|
||||
|
||||
@Test
|
||||
@DisplayName("Assert that multiple Tasks could be inserted into the database")
|
||||
public void assertInsertMultipleTasks() throws SQLException {
|
||||
Thread.sleep(500);
|
||||
|
||||
Task testTaskZero = new Task(1, 1, "Hello", "Description");
|
||||
Task testTaskOne = new Task(2, 2, "World", "Description");
|
||||
Task testTaskTwo = new Task(3, 3, "Hello World", "Description");
|
||||
assertEquals(tasks.size(), databaseManager.getTotalNumberOfTasks());
|
||||
assertEquals(workers.size(), databaseManager.getTotalNumberOfWorkers());
|
||||
|
||||
Collection<Task> tasks = new ArrayList<>();
|
||||
tasks.add(testTaskZero);
|
||||
tasks.add(testTaskOne);
|
||||
tasks.add(testTaskTwo);
|
||||
databaseManager.clearDatabase();
|
||||
|
||||
databaseManager.connect();
|
||||
databaseManager.saveObjects(tasks);
|
||||
databaseManager.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Assert insert object and update it")
|
||||
public void assertInsertUpdateTask() throws SQLException {
|
||||
|
||||
int taskId = 1;
|
||||
|
||||
Task testTask = new Task(taskId, 1, "Hello World", "Description");
|
||||
Task newTask = new Task(taskId, 1, "No World", "Description");
|
||||
|
||||
databaseManager.connect();
|
||||
databaseManager.saveObject(testTask);
|
||||
newTask = databaseManager.updateObject(testTask.getTaskId(), newTask);
|
||||
|
||||
assertNotNull(testTask);
|
||||
|
||||
assertNotEquals(testTask.getDescription(), newTask.getDescription());
|
||||
assertEquals(testTask.getTaskId(), newTask.getTaskId());
|
||||
|
||||
databaseManager.close();
|
||||
assertEquals(0, databaseManager.getTotalNumberOfTasks());
|
||||
assertEquals(0, databaseManager.getTotalNumberOfWorkers());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user