@Test public void createIfNotExists() { RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry("", false); GTACourseNode node = new GTACourseNode(); Assert.assertNotNull(node.getIdent()); TaskList tasks = gtaManager.createIfNotExists(re, node); Assert.assertNotNull(tasks); dbInstance.commit(); // reload and check TaskList reloadedTasks = gtaManager.getTaskList(re, node); Assert.assertNotNull(reloadedTasks); Assert.assertEquals(tasks, reloadedTasks); Assert.assertTrue(reloadedTasks instanceof TaskListImpl); TaskListImpl tasksImpl = (TaskListImpl) reloadedTasks; Assert.assertNotNull(tasksImpl.getCreationDate()); Assert.assertNotNull(tasksImpl.getLastModified()); Assert.assertEquals(re, tasksImpl.getEntry()); Assert.assertEquals(node.getIdent(), tasksImpl.getCourseNodeIdent()); dbInstance.commit(); // check that a second call doesn't create a new task list TaskList secondTasks = gtaManager.createIfNotExists(re, node); Assert.assertNotNull(secondTasks); dbInstance.commit(); Assert.assertEquals(tasks, secondTasks); }