TSK-967: Refactor Taskana-Data module to use a SampleDataProvider

This commit is contained in:
Benjamin Eckstein 2019-12-09 11:18:01 +01:00 committed by Mustapha Zorgati
parent 91ccf57849
commit f8443897f6
21 changed files with 178 additions and 159 deletions

View File

@ -24,8 +24,8 @@ import pro.taskana.TimeInterval;
import pro.taskana.configuration.TaskanaEngineConfiguration; import pro.taskana.configuration.TaskanaEngineConfiguration;
import pro.taskana.database.TestDataGenerator; import pro.taskana.database.TestDataGenerator;
import pro.taskana.exceptions.ClassificationNotFoundException; import pro.taskana.exceptions.ClassificationNotFoundException;
import pro.taskana.sampledata.DBCleaner;
import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest; import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
import pro.taskana.sampledata.DBCleaner;
/** /**
* Base class for all acceptance tests. * Base class for all acceptance tests.
@ -34,7 +34,6 @@ public abstract class AbstractAccTest {
protected static TaskanaEngineConfiguration taskanaEngineConfiguration; protected static TaskanaEngineConfiguration taskanaEngineConfiguration;
protected static TaskanaEngine taskanaEngine; protected static TaskanaEngine taskanaEngine;
private static DBCleaner cleaner = new DBCleaner();
protected static TestDataGenerator testDataGenerator = new TestDataGenerator(); protected static TestDataGenerator testDataGenerator = new TestDataGenerator();
@BeforeAll @BeforeAll
@ -45,16 +44,18 @@ public abstract class AbstractAccTest {
public static void resetDb(boolean dropTables) throws SQLException, IOException { public static void resetDb(boolean dropTables) throws SQLException, IOException {
DataSource dataSource = TaskanaEngineConfigurationTest.getDataSource(); DataSource dataSource = TaskanaEngineConfigurationTest.getDataSource();
String schemaName = TaskanaEngineConfigurationTest.getSchemaName();
DBCleaner dbCleaner = new DBCleaner();
if (dropTables) { if (dropTables) {
cleaner.clearDb(dataSource, dropTables); dbCleaner.dropDb(dataSource, schemaName);
} }
dataSource = TaskanaEngineConfigurationTest.getDataSource(); dataSource = TaskanaEngineConfigurationTest.getDataSource();
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false,
TaskanaEngineConfigurationTest.getSchemaName()); schemaName);
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine(); taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
taskanaEngine.setConnectionManagementMode(ConnectionManagementMode.AUTOCOMMIT); taskanaEngine.setConnectionManagementMode(ConnectionManagementMode.AUTOCOMMIT);
cleaner.clearDb(dataSource, false); dbCleaner.clearDb(dataSource, schemaName);
testDataGenerator.generateTestData(dataSource); testDataGenerator.generateTestData(dataSource, schemaName);
} }
protected ObjectReference createObjectReference(String company, String system, String systemInstance, String type, protected ObjectReference createObjectReference(String company, String system, String systemInstance, String type,

View File

@ -147,7 +147,9 @@ public class UpdateClassificationAccTest extends AbstractAccTest {
equalTo("PROCESS")); equalTo("PROCESS"));
assertThat(classification.getCreated(), equalTo(createdBefore)); assertThat(classification.getCreated(), equalTo(createdBefore));
assertTrue(modifiedBefore.isBefore(classification.getModified())); //isBeforeOrEquals in case of too fast execution
assertTrue(modifiedBefore.isBefore(classification.getModified()) || modifiedBefore.equals(
classification.getModified()));
} }
@WithAccessId( @WithAccessId(

View File

@ -11,8 +11,8 @@ import org.junit.jupiter.api.BeforeAll;
import pro.taskana.TaskanaEngine; import pro.taskana.TaskanaEngine;
import pro.taskana.configuration.TaskanaEngineConfiguration; import pro.taskana.configuration.TaskanaEngineConfiguration;
import pro.taskana.database.TestDataGenerator; import pro.taskana.database.TestDataGenerator;
import pro.taskana.sampledata.DBCleaner;
import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest; import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
import pro.taskana.sampledata.DBCleaner;
/** /**
* Abstract test class for all report building tests. * Abstract test class for all report building tests.
@ -34,13 +34,14 @@ public class AbstractReportAccTest {
private static void resetDb() throws SQLException, IOException { private static void resetDb() throws SQLException, IOException {
DataSource dataSource = TaskanaEngineConfigurationTest.getDataSource(); DataSource dataSource = TaskanaEngineConfigurationTest.getDataSource();
String schemaName = TaskanaEngineConfigurationTest.getSchemaName();
DBCleaner cleaner = new DBCleaner(); DBCleaner cleaner = new DBCleaner();
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false,
TaskanaEngineConfigurationTest.getSchemaName()); schemaName);
taskanaEngineConfiguration.setGermanPublicHolidaysEnabled(false); taskanaEngineConfiguration.setGermanPublicHolidaysEnabled(false);
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine(); taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
taskanaEngine.setConnectionManagementMode(TaskanaEngine.ConnectionManagementMode.AUTOCOMMIT); taskanaEngine.setConnectionManagementMode(TaskanaEngine.ConnectionManagementMode.AUTOCOMMIT);
cleaner.clearDb(dataSource, false); cleaner.clearDb(dataSource, schemaName);
TestDataGenerator testDataGenerator = new TestDataGenerator(); TestDataGenerator testDataGenerator = new TestDataGenerator();
testDataGenerator.generateMonitoringTestData(dataSource); testDataGenerator.generateMonitoringTestData(dataSource);
} }

View File

@ -23,7 +23,6 @@ import org.apache.ibatis.jdbc.ScriptRunner;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import pro.taskana.configuration.DbSchemaCreator;
import pro.taskana.impl.TaskanaEngineImpl; import pro.taskana.impl.TaskanaEngineImpl;
/** /**
@ -31,7 +30,7 @@ import pro.taskana.impl.TaskanaEngineImpl;
*/ */
public class TestDataGenerator { public class TestDataGenerator {
private static final Logger LOGGER = LoggerFactory.getLogger(DbSchemaCreator.class); private static final Logger LOGGER = LoggerFactory.getLogger(TestDataGenerator.class);
private static final String SQL = "/sql"; private static final String SQL = "/sql";
private static final String TASK = SQL + "/task.sql"; private static final String TASK = SQL + "/task.sql";
private static final String WORKBASKET = SQL + "/workbasket.sql"; private static final String WORKBASKET = SQL + "/workbasket.sql";
@ -54,11 +53,12 @@ public class TestDataGenerator {
this.errorLogWriter = new PrintWriter(this.errorWriter); this.errorLogWriter = new PrintWriter(this.errorWriter);
} }
public void generateTestData(DataSource dataSource) throws SQLException, IOException { public void generateTestData(DataSource dataSource, String schema) throws SQLException, IOException {
ScriptRunner runner = null; ScriptRunner runner = null;
try { try {
Connection connection = dataSource.getConnection(); Connection connection = dataSource.getConnection();
LOGGER.debug(connection.getMetaData().toString()); LOGGER.debug(connection.getMetaData().toString());
connection.setSchema(schema);
runner = new ScriptRunner(connection); runner = new ScriptRunner(connection);
runner.setStopOnError(true); runner.setStopOnError(true);
runner.setLogWriter(this.logWriter); runner.setLogWriter(this.logWriter);

View File

@ -31,8 +31,8 @@ import pro.taskana.exceptions.DomainNotFoundException;
import pro.taskana.exceptions.InvalidArgumentException; import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.exceptions.NotAuthorizedException; import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.impl.TaskanaEngineImpl; import pro.taskana.impl.TaskanaEngineImpl;
import pro.taskana.sampledata.DBCleaner;
import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest; import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
import pro.taskana.sampledata.DBCleaner;
/** /**
* Integration Test for ClassificationServiceImpl with connection management mode AUTOCOMMIT. * Integration Test for ClassificationServiceImpl with connection management mode AUTOCOMMIT.
@ -49,23 +49,25 @@ public class ClassificationServiceImplIntAutoCommitTest {
private TaskanaEngineImpl taskanaEngineImpl; private TaskanaEngineImpl taskanaEngineImpl;
@BeforeClass @BeforeClass
public static void resetDb() { public static void resetDb() throws SQLException {
DataSource ds = TaskanaEngineConfigurationTest.getDataSource(); DataSource ds = TaskanaEngineConfigurationTest.getDataSource();
DBCleaner cleaner = new DBCleaner(); DBCleaner cleaner = new DBCleaner();
cleaner.clearDb(ds, true); String schemaName = TaskanaEngineConfigurationTest.getSchemaName();
cleaner.dropDb(ds, schemaName);
} }
@Before @Before
public void setup() throws SQLException { public void setup() throws SQLException {
dataSource = TaskanaEngineConfigurationTest.getDataSource(); dataSource = TaskanaEngineConfigurationTest.getDataSource();
String schemaName = TaskanaEngineConfigurationTest.getSchemaName();
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, false, taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, false,
TaskanaEngineConfigurationTest.getSchemaName()); schemaName);
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine(); taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
classificationService = taskanaEngine.getClassificationService(); classificationService = taskanaEngine.getClassificationService();
taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine; taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
taskanaEngineImpl.setConnectionManagementMode(ConnectionManagementMode.AUTOCOMMIT); taskanaEngineImpl.setConnectionManagementMode(ConnectionManagementMode.AUTOCOMMIT);
DBCleaner cleaner = new DBCleaner(); DBCleaner cleaner = new DBCleaner();
cleaner.clearDb(dataSource, false); cleaner.clearDb(dataSource, schemaName);
} }
@Test @Test

View File

@ -38,8 +38,8 @@ import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.exceptions.NotAuthorizedException; import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.impl.ClassificationImpl; import pro.taskana.impl.ClassificationImpl;
import pro.taskana.impl.TaskanaEngineImpl; import pro.taskana.impl.TaskanaEngineImpl;
import pro.taskana.sampledata.DBCleaner;
import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest; import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
import pro.taskana.sampledata.DBCleaner;
/** /**
* Integration Test for ClassificationServiceImpl with connection management mode EXPLICIT. * Integration Test for ClassificationServiceImpl with connection management mode EXPLICIT.
@ -58,23 +58,25 @@ public class ClassificationServiceImplIntExplicitTest {
private TaskanaEngineImpl taskanaEngineImpl; private TaskanaEngineImpl taskanaEngineImpl;
@BeforeClass @BeforeClass
public static void resetDb() { public static void resetDb() throws SQLException {
DataSource ds = TaskanaEngineConfigurationTest.getDataSource(); DataSource ds = TaskanaEngineConfigurationTest.getDataSource();
DBCleaner cleaner = new DBCleaner(); DBCleaner cleaner = new DBCleaner();
cleaner.clearDb(ds, true); String schemaName = TaskanaEngineConfigurationTest.getSchemaName();
cleaner.dropDb(ds, schemaName);
} }
@Before @Before
public void setup() throws SQLException { public void setup() throws SQLException {
dataSource = TaskanaEngineConfigurationTest.getDataSource(); dataSource = TaskanaEngineConfigurationTest.getDataSource();
String schemaName = TaskanaEngineConfigurationTest.getSchemaName();
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, false, taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, false,
TaskanaEngineConfigurationTest.getSchemaName()); schemaName);
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine(); taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
classificationService = taskanaEngine.getClassificationService(); classificationService = taskanaEngine.getClassificationService();
taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine; taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
taskanaEngineImpl.setConnectionManagementMode(ConnectionManagementMode.EXPLICIT); taskanaEngineImpl.setConnectionManagementMode(ConnectionManagementMode.EXPLICIT);
DBCleaner cleaner = new DBCleaner(); DBCleaner cleaner = new DBCleaner();
cleaner.clearDb(dataSource, false); cleaner.clearDb(dataSource, schemaName);
} }
@Test @Test

View File

@ -48,9 +48,9 @@ import pro.taskana.impl.TaskImpl;
import pro.taskana.impl.TaskServiceImpl; import pro.taskana.impl.TaskServiceImpl;
import pro.taskana.impl.TaskanaEngineImpl; import pro.taskana.impl.TaskanaEngineImpl;
import pro.taskana.impl.WorkbasketImpl; import pro.taskana.impl.WorkbasketImpl;
import pro.taskana.sampledata.DBCleaner;
import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest; import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
import pro.taskana.impl.util.IdGenerator; import pro.taskana.impl.util.IdGenerator;
import pro.taskana.sampledata.DBCleaner;
import pro.taskana.security.CurrentUserContext; import pro.taskana.security.CurrentUserContext;
import pro.taskana.security.JAASExtension; import pro.taskana.security.JAASExtension;
import pro.taskana.security.WithAccessId; import pro.taskana.security.WithAccessId;
@ -80,8 +80,9 @@ class TaskServiceImplIntAutocommitTest {
@BeforeEach @BeforeEach
void setup() throws SQLException { void setup() throws SQLException {
dataSource = TaskanaEngineConfigurationTest.getDataSource(); dataSource = TaskanaEngineConfigurationTest.getDataSource();
String schemaName = TaskanaEngineConfigurationTest.getSchemaName();
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, false, taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, false,
TaskanaEngineConfigurationTest.getSchemaName()); schemaName);
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine(); taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine; taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
@ -90,7 +91,7 @@ class TaskServiceImplIntAutocommitTest {
classificationService = taskanaEngine.getClassificationService(); classificationService = taskanaEngine.getClassificationService();
workbasketService = taskanaEngine.getWorkbasketService(); workbasketService = taskanaEngine.getWorkbasketService();
DBCleaner cleaner = new DBCleaner(); DBCleaner cleaner = new DBCleaner();
cleaner.clearDb(dataSource, false); cleaner.clearDb(dataSource, schemaName);
} }
@Test @Test

View File

@ -54,9 +54,9 @@ import pro.taskana.impl.TaskServiceImpl;
import pro.taskana.impl.TaskanaEngineImpl; import pro.taskana.impl.TaskanaEngineImpl;
import pro.taskana.impl.WorkbasketImpl; import pro.taskana.impl.WorkbasketImpl;
import pro.taskana.impl.WorkbasketSummaryImpl; import pro.taskana.impl.WorkbasketSummaryImpl;
import pro.taskana.sampledata.DBCleaner;
import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest; import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
import pro.taskana.impl.util.IdGenerator; import pro.taskana.impl.util.IdGenerator;
import pro.taskana.sampledata.DBCleaner;
import pro.taskana.security.CurrentUserContext; import pro.taskana.security.CurrentUserContext;
import pro.taskana.security.JAASExtension; import pro.taskana.security.JAASExtension;
import pro.taskana.security.WithAccessId; import pro.taskana.security.WithAccessId;
@ -107,8 +107,9 @@ class TaskServiceImplIntExplicitTest {
} }
@BeforeEach @BeforeEach
void resetDb() { void resetDb() throws SQLException {
cleaner.clearDb(dataSource, false); String schemaName = TaskanaEngineConfigurationTest.getSchemaName();
cleaner.clearDb(dataSource, schemaName);
} }
@WithAccessId(userName = "Elena", groupNames = {"businessadmin"}) @WithAccessId(userName = "Elena", groupNames = {"businessadmin"})

View File

@ -37,10 +37,10 @@ import pro.taskana.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.exceptions.WorkbasketNotFoundException; import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.impl.TaskanaEngineProxyForTest; import pro.taskana.impl.TaskanaEngineProxyForTest;
import pro.taskana.impl.WorkbasketImpl; import pro.taskana.impl.WorkbasketImpl;
import pro.taskana.sampledata.DBCleaner;
import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest; import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
import pro.taskana.impl.util.IdGenerator; import pro.taskana.impl.util.IdGenerator;
import pro.taskana.mappings.WorkbasketMapper; import pro.taskana.mappings.WorkbasketMapper;
import pro.taskana.sampledata.DBCleaner;
import pro.taskana.security.JAASRunner; import pro.taskana.security.JAASRunner;
import pro.taskana.security.WithAccessId; import pro.taskana.security.WithAccessId;
@ -60,22 +60,24 @@ public class WorkbasketServiceImplIntAutocommitTest {
private Instant now; private Instant now;
@BeforeClass @BeforeClass
public static void resetDb() { public static void resetDb() throws SQLException {
DataSource ds = TaskanaEngineConfigurationTest.getDataSource(); DataSource ds = TaskanaEngineConfigurationTest.getDataSource();
DBCleaner cleaner = new DBCleaner(); DBCleaner cleaner = new DBCleaner();
cleaner.clearDb(ds, true); String schemaName = TaskanaEngineConfigurationTest.getSchemaName();
cleaner.dropDb(ds, schemaName);
} }
@Before @Before
public void setup() throws SQLException { public void setup() throws SQLException {
dataSource = TaskanaEngineConfigurationTest.getDataSource(); dataSource = TaskanaEngineConfigurationTest.getDataSource();
String schemaName = TaskanaEngineConfigurationTest.getSchemaName();
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false,
TaskanaEngineConfigurationTest.getSchemaName()); schemaName);
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine(); taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
taskanaEngine.setConnectionManagementMode(ConnectionManagementMode.AUTOCOMMIT); taskanaEngine.setConnectionManagementMode(ConnectionManagementMode.AUTOCOMMIT);
workBasketService = taskanaEngine.getWorkbasketService(); workBasketService = taskanaEngine.getWorkbasketService();
DBCleaner cleaner = new DBCleaner(); DBCleaner cleaner = new DBCleaner();
cleaner.clearDb(dataSource, false); cleaner.clearDb(dataSource, schemaName);
now = Instant.now(); now = Instant.now();
} }

View File

@ -31,9 +31,9 @@ import pro.taskana.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.exceptions.WorkbasketNotFoundException; import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.impl.TaskanaEngineImpl; import pro.taskana.impl.TaskanaEngineImpl;
import pro.taskana.impl.WorkbasketImpl; import pro.taskana.impl.WorkbasketImpl;
import pro.taskana.sampledata.DBCleaner;
import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest; import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
import pro.taskana.impl.util.IdGenerator; import pro.taskana.impl.util.IdGenerator;
import pro.taskana.sampledata.DBCleaner;
import pro.taskana.security.JAASRunner; import pro.taskana.security.JAASRunner;
import pro.taskana.security.WithAccessId; import pro.taskana.security.WithAccessId;
@ -54,22 +54,24 @@ public class WorkbasketServiceImplIntExplicitTest {
private WorkbasketService workBasketService; private WorkbasketService workBasketService;
@BeforeClass @BeforeClass
public static void resetDb() { public static void resetDb() throws SQLException {
DataSource ds = TaskanaEngineConfigurationTest.getDataSource(); DataSource ds = TaskanaEngineConfigurationTest.getDataSource();
DBCleaner cleaner = new DBCleaner(); DBCleaner cleaner = new DBCleaner();
cleaner.clearDb(ds, true); String schemaName = TaskanaEngineConfigurationTest.getSchemaName();
cleaner.dropDb(ds, schemaName);
} }
@Before @Before
public void setup() throws SQLException { public void setup() throws SQLException {
dataSource = TaskanaEngineConfigurationTest.getDataSource(); dataSource = TaskanaEngineConfigurationTest.getDataSource();
String schemaName = TaskanaEngineConfigurationTest.getSchemaName();
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false,
TaskanaEngineConfigurationTest.getSchemaName()); schemaName);
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine(); taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine; taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
taskanaEngineImpl.setConnectionManagementMode(ConnectionManagementMode.EXPLICIT); taskanaEngineImpl.setConnectionManagementMode(ConnectionManagementMode.EXPLICIT);
DBCleaner cleaner = new DBCleaner(); DBCleaner cleaner = new DBCleaner();
cleaner.clearDb(dataSource, false); cleaner.clearDb(dataSource, schemaName);
} }
@WithAccessId(userName = "Elena", groupNames = {"businessadmin"}) @WithAccessId(userName = "Elena", groupNames = {"businessadmin"})

View File

@ -16,7 +16,7 @@ class SampleDataGeneratorTest {
PooledDataSource pooledDataSource = new PooledDataSource("org.h2.Driver", PooledDataSource pooledDataSource = new PooledDataSource("org.h2.Driver",
"jdbc:h2:mem:taskana;IGNORECASE=TRUE;LOCK_MODE=0;INIT=CREATE SCHEMA IF NOT EXISTS TASKANA", "sa", "sa"); "jdbc:h2:mem:taskana;IGNORECASE=TRUE;LOCK_MODE=0;INIT=CREATE SCHEMA IF NOT EXISTS TASKANA", "sa", "sa");
Assertions.assertDoesNotThrow(() -> new DbSchemaCreator(pooledDataSource, "TASKANA").run()); Assertions.assertDoesNotThrow(() -> new DbSchemaCreator(pooledDataSource, "TASKANA").run());
Assertions.assertDoesNotThrow(() -> new SampleDataGenerator(pooledDataSource).generateSampleData("TASKANA")); Assertions.assertDoesNotThrow(() -> new SampleDataGenerator(pooledDataSource, "TASKANA").generateSampleData());
pooledDataSource.forceCloseAll(); pooledDataSource.forceCloseAll();
} }

View File

@ -1,59 +1,22 @@
package pro.taskana.sampledata; package pro.taskana.sampledata;
import java.io.InputStreamReader; import java.sql.SQLException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.sql.Connection;
import javax.sql.DataSource; import javax.sql.DataSource;
import org.apache.ibatis.jdbc.ScriptRunner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* This class cleans the complete database. Only to be used in Unittest * This class cleans the complete database.
*/ */
public class DBCleaner { public class DBCleaner {
private static final Logger LOGGER = LoggerFactory.getLogger(DBCleaner.class); public void clearDb(DataSource dataSource, String schema) throws SQLException {
private static final String DB_CLEAR_SCRIPT = "/sql/clear/clear-db.sql"; SampleDataGenerator sampleDataGenerator = new SampleDataGenerator(dataSource, schema);
private static final String DB_DROP_TABLES_SCRIPT = "/sql/clear/drop-tables.sql"; sampleDataGenerator.runScripts(sampleDataGenerator::clearDb);
}
private StringWriter outWriter = new StringWriter(); public void dropDb(DataSource dataSource, String schema) throws SQLException {
private PrintWriter logWriter = new PrintWriter(outWriter); SampleDataGenerator sampleDataGenerator = new SampleDataGenerator(dataSource, schema);
private StringWriter errorWriter = new StringWriter(); sampleDataGenerator.runScripts(sampleDataGenerator::dropDb);
private PrintWriter errorLogWriter = new PrintWriter(errorWriter);
/**
* Clears the db.
*
* @param dataSource the datasource
* @param dropTables
* if true drop tables, else clean tables
*/
public void clearDb(DataSource dataSource, boolean dropTables) {
try (Connection connection = dataSource.getConnection()) {
ScriptRunner runner = new ScriptRunner(connection);
LOGGER.debug(connection.getMetaData().toString());
runner.setStopOnError(false);
runner.setLogWriter(logWriter);
runner.setErrorLogWriter(errorLogWriter);
if (dropTables) {
runner.runScript(new InputStreamReader(this.getClass().getResourceAsStream(DB_DROP_TABLES_SCRIPT)));
} else {
runner.runScript(new InputStreamReader(this.getClass().getResourceAsStream(DB_CLEAR_SCRIPT)));
}
} catch (Exception e) {
LOGGER.error("caught Exception " + e);
}
LOGGER.debug(outWriter.toString());
String errorMsg = errorWriter.toString().trim();
if (!errorMsg.isEmpty() && !errorMsg.contains("SQLCODE=-204, SQLSTATE=42704")) {
LOGGER.error(errorWriter.toString());
}
} }
} }

View File

@ -11,6 +11,7 @@ import java.sql.SQLException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Optional; import java.util.Optional;
import java.util.function.Consumer;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -29,18 +30,8 @@ public class SampleDataGenerator {
private static final Logger LOGGER = LoggerFactory.getLogger(SampleDataGenerator.class); private static final Logger LOGGER = LoggerFactory.getLogger(SampleDataGenerator.class);
private static final String CLEAR = "/sql/clear/clear-db.sql"; private static final String DB_CLEAR_TABLES_SCRIPT = "/sql/clear/clear-db.sql";
private static final String CLEAR_HISTORY_EVENTS = "/sql/clear/clear-history-events.sql"; private static final String DB_DROP_TABLES_SCRIPT = "/sql/clear/drop-tables.sql";
private static final String TASK = "/sql/sample-data/task.sql";
private static final String WORKBASKET = "/sql/sample-data/workbasket.sql";
private static final String DISTRIBUTION_TARGETS = "/sql/sample-data/distribution-targets.sql";
private static final String WORKBASKET_ACCESS_LIST = "/sql/sample-data/workbasket-access-list.sql";
private static final String CLASSIFICATION = "/sql/sample-data/classification.sql";
private static final String OBJECT_REFERENCE = "/sql/sample-data/object-reference.sql";
private static final String ATTACHMENT = "/sql/sample-data/attachment.sql";
private static final String HISTORY_EVENT = "/sql/sample-data/history-event.sql";
private static final String CHECK_HISTORY_EVENT_EXIST = "/sql/sample-data/check-history-event-exist.sql";
static final String RELATIVE_DATE_REGEX = "RELATIVE_DATE\\((-?\\d+)\\)"; static final String RELATIVE_DATE_REGEX = "RELATIVE_DATE\\((-?\\d+)\\)";
static final Pattern RELATIVE_DATE_PATTERN = Pattern.compile(RELATIVE_DATE_REGEX); static final Pattern RELATIVE_DATE_PATTERN = Pattern.compile(RELATIVE_DATE_REGEX);
@ -49,16 +40,23 @@ public class SampleDataGenerator {
private final DataSource dataSource; private final DataSource dataSource;
private final LocalDateTime now; private final LocalDateTime now;
public SampleDataGenerator(DataSource dataSource) { /**
this(dataSource, LocalDateTime.now()); * This value cannot be automatically obtained by connection.getSchema(),
* because setting not yet existing schema will result into an SQL Exception.
*/
private final String schema;
public SampleDataGenerator(DataSource dataSource, String schema) {
this(dataSource, schema, LocalDateTime.now());
} }
public SampleDataGenerator(DataSource dataSource, LocalDateTime now) { public SampleDataGenerator(DataSource dataSource, String schema, LocalDateTime now) {
this.dataSource = dataSource; this.dataSource = dataSource;
this.schema = schema;
this.now = now; this.now = now;
} }
public void generateSampleData(String schemaName) throws SQLException { public void runScripts(Consumer<ScriptRunner> consumer) throws SQLException {
try (Connection connection = dataSource.getConnection()) { try (Connection connection = dataSource.getConnection()) {
if (LOGGER.isTraceEnabled()) { if (LOGGER.isTraceEnabled()) {
@ -68,18 +66,8 @@ public class SampleDataGenerator {
StringWriter outWriter = new StringWriter(); StringWriter outWriter = new StringWriter();
StringWriter errorWriter = new StringWriter(); StringWriter errorWriter = new StringWriter();
ScriptRunner runner = getScriptRunner(schemaName, connection, outWriter, errorWriter); ScriptRunner runner = getScriptRunner(connection, outWriter, errorWriter);
consumer.accept(runner);
Stream<String> scriptsList = getDefaultScripts();
try {
runner.runScript(getScriptBufferedStream(CHECK_HISTORY_EVENT_EXIST));
runner.runScript(getScriptBufferedStream(CLEAR_HISTORY_EVENTS));
scriptsList = Stream.concat(scriptsList, Stream.of(HISTORY_EVENT));
} catch (Exception e) {
LOGGER.error("The HISTORY_EVENTS table is not created");
}
executeScripts(runner, scriptsList);
runner.closeConnection(); runner.closeConnection();
if (LOGGER.isTraceEnabled()) { if (LOGGER.isTraceEnabled()) {
@ -92,6 +80,13 @@ public class SampleDataGenerator {
} }
} }
public void generateSampleData() throws SQLException {
runScripts((runner) -> {
clearDb(runner);
executeScripts(runner, SampleDataProvider.getDataProvider(runner));
});
}
private void executeScripts(ScriptRunner runner, Stream<String> scriptsList) { private void executeScripts(ScriptRunner runner, Stream<String> scriptsList) {
scriptsList scriptsList
.map(s -> SampleDataGenerator.parseAndReplace(now, s)) .map(s -> SampleDataGenerator.parseAndReplace(now, s))
@ -100,20 +95,28 @@ public class SampleDataGenerator {
.forEachOrdered(runner::runScript); .forEachOrdered(runner::runScript);
} }
private ScriptRunner getScriptRunner(String schemaName, Connection connection, StringWriter outWriter, public void clearDb(ScriptRunner runner) {
runner.setStopOnError(false);
runner.runScript(getScriptBufferedStream(DB_CLEAR_TABLES_SCRIPT));
runner.setStopOnError(true);
}
public void dropDb(ScriptRunner runner) {
runner.setStopOnError(false);
runner.runScript(getScriptBufferedStream(DB_DROP_TABLES_SCRIPT));
runner.setStopOnError(true);
}
ScriptRunner getScriptRunner(Connection connection, StringWriter outWriter,
StringWriter errorWriter) throws SQLException { StringWriter errorWriter) throws SQLException {
PrintWriter logWriter = new PrintWriter(outWriter); PrintWriter logWriter = new PrintWriter(outWriter);
PrintWriter errorLogWriter = new PrintWriter(errorWriter); PrintWriter errorLogWriter = new PrintWriter(errorWriter);
ScriptRunner runner = new ScriptRunner(connection); ScriptRunner runner = new ScriptRunner(connection);
connection.setSchema(schema);
String databaseProductName = connection.getMetaData().getDatabaseProductName(); String databaseProductName = connection.getMetaData().getDatabaseProductName();
runner.runScript(selectSchemaScript(databaseProductName, schemaName));
runner.setStopOnError(false);
runner.runScript(getScriptBufferedStream(CLEAR));
runner.setStopOnError(true);
runner.setLogWriter(logWriter); runner.setLogWriter(logWriter);
runner.setErrorLogWriter(errorLogWriter); runner.setErrorLogWriter(errorLogWriter);
return runner; return runner;
@ -149,12 +152,6 @@ public class SampleDataGenerator {
return "'" + now.plusDays(days).format(DATE_TIME_FORMATTER) + "'"; return "'" + now.plusDays(days).format(DATE_TIME_FORMATTER) + "'";
} }
private StringReader selectSchemaScript(String dbProductName, String schemaName) {
return new StringReader(isPostgreSQL(dbProductName)
? "SET search_path TO " + schemaName + ";"
: "SET SCHEMA " + schemaName + ";");
}
private static String parseAndReplace(LocalDateTime now, String script) { private static String parseAndReplace(LocalDateTime now, String script) {
return replaceDatePlaceholder(now, return replaceDatePlaceholder(now,
getScriptBufferedStream(script).lines().collect(Collectors.joining(System.lineSeparator()))); getScriptBufferedStream(script).lines().collect(Collectors.joining(System.lineSeparator())));
@ -166,11 +163,6 @@ public class SampleDataGenerator {
new InputStreamReader(inputStream, StandardCharsets.UTF_8))).orElse(null); new InputStreamReader(inputStream, StandardCharsets.UTF_8))).orElse(null);
} }
static Stream<String> getDefaultScripts() {
return Stream.of(WORKBASKET, DISTRIBUTION_TARGETS, CLASSIFICATION, TASK, ATTACHMENT, WORKBASKET_ACCESS_LIST,
OBJECT_REFERENCE);
}
private static boolean isPostgreSQL(String databaseProductName) { private static boolean isPostgreSQL(String databaseProductName) {
return "PostgreSQL".equals(databaseProductName); return "PostgreSQL".equals(databaseProductName);
} }

View File

@ -0,0 +1,47 @@
package pro.taskana.sampledata;
import java.util.stream.Stream;
import org.apache.ibatis.jdbc.ScriptRunner;
/**
* Provides a sample data set.
*/
public final class SampleDataProvider {
private static final String CLEAR_HISTORY_EVENTS = "/sql/clear/clear-history-events.sql";
private static final String HISTORY_EVENT = "/sql/sample-data/history-event.sql";
private static final String CHECK_HISTORY_EVENT_EXIST = "/sql/sample-data/check-history-event-exist.sql";
private static final String TASK = "/sql/sample-data/task.sql";
private static final String WORKBASKET = "/sql/sample-data/workbasket.sql";
private static final String DISTRIBUTION_TARGETS = "/sql/sample-data/distribution-targets.sql";
private static final String WORKBASKET_ACCESS_LIST = "/sql/sample-data/workbasket-access-list.sql";
private static final String CLASSIFICATION = "/sql/sample-data/classification.sql";
private static final String OBJECT_REFERENCE = "/sql/sample-data/object-reference.sql";
private static final String ATTACHMENT = "/sql/sample-data/attachment.sql";
private SampleDataProvider() {
}
static Stream<String> getScripts() {
return Stream.of(
WORKBASKET, DISTRIBUTION_TARGETS, CLASSIFICATION, TASK, ATTACHMENT, WORKBASKET_ACCESS_LIST,
OBJECT_REFERENCE);
}
static Stream<String> getScriptsWithEvents() {
return Stream.concat(getScripts(), Stream.of(CLEAR_HISTORY_EVENTS, HISTORY_EVENT));
}
public static Stream<String> getDataProvider(ScriptRunner runner) {
try {
//TODO find a better method of testing if a table exists
runner.runScript(SampleDataGenerator.getScriptBufferedStream(CHECK_HISTORY_EVENT_EXIST));
return SampleDataProvider.getScriptsWithEvents();
} catch (Exception e) {
return SampleDataProvider.getScripts();
}
}
}

View File

@ -1,6 +1,8 @@
package pro.taskana.sampledata; package pro.taskana.sampledata;
import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.MatcherAssert.assertThat;
import static pro.taskana.sampledata.SampleDataGenerator.DATE_TIME_FORMATTER;
import static pro.taskana.sampledata.SampleDataGenerator.RELATIVE_DATE_PATTERN;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@ -16,17 +18,19 @@ class SampleDataGeneratorTest {
@Test @Test
void getScriptsNotNull() { void getScriptsNotNull() {
Assertions.assertNotNull(SampleDataGenerator.getDefaultScripts()); Assertions.assertNotNull(SampleDataProvider.getScripts());
Assertions.assertNotNull(SampleDataProvider.getScriptsWithEvents());
} }
@Test @Test
void getScriptsNotEmpty() { void getScriptsNotEmpty() {
Assertions.assertTrue(SampleDataGenerator.getDefaultScripts().count() > 0); Assertions.assertTrue(SampleDataProvider.getScripts().count() > 0);
Assertions.assertTrue(SampleDataProvider.getScriptsWithEvents().count() > 0);
} }
@Test @Test
void getScriptsFileExists() { void getScriptsFileExists() {
SampleDataGenerator.getDefaultScripts() SampleDataProvider.getScripts()
.map(SampleDataGenerator::getScriptBufferedStream) .map(SampleDataGenerator::getScriptBufferedStream)
.forEach(Assertions::assertNotNull); .forEach(Assertions::assertNotNull);
} }
@ -34,7 +38,7 @@ class SampleDataGeneratorTest {
@Test @Test
void replaceRelativeTimeFunctionSameDate() { void replaceRelativeTimeFunctionSameDate() {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
String dateFormatted = now.format(SampleDataGenerator.DATE_TIME_FORMATTER); String dateFormatted = now.format(DATE_TIME_FORMATTER);
String sqlStringReplaced = SampleDataGenerator.replaceDatePlaceholder(now, String sqlStringReplaced = SampleDataGenerator.replaceDatePlaceholder(now,
"... RELATIVE_DATE(0) ..."); "... RELATIVE_DATE(0) ...");
assertThat(sqlStringReplaced, CoreMatchers.containsString(dateFormatted)); assertThat(sqlStringReplaced, CoreMatchers.containsString(dateFormatted));
@ -43,22 +47,21 @@ class SampleDataGeneratorTest {
@Test @Test
void testDateRegex() { void testDateRegex() {
Assertions.assertTrue(SampleDataGenerator.RELATIVE_DATE_PATTERN.matcher("RELATIVE_DATE(123)").matches()); Assertions.assertTrue(RELATIVE_DATE_PATTERN.matcher("RELATIVE_DATE(123)").matches());
Assertions.assertTrue(SampleDataGenerator.RELATIVE_DATE_PATTERN.matcher("... RELATIVE_DATE(5) ...").find()); Assertions.assertTrue(RELATIVE_DATE_PATTERN.matcher("... RELATIVE_DATE(5) ...").find());
Assertions.assertTrue(SampleDataGenerator.RELATIVE_DATE_PATTERN.matcher("... RELATIVE_DATE(0) ...").find()); Assertions.assertTrue(RELATIVE_DATE_PATTERN.matcher("... RELATIVE_DATE(0) ...").find());
Assertions.assertTrue(SampleDataGenerator.RELATIVE_DATE_PATTERN.matcher("... RELATIVE_DATE(-123) ...").find()); Assertions.assertTrue(RELATIVE_DATE_PATTERN.matcher("... RELATIVE_DATE(-123) ...").find());
Assertions.assertFalse(SampleDataGenerator.RELATIVE_DATE_PATTERN.matcher("... RELATIVE_DATE() ...").find()); Assertions.assertFalse(RELATIVE_DATE_PATTERN.matcher("... RELATIVE_DATE() ...").find());
Assertions.assertFalse( Assertions.assertFalse(RELATIVE_DATE_PATTERN.matcher("... RELATIVE_DATE(ABCDE) ...").find());
SampleDataGenerator.RELATIVE_DATE_PATTERN.matcher("... RELATIVE_DATE(ABCDE) ...").find()); Assertions.assertFalse(RELATIVE_DATE_PATTERN.matcher("... RELATIVE_NO(5) ...").find());
Assertions.assertFalse(SampleDataGenerator.RELATIVE_DATE_PATTERN.matcher("... RELATIVE_NO(5) ...").find()); Assertions.assertFalse(RELATIVE_DATE_PATTERN.matcher("...").find());
Assertions.assertFalse(SampleDataGenerator.RELATIVE_DATE_PATTERN.matcher("...").find());
} }
@Test @Test
void testDateRegexExtractGroup() { void testDateRegexExtractGroup() {
Matcher matcher = SampleDataGenerator.RELATIVE_DATE_PATTERN.matcher("RELATIVE_DATE(123)"); Matcher matcher = RELATIVE_DATE_PATTERN.matcher("RELATIVE_DATE(123)");
Assertions.assertTrue(matcher.find()); Assertions.assertTrue(matcher.find());
Assertions.assertEquals("123", matcher.group(1)); Assertions.assertEquals("123", matcher.group(1));
} }
@ -66,7 +69,7 @@ class SampleDataGeneratorTest {
@Test @Test
void replaceRelativeTimeFunctionPosDate() { void replaceRelativeTimeFunctionPosDate() {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
String dateFormatted = now.plusDays(5).format(SampleDataGenerator.DATE_TIME_FORMATTER); String dateFormatted = now.plusDays(5).format(DATE_TIME_FORMATTER);
String sqlStringReplaced = SampleDataGenerator.replaceDatePlaceholder(now, String sqlStringReplaced = SampleDataGenerator.replaceDatePlaceholder(now,
"... RELATIVE_DATE(5) ..."); "... RELATIVE_DATE(5) ...");
assertThat(sqlStringReplaced, CoreMatchers.containsString(dateFormatted)); assertThat(sqlStringReplaced, CoreMatchers.containsString(dateFormatted));
@ -75,7 +78,7 @@ class SampleDataGeneratorTest {
@Test @Test
void replaceRelativeTimeFunctionNegDate() { void replaceRelativeTimeFunctionNegDate() {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
String dateFormatted = now.plusDays(-10).format(SampleDataGenerator.DATE_TIME_FORMATTER); String dateFormatted = now.plusDays(-10).format(DATE_TIME_FORMATTER);
String sqlStringReplaced = SampleDataGenerator.replaceDatePlaceholder(now, String sqlStringReplaced = SampleDataGenerator.replaceDatePlaceholder(now,
"... RELATIVE_DATE(-10) ..."); "... RELATIVE_DATE(-10) ...");
assertThat(sqlStringReplaced, CoreMatchers.containsString(dateFormatted)); assertThat(sqlStringReplaced, CoreMatchers.containsString(dateFormatted));

View File

@ -58,7 +58,7 @@ public class ExampleRestApplication {
@Bean @Bean
@DependsOn("getTaskanaEngine") // generate sample data after schema was inserted @DependsOn("getTaskanaEngine") // generate sample data after schema was inserted
public SampleDataGenerator generateSampleData(DataSource dataSource) { public SampleDataGenerator generateSampleData(DataSource dataSource) {
sampleDataGenerator = new SampleDataGenerator(dataSource); sampleDataGenerator = new SampleDataGenerator(dataSource, schemaName);
return sampleDataGenerator; return sampleDataGenerator;
} }
@ -68,7 +68,7 @@ public class ExampleRestApplication {
AccessIdController.setLdapCache(ldapCacheTest); AccessIdController.setLdapCache(ldapCacheTest);
} }
if (generateSampleData) { if (generateSampleData) {
sampleDataGenerator.generateSampleData(schemaName); sampleDataGenerator.generateSampleData();
} }
} }
} }

View File

@ -58,7 +58,7 @@ public class ExampleRestApplication {
@Bean @Bean
@DependsOn("getTaskanaEngine") // generate sample data after schema was inserted @DependsOn("getTaskanaEngine") // generate sample data after schema was inserted
public SampleDataGenerator generateSampleData(DataSource dataSource) { public SampleDataGenerator generateSampleData(DataSource dataSource) {
sampleDataGenerator = new SampleDataGenerator(dataSource); sampleDataGenerator = new SampleDataGenerator(dataSource, schemaName);
return sampleDataGenerator; return sampleDataGenerator;
} }
@ -68,7 +68,7 @@ public class ExampleRestApplication {
AccessIdController.setLdapCache(ldapCacheTest); AccessIdController.setLdapCache(ldapCacheTest);
} }
if (generateSampleData) { if (generateSampleData) {
sampleDataGenerator.generateSampleData(schemaName); sampleDataGenerator.generateSampleData();
} }
} }
} }

View File

@ -99,7 +99,7 @@ public class TaskanaWildFlyApplication extends SpringBootServletInitializer {
@Bean @Bean
@DependsOn("getTaskanaEngine") // generate sample data after schema was inserted @DependsOn("getTaskanaEngine") // generate sample data after schema was inserted
public SampleDataGenerator generateSampleData(DataSource dataSource) { public SampleDataGenerator generateSampleData(DataSource dataSource) {
sampleDataGenerator = new SampleDataGenerator(dataSource); sampleDataGenerator = new SampleDataGenerator(dataSource, schemaName);
return sampleDataGenerator; return sampleDataGenerator;
} }
@ -109,7 +109,7 @@ public class TaskanaWildFlyApplication extends SpringBootServletInitializer {
AccessIdController.setLdapCache(ldapCacheTest); AccessIdController.setLdapCache(ldapCacheTest);
} }
if (generateSampleData) { if (generateSampleData) {
sampleDataGenerator.generateSampleData(schemaName); sampleDataGenerator.generateSampleData();
} }
} }
} }

View File

@ -64,13 +64,13 @@ public class ExampleDocumentationApp {
@Bean @Bean
@DependsOn("getTaskanaEngine") // generate sample data after schema was inserted @DependsOn("getTaskanaEngine") // generate sample data after schema was inserted
public SampleDataGenerator generateSampleData(DataSource dataSource) { public SampleDataGenerator generateSampleData(DataSource dataSource) {
sampleDataGenerator = new SampleDataGenerator(dataSource); sampleDataGenerator = new SampleDataGenerator(dataSource, schemaName);
return sampleDataGenerator; return sampleDataGenerator;
} }
@PostConstruct @PostConstruct
private void init() throws SQLException { private void init() throws SQLException {
AccessIdController.setLdapCache(new LdapCacheTestImpl()); AccessIdController.setLdapCache(new LdapCacheTestImpl());
sampleDataGenerator.generateSampleData(schemaName); sampleDataGenerator.generateSampleData();
} }
} }

View File

@ -73,8 +73,8 @@ class TaskControllerIntTest {
void resetDb() { void resetDb() {
SampleDataGenerator sampleDataGenerator; SampleDataGenerator sampleDataGenerator;
try { try {
sampleDataGenerator = new SampleDataGenerator(dataSource); sampleDataGenerator = new SampleDataGenerator(dataSource, schemaName);
sampleDataGenerator.generateSampleData(schemaName); sampleDataGenerator.generateSampleData();
} catch (SQLException e) { } catch (SQLException e) {
throw new SystemException("tried to reset DB and caught Exception " + e, e); throw new SystemException("tried to reset DB and caught Exception " + e, e);
} }

View File

@ -37,8 +37,8 @@ class TestSchemaNameCustomizable {
schemaName = schemaName.toLowerCase(); schemaName = schemaName.toLowerCase();
} }
new SpringTaskanaEngineConfiguration(dataSource, true, true, schemaName); new SpringTaskanaEngineConfiguration(dataSource, true, true, schemaName);
sampleDataGenerator = new SampleDataGenerator(dataSource); sampleDataGenerator = new SampleDataGenerator(dataSource, schemaName);
sampleDataGenerator.generateSampleData(schemaName); sampleDataGenerator.generateSampleData();
} catch (SQLException e) { } catch (SQLException e) {
throw new SystemException("tried to reset DB and caught Exception " + e, e); throw new SystemException("tried to reset DB and caught Exception " + e, e);
} }