From fa5dc481557368d813e490033745f2ec4563acfb Mon Sep 17 00:00:00 2001 From: BVier <26220150+BVier@users.noreply.github.com> Date: Wed, 3 Jul 2019 11:18:49 +0200 Subject: [PATCH] TSK-860: Beautify the build log by correcting DB operations --- .../pro/taskana/configuration/DbSchemaCreator.java | 5 +++++ .../java/pro/taskana/impl/TaskanaEngineImpl.java | 4 ++-- .../src/test/java/acceptance/AbstractAccTest.java | 14 ++++++-------- .../acceptance/report/AbstractReportAccTest.java | 2 -- .../workbasket/DeleteWorkbasketAccTest.java | 5 +++-- .../TaskServiceImplIntAutocommitTest.java | 10 ---------- .../TaskServiceImplIntExplicitTest.java | 3 --- 7 files changed, 16 insertions(+), 27 deletions(-) diff --git a/lib/taskana-core/src/main/java/pro/taskana/configuration/DbSchemaCreator.java b/lib/taskana-core/src/main/java/pro/taskana/configuration/DbSchemaCreator.java index e28e695ec..d740e1690 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/configuration/DbSchemaCreator.java +++ b/lib/taskana-core/src/main/java/pro/taskana/configuration/DbSchemaCreator.java @@ -88,12 +88,17 @@ public class DbSchemaCreator { private boolean isSchemaPreexisting(Connection connection) { ScriptRunner runner = getScriptRunnerInstance(connection); + StringWriter errorWriter = new StringWriter(); + runner.setErrorLogWriter(new PrintWriter(errorWriter)); try { BufferedReader reader = new BufferedReader(new InputStreamReader(this.getClass() .getResourceAsStream(selectDbSchemaDetectionScript(connection.getMetaData().getDatabaseProductName())))); runner.runScript(getSqlSchemaNameParsed(reader)); } catch (Exception e) { LOGGER.debug("Schema does not exist."); + if (!errorWriter.toString().trim().isEmpty()) { + LOGGER.debug(errorWriter.toString()); + } return false; } LOGGER.debug("Schema does exist."); diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskanaEngineImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskanaEngineImpl.java index 269e7c5fa..692fb1727 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskanaEngineImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskanaEngineImpl.java @@ -303,10 +303,10 @@ public class TaskanaEngineImpl implements TaskanaEngine { @Override public void checkRoleMembership(TaskanaRole... roles) throws NotAuthorizedException { if (!isUserInRole(roles)) { - if (LOGGER.isErrorEnabled()) { + if (LOGGER.isDebugEnabled()) { String accessIds = LoggerUtils.listToString(CurrentUserContext.getAccessIds()); String rolesAsString = Arrays.toString(roles); - LOGGER.error("Throwing NotAuthorizedException because accessIds {} are not member of roles {}", + LOGGER.debug("Throwing NotAuthorizedException because accessIds {} are not member of roles {}", accessIds, rolesAsString); } diff --git a/lib/taskana-core/src/test/java/acceptance/AbstractAccTest.java b/lib/taskana-core/src/test/java/acceptance/AbstractAccTest.java index 983e8c7a5..b4c9f2ad8 100644 --- a/lib/taskana-core/src/test/java/acceptance/AbstractAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/AbstractAccTest.java @@ -33,19 +33,18 @@ public abstract class AbstractAccTest { protected static TaskanaEngineConfiguration taskanaEngineConfiguration; protected static TaskanaEngine taskanaEngine; + private static DBCleaner cleaner = new DBCleaner(); + protected static TestDataGenerator testDataGenerator = new TestDataGenerator(); @BeforeClass public static void setupTest() throws Exception { - resetDb(); + resetDb(false); } - public static void resetDb(boolean... dropTables) throws SQLException, IOException { + public static void resetDb(boolean dropTables) throws SQLException, IOException { DataSource dataSource = TaskanaEngineConfigurationTest.getDataSource(); - DBCleaner cleaner = new DBCleaner(); - if (dropTables == null || dropTables.length == 0) { - cleaner.clearDb(dataSource, true); - } else { - cleaner.clearDb(dataSource, dropTables[0]); + if (dropTables) { + cleaner.clearDb(dataSource, dropTables); } dataSource = TaskanaEngineConfigurationTest.getDataSource(); taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, @@ -53,7 +52,6 @@ public abstract class AbstractAccTest { taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine(); taskanaEngine.setConnectionManagementMode(ConnectionManagementMode.AUTOCOMMIT); cleaner.clearDb(dataSource, false); - TestDataGenerator testDataGenerator = new TestDataGenerator(); testDataGenerator.generateTestData(dataSource); } diff --git a/lib/taskana-core/src/test/java/acceptance/report/AbstractReportAccTest.java b/lib/taskana-core/src/test/java/acceptance/report/AbstractReportAccTest.java index 0e827dcb5..a527f607e 100644 --- a/lib/taskana-core/src/test/java/acceptance/report/AbstractReportAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/report/AbstractReportAccTest.java @@ -33,8 +33,6 @@ public class AbstractReportAccTest { private static void resetDb() throws SQLException, IOException { DataSource dataSource = TaskanaEngineConfigurationTest.getDataSource(); DBCleaner cleaner = new DBCleaner(); - cleaner.clearDb(dataSource, true); - dataSource = TaskanaEngineConfigurationTest.getDataSource(); taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, TaskanaEngineConfigurationTest.getSchemaName()); taskanaEngineConfiguration.setGermanPublicHolidaysEnabled(false); diff --git a/lib/taskana-core/src/test/java/acceptance/workbasket/DeleteWorkbasketAccTest.java b/lib/taskana-core/src/test/java/acceptance/workbasket/DeleteWorkbasketAccTest.java index cee0bcbdf..664fa7cf1 100644 --- a/lib/taskana-core/src/test/java/acceptance/workbasket/DeleteWorkbasketAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/workbasket/DeleteWorkbasketAccTest.java @@ -159,12 +159,13 @@ public class DeleteWorkbasketAccTest extends AbstractAccTest { workbasket.setOrgLevel1("company"); workbasket = workbasketService.createWorkbasket(workbasket); + boolean failed = false; try { workbasketService.deleteWorkbasket(workbasket.getId()); } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); + failed = true; } + assertTrue(failed); } @WithAccessId(userName = "teamlead_2", groupNames = {"businessadmin"}) diff --git a/lib/taskana-core/src/test/java/pro/taskana/impl/integration/TaskServiceImplIntAutocommitTest.java b/lib/taskana-core/src/test/java/pro/taskana/impl/integration/TaskServiceImplIntAutocommitTest.java index f99d18f30..2bf6328ce 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/impl/integration/TaskServiceImplIntAutocommitTest.java +++ b/lib/taskana-core/src/test/java/pro/taskana/impl/integration/TaskServiceImplIntAutocommitTest.java @@ -13,7 +13,6 @@ import javax.sql.DataSource; import org.junit.Assert; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; @@ -72,12 +71,6 @@ public class TaskServiceImplIntAutocommitTest { private ClassificationService classificationService; private WorkbasketService workbasketService; - @BeforeClass - public static void resetDb() { - DataSource ds = TaskanaEngineConfigurationTest.getDataSource(); - DBCleaner cleaner = new DBCleaner(); - cleaner.clearDb(ds, true); - } @Before public void setup() throws SQLException { @@ -113,7 +106,6 @@ public class TaskServiceImplIntAutocommitTest { task.setClassificationKey(classification.getKey()); task.setPrimaryObjRef(JunitHelper.createDefaultObjRef()); task = taskServiceImpl.createTask(task); - // skanaEngineImpl.getSqlSession().commit(); // needed so that the change is visible in the other session TaskanaEngine te2 = taskanaEngineConfiguration.buildTaskanaEngine(); TaskServiceImpl taskServiceImpl2 = (TaskServiceImpl) te2.getTaskService(); @@ -157,8 +149,6 @@ public class TaskServiceImplIntAutocommitTest { WorkbasketNotFoundException, ClassificationNotFoundException, ClassificationAlreadyExistException, TaskAlreadyExistException, InvalidWorkbasketException, InvalidArgumentException, WorkbasketAlreadyExistException, DomainNotFoundException { - DBCleaner cleaner = new DBCleaner(); - cleaner.clearDb(TaskanaEngineConfiguration.createDefaultDataSource(), false); TaskanaEngineConfiguration taskanaEngineConfiguration = new TaskanaEngineConfiguration(null, false, false, null); TaskanaEngine te = taskanaEngineConfiguration.buildTaskanaEngine(); diff --git a/lib/taskana-core/src/test/java/pro/taskana/impl/integration/TaskServiceImplIntExplicitTest.java b/lib/taskana-core/src/test/java/pro/taskana/impl/integration/TaskServiceImplIntExplicitTest.java index 0f6583fb8..7e32f488a 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/impl/integration/TaskServiceImplIntExplicitTest.java +++ b/lib/taskana-core/src/test/java/pro/taskana/impl/integration/TaskServiceImplIntExplicitTest.java @@ -98,7 +98,6 @@ public class TaskServiceImplIntExplicitTest { taskanaEngineImpl.setConnectionManagementMode(ConnectionManagementMode.EXPLICIT); workbasketService = taskanaEngine.getWorkbasketService(); cleaner = new DBCleaner(); - cleaner.clearDb(dataSource, true); DbSchemaCreator creator = new DbSchemaCreator(dataSource, dataSource.getConnection().getSchema()); creator.run(); } @@ -181,8 +180,6 @@ public class TaskServiceImplIntExplicitTest { TaskAlreadyExistException, InvalidWorkbasketException, InvalidArgumentException, WorkbasketAlreadyExistException, DomainNotFoundException { DataSource ds = TaskanaEngineConfiguration.createDefaultDataSource(); - DBCleaner cleaner = new DBCleaner(); - cleaner.clearDb(ds, false); TaskanaEngineConfiguration taskanaEngineConfiguration = new TaskanaEngineConfiguration(ds, false, false, null); TaskanaEngine te = taskanaEngineConfiguration.buildTaskanaEngine();