TSK-990: minor refactoring
This commit is contained in:
parent
3ea0ab0bf4
commit
c500599e1c
|
|
@ -50,8 +50,7 @@ public class DbSchemaCreator {
|
||||||
runner.setLogWriter(logWriter);
|
runner.setLogWriter(logWriter);
|
||||||
runner.setErrorLogWriter(errorLogWriter);
|
runner.setErrorLogWriter(errorLogWriter);
|
||||||
try {
|
try {
|
||||||
InputStream resourceAsStream = this.getClass()
|
InputStream resourceAsStream = this.getClass().getResourceAsStream(DB_SCHEMA);
|
||||||
.getResourceAsStream(DB_SCHEMA);
|
|
||||||
BufferedReader reader = new BufferedReader(new InputStreamReader(resourceAsStream, StandardCharsets.UTF_8));
|
BufferedReader reader = new BufferedReader(new InputStreamReader(resourceAsStream, StandardCharsets.UTF_8));
|
||||||
runner.runScript(getSqlWithSchemaNameParsed(reader));
|
runner.runScript(getSqlWithSchemaNameParsed(reader));
|
||||||
} finally {
|
} finally {
|
||||||
|
|
@ -64,13 +63,13 @@ public class DbSchemaCreator {
|
||||||
}
|
}
|
||||||
|
|
||||||
private StringReader getSqlWithSchemaNameParsed(BufferedReader reader) {
|
private StringReader getSqlWithSchemaNameParsed(BufferedReader reader) {
|
||||||
StringBuffer content = new StringBuffer();
|
StringBuilder content = new StringBuilder();
|
||||||
try {
|
try {
|
||||||
String line = "";
|
String line = "";
|
||||||
while (line != null) {
|
while (line != null) {
|
||||||
line = reader.readLine();
|
line = reader.readLine();
|
||||||
if (line != null) {
|
if (line != null) {
|
||||||
content.append(line.replaceAll("%schemaName%", schemaName) + System.lineSeparator());
|
content.append(line.replaceAll("%schemaName%", schemaName)).append(System.lineSeparator());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,8 @@ 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.DB;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class generates sample data for manual testing purposes.
|
* This class generates sample data for manual testing purposes.
|
||||||
*/
|
*/
|
||||||
|
|
@ -54,7 +56,7 @@ public class SampleDataGenerator {
|
||||||
runner.runScript(new BufferedReader(
|
runner.runScript(new BufferedReader(
|
||||||
new InputStreamReader(this.getClass().getResourceAsStream(CLEAR), StandardCharsets.UTF_8)));
|
new InputStreamReader(this.getClass().getResourceAsStream(CLEAR), StandardCharsets.UTF_8)));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.error("caught Exception {}", e);
|
LOGGER.error("caught Exception {}", e, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
runner.setStopOnError(true);
|
runner.setStopOnError(true);
|
||||||
|
|
@ -73,7 +75,7 @@ public class SampleDataGenerator {
|
||||||
}
|
}
|
||||||
|
|
||||||
private StringReader selectSchemaScript(String dbProductName, String schemaName) {
|
private StringReader selectSchemaScript(String dbProductName, String schemaName) {
|
||||||
return new StringReader("PostgreSQL".equals(dbProductName)
|
return new StringReader(DB.isPostgreSQL(dbProductName)
|
||||||
? "SET search_path TO " + schemaName + ";"
|
? "SET search_path TO " + schemaName + ";"
|
||||||
: "SET SCHEMA " + schemaName + ";");
|
: "SET SCHEMA " + schemaName + ";");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,27 +20,27 @@ public enum DB {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isDb2(String dbProductName) {
|
public static boolean isDb2(String dbProductName) {
|
||||||
return dbProductName.contains(DB2.dbProductname);
|
return dbProductName != null && dbProductName.contains(DB2.dbProductname);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isH2(String databaseProductName) {
|
public static boolean isH2(String dbProductName) {
|
||||||
return databaseProductName.contains(H2.dbProductname);
|
return dbProductName != null && dbProductName.contains(H2.dbProductname);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isPostgreSQL(String databaseProductName) {
|
public static boolean isPostgreSQL(String dbProductName) {
|
||||||
return POSTGRESS.dbProductname.equals(databaseProductName);
|
return POSTGRESS.dbProductname.equals(dbProductName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getDatabaseProductId(String databaseProductName) {
|
public static String getDatabaseProductId(String dbProductName) {
|
||||||
|
|
||||||
if (isDb2(databaseProductName)) {
|
if (isDb2(dbProductName)) {
|
||||||
return DB2.dbProductId;
|
return DB2.dbProductId;
|
||||||
} else if (isH2(databaseProductName)) {
|
} else if (isH2(dbProductName)) {
|
||||||
return H2.dbProductId;
|
return H2.dbProductId;
|
||||||
} else if (isPostgreSQL(databaseProductName)) {
|
} else if (isPostgreSQL(dbProductName)) {
|
||||||
return POSTGRESS.dbProductId;
|
return POSTGRESS.dbProductId;
|
||||||
} else {
|
} else {
|
||||||
throw new UnsupportedDatabaseException(databaseProductName);
|
throw new UnsupportedDatabaseException(dbProductName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -69,8 +69,7 @@ public class DbSchemaCreator {
|
||||||
try {
|
try {
|
||||||
if (!isSchemaPreexisting(connection)) {
|
if (!isSchemaPreexisting(connection)) {
|
||||||
String scriptPath = selectDbScriptFileName(connection.getMetaData().getDatabaseProductName());
|
String scriptPath = selectDbScriptFileName(connection.getMetaData().getDatabaseProductName());
|
||||||
InputStream resourceAsStream = this.getClass()
|
InputStream resourceAsStream = this.getClass().getResourceAsStream(scriptPath);
|
||||||
.getResourceAsStream(scriptPath);
|
|
||||||
BufferedReader reader = new BufferedReader(
|
BufferedReader reader = new BufferedReader(
|
||||||
new InputStreamReader(resourceAsStream, StandardCharsets.UTF_8));
|
new InputStreamReader(resourceAsStream, StandardCharsets.UTF_8));
|
||||||
runner.runScript(getSqlSchemaNameParsed(reader));
|
runner.runScript(getSqlSchemaNameParsed(reader));
|
||||||
|
|
@ -98,8 +97,7 @@ public class DbSchemaCreator {
|
||||||
runner.setErrorLogWriter(new PrintWriter(errorWriter));
|
runner.setErrorLogWriter(new PrintWriter(errorWriter));
|
||||||
try {
|
try {
|
||||||
String scriptPath = selectDbSchemaDetectionScript(connection.getMetaData().getDatabaseProductName());
|
String scriptPath = selectDbSchemaDetectionScript(connection.getMetaData().getDatabaseProductName());
|
||||||
InputStream resourceAsStream = this.getClass()
|
InputStream resourceAsStream = this.getClass().getResourceAsStream(scriptPath);
|
||||||
.getResourceAsStream(scriptPath);
|
|
||||||
BufferedReader reader = new BufferedReader(new InputStreamReader(resourceAsStream, StandardCharsets.UTF_8));
|
BufferedReader reader = new BufferedReader(new InputStreamReader(resourceAsStream, StandardCharsets.UTF_8));
|
||||||
runner.runScript(getSqlSchemaNameParsed(reader));
|
runner.runScript(getSqlSchemaNameParsed(reader));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
||||||
|
|
@ -48,8 +48,7 @@ public final class DaysToWorkingDaysConverter {
|
||||||
negativeDaysToWorkingDays = generateNegativeDaysToWorkingDays(columnHeaders, referenceDate);
|
negativeDaysToWorkingDays = generateNegativeDaysToWorkingDays(columnHeaders, referenceDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static DaysToWorkingDaysConverter initialize()
|
public static DaysToWorkingDaysConverter initialize() throws InvalidArgumentException {
|
||||||
throws InvalidArgumentException {
|
|
||||||
return initialize(Collections.singletonList(new TimeIntervalColumnHeader(0)), Instant.now());
|
return initialize(Collections.singletonList(new TimeIntervalColumnHeader(0)), Instant.now());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -95,6 +94,39 @@ public final class DaysToWorkingDaysConverter {
|
||||||
germanHolidaysEnabled = germanPublicHolidaysEnabled;
|
germanHolidaysEnabled = germanPublicHolidaysEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Computes the date of Easter Sunday for a given year.
|
||||||
|
*
|
||||||
|
* @param year for which the date of Easter Sunday should be calculated
|
||||||
|
* @return the date of Easter Sunday for the given year
|
||||||
|
*/
|
||||||
|
static LocalDate getEasterSunday(int year) {
|
||||||
|
// Formula to compute Easter Sunday by Gauss.
|
||||||
|
int a = year % 19;
|
||||||
|
int b = year % 4;
|
||||||
|
int c = year % 7;
|
||||||
|
int k = year / 100;
|
||||||
|
int p = (13 + 8 * k) / 25;
|
||||||
|
int q = k / 4;
|
||||||
|
int m = (15 - p + k - q) % 30;
|
||||||
|
int n = (4 + k - q) % 7;
|
||||||
|
int d = (19 * a + m) % 30;
|
||||||
|
|
||||||
|
int e = (2 * b + 4 * c + 6 * d + n) % 7;
|
||||||
|
|
||||||
|
if (d == 29 && e == 6) {
|
||||||
|
return LocalDate.of(year, 3, 15).plusDays(d + e);
|
||||||
|
}
|
||||||
|
if (d == 28 && e == 6 && (11 * m + 11) % 30 < 19) {
|
||||||
|
return LocalDate.of(year, 3, 15).plusDays(d + e);
|
||||||
|
}
|
||||||
|
return LocalDate.of(year, 3, 22).plusDays(d + e);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setCustomHolidays(List<LocalDate> holidays) {
|
||||||
|
customHolidays = new HashSet<>(holidays == null ? Collections.emptyList() : holidays);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts an integer, that represents the age in days, to the age in working days by using the table that was
|
* Converts an integer, that represents the age in days, to the age in working days by using the table that was
|
||||||
* created by initialization. If the age in days is beyond the limits of the table, the integer will be returned
|
* created by initialization. If the age in days is beyond the limits of the table, the integer will be returned
|
||||||
|
|
@ -248,39 +280,6 @@ public final class DaysToWorkingDaysConverter {
|
||||||
.anyMatch(diff -> diff == diffFromEasterSunday);
|
.anyMatch(diff -> diff == diffFromEasterSunday);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Computes the date of Easter Sunday for a given year.
|
|
||||||
*
|
|
||||||
* @param year for which the date of Easter Sunday should be calculated
|
|
||||||
* @return the date of Easter Sunday for the given year
|
|
||||||
*/
|
|
||||||
static LocalDate getEasterSunday(int year) {
|
|
||||||
// Formula to compute Easter Sunday by Gauss.
|
|
||||||
int a = year % 19;
|
|
||||||
int b = year % 4;
|
|
||||||
int c = year % 7;
|
|
||||||
int k = year / 100;
|
|
||||||
int p = (13 + 8 * k) / 25;
|
|
||||||
int q = k / 4;
|
|
||||||
int m = (15 - p + k - q) % 30;
|
|
||||||
int n = (4 + k - q) % 7;
|
|
||||||
int d = (19 * a + m) % 30;
|
|
||||||
|
|
||||||
int e = (2 * b + 4 * c + 6 * d + n) % 7;
|
|
||||||
|
|
||||||
if (d == 29 && e == 6) {
|
|
||||||
return LocalDate.of(year, 3, 15).plusDays(d + e);
|
|
||||||
}
|
|
||||||
if (d == 28 && e == 6 && (11 * m + 11) % 30 < 19) {
|
|
||||||
return LocalDate.of(year, 3, 15).plusDays(d + e);
|
|
||||||
}
|
|
||||||
return LocalDate.of(year, 3, 22).plusDays(d + e);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setCustomHolidays(List<LocalDate> holidays) {
|
|
||||||
customHolidays = new HashSet<>(holidays == null ? Collections.emptyList() : holidays);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "DaysToWorkingDaysConverter{"
|
return "DaysToWorkingDaysConverter{"
|
||||||
|
|
@ -291,6 +290,25 @@ public final class DaysToWorkingDaysConverter {
|
||||||
+ '}';
|
+ '}';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (o == null || getClass() != o.getClass()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
DaysToWorkingDaysConverter that = (DaysToWorkingDaysConverter) o;
|
||||||
|
return positiveDaysToWorkingDays.equals(that.positiveDaysToWorkingDays)
|
||||||
|
&& negativeDaysToWorkingDays.equals(that.negativeDaysToWorkingDays)
|
||||||
|
&& dateCreated.equals(that.dateCreated);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(positiveDaysToWorkingDays, negativeDaysToWorkingDays, dateCreated);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enumeration of German holidays.
|
* Enumeration of German holidays.
|
||||||
*/
|
*/
|
||||||
|
|
@ -313,23 +331,4 @@ public final class DaysToWorkingDaysConverter {
|
||||||
return date.getDayOfMonth() == day && date.getMonthValue() == month;
|
return date.getDayOfMonth() == day && date.getMonthValue() == month;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(Object o) {
|
|
||||||
if (this == o) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (o == null || getClass() != o.getClass()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
DaysToWorkingDaysConverter that = (DaysToWorkingDaysConverter) o;
|
|
||||||
return positiveDaysToWorkingDays.equals(that.positiveDaysToWorkingDays)
|
|
||||||
&& negativeDaysToWorkingDays.equals(that.negativeDaysToWorkingDays)
|
|
||||||
&& dateCreated.equals(that.dateCreated);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
return Objects.hash(positiveDaysToWorkingDays, negativeDaysToWorkingDays, dateCreated);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ import pro.taskana.ObjectReference;
|
||||||
import pro.taskana.TaskanaEngine;
|
import pro.taskana.TaskanaEngine;
|
||||||
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
|
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
|
||||||
import pro.taskana.TimeInterval;
|
import pro.taskana.TimeInterval;
|
||||||
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||||
import pro.taskana.impl.configuration.TaskanaEngineTestConfiguration;
|
import pro.taskana.impl.configuration.TaskanaEngineTestConfiguration;
|
||||||
import pro.taskana.sampledata.SampleDataGenerator;
|
import pro.taskana.sampledata.SampleDataGenerator;
|
||||||
|
|
@ -28,7 +29,7 @@ import pro.taskana.sampledata.SampleDataGenerator;
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractAccTest {
|
public abstract class AbstractAccTest {
|
||||||
|
|
||||||
protected static pro.taskana.configuration.TaskanaEngineConfiguration taskanaEngineConfiguration;
|
protected static TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||||
protected static TaskanaEngine taskanaEngine;
|
protected static TaskanaEngine taskanaEngine;
|
||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
|
|
@ -44,7 +45,7 @@ public abstract class AbstractAccTest {
|
||||||
sampleDataGenerator.dropDb();
|
sampleDataGenerator.dropDb();
|
||||||
}
|
}
|
||||||
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
||||||
taskanaEngineConfiguration = new pro.taskana.configuration.TaskanaEngineConfiguration(dataSource, false,
|
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false,
|
||||||
schemaName);
|
schemaName);
|
||||||
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
||||||
taskanaEngine.setConnectionManagementMode(ConnectionManagementMode.AUTOCOMMIT);
|
taskanaEngine.setConnectionManagementMode(ConnectionManagementMode.AUTOCOMMIT);
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import java.util.HashMap;
|
||||||
import org.h2.store.fs.FileUtils;
|
import org.h2.store.fs.FileUtils;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
import pro.taskana.impl.TaskanaEngineImpl;
|
import pro.taskana.impl.TaskanaEngineImpl;
|
||||||
import pro.taskana.impl.configuration.TaskanaEngineTestConfiguration;
|
import pro.taskana.impl.configuration.TaskanaEngineTestConfiguration;
|
||||||
|
|
||||||
|
|
@ -26,7 +27,7 @@ import pro.taskana.impl.configuration.TaskanaEngineTestConfiguration;
|
||||||
class TaskanaConfigAccTest extends TaskanaEngineImpl {
|
class TaskanaConfigAccTest extends TaskanaEngineImpl {
|
||||||
|
|
||||||
TaskanaConfigAccTest() throws SQLException {
|
TaskanaConfigAccTest() throws SQLException {
|
||||||
super(new pro.taskana.configuration.TaskanaEngineConfiguration(TaskanaEngineTestConfiguration.getDataSource(),
|
super(new TaskanaEngineConfiguration(TaskanaEngineTestConfiguration.getDataSource(),
|
||||||
true,
|
true,
|
||||||
TaskanaEngineTestConfiguration.getSchemaName()));
|
TaskanaEngineTestConfiguration.getSchemaName()));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import org.h2.store.fs.FileUtils;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import pro.taskana.TaskanaRole;
|
import pro.taskana.TaskanaRole;
|
||||||
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
import pro.taskana.impl.TaskanaEngineImpl;
|
import pro.taskana.impl.TaskanaEngineImpl;
|
||||||
import pro.taskana.impl.configuration.TaskanaEngineTestConfiguration;
|
import pro.taskana.impl.configuration.TaskanaEngineTestConfiguration;
|
||||||
|
|
||||||
|
|
@ -23,7 +24,7 @@ import pro.taskana.impl.configuration.TaskanaEngineTestConfiguration;
|
||||||
class TaskanaRoleConfigAccTest extends TaskanaEngineImpl {
|
class TaskanaRoleConfigAccTest extends TaskanaEngineImpl {
|
||||||
|
|
||||||
TaskanaRoleConfigAccTest() throws SQLException {
|
TaskanaRoleConfigAccTest() throws SQLException {
|
||||||
super(new pro.taskana.configuration.TaskanaEngineConfiguration(TaskanaEngineTestConfiguration.getDataSource(),
|
super(new TaskanaEngineConfiguration(TaskanaEngineTestConfiguration.getDataSource(),
|
||||||
true,
|
true,
|
||||||
TaskanaEngineTestConfiguration.getSchemaName()));
|
TaskanaEngineTestConfiguration.getSchemaName()));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,6 @@ class TaskCleanupJobAccTest extends AbstractAccTest {
|
||||||
//required if single tests modify database
|
//required if single tests modify database
|
||||||
//TODO split test class into readOnly & modifying tests to improve performance
|
//TODO split test class into readOnly & modifying tests to improve performance
|
||||||
resetDb(false);
|
resetDb(false);
|
||||||
resetDb(false);
|
|
||||||
taskService = taskanaEngine.getTaskService();
|
taskService = taskanaEngine.getTaskService();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package acceptance.report;
|
package acceptance.report;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
|
@ -8,6 +7,7 @@ import javax.sql.DataSource;
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
|
||||||
import pro.taskana.TaskanaEngine;
|
import pro.taskana.TaskanaEngine;
|
||||||
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
import pro.taskana.impl.configuration.TaskanaEngineTestConfiguration;
|
import pro.taskana.impl.configuration.TaskanaEngineTestConfiguration;
|
||||||
import pro.taskana.sampledata.SampleDataGenerator;
|
import pro.taskana.sampledata.SampleDataGenerator;
|
||||||
|
|
||||||
|
|
@ -16,7 +16,7 @@ import pro.taskana.sampledata.SampleDataGenerator;
|
||||||
*/
|
*/
|
||||||
public class AbstractReportAccTest {
|
public class AbstractReportAccTest {
|
||||||
|
|
||||||
protected static pro.taskana.configuration.TaskanaEngineConfiguration taskanaEngineConfiguration;
|
protected static TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||||
protected static TaskanaEngine taskanaEngine;
|
protected static TaskanaEngine taskanaEngine;
|
||||||
|
|
||||||
// checkstyle needs this constructor, since this is only a "utility" class
|
// checkstyle needs this constructor, since this is only a "utility" class
|
||||||
|
|
@ -28,11 +28,11 @@ public class AbstractReportAccTest {
|
||||||
resetDb();
|
resetDb();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void resetDb() throws SQLException, IOException {
|
private static void resetDb() throws SQLException {
|
||||||
DataSource dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
DataSource dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
||||||
String schemaName = TaskanaEngineTestConfiguration.getSchemaName();
|
String schemaName = TaskanaEngineTestConfiguration.getSchemaName();
|
||||||
SampleDataGenerator sampleDataGenerator = new SampleDataGenerator(dataSource, schemaName);
|
SampleDataGenerator sampleDataGenerator = new SampleDataGenerator(dataSource, schemaName);
|
||||||
taskanaEngineConfiguration = new pro.taskana.configuration.TaskanaEngineConfiguration(dataSource, false,
|
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false,
|
||||||
schemaName);
|
schemaName);
|
||||||
taskanaEngineConfiguration.setGermanPublicHolidaysEnabled(false);
|
taskanaEngineConfiguration.setGermanPublicHolidaysEnabled(false);
|
||||||
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,9 @@
|
||||||
package acceptance.task;
|
package acceptance.task;
|
||||||
|
|
||||||
<<<<<<< master
|
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
import static org.junit.Assert.assertFalse;
|
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
=======
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
>>>>>>> TSK-983: Remove junit 4 from taskana-core
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
@ -222,7 +214,6 @@ class CallbackStateAccTest extends AbstractAccTest {
|
||||||
List<String> externalIds = new ArrayList<>(
|
List<String> externalIds = new ArrayList<>(
|
||||||
Arrays.asList(createdTask1.getExternalId(), createdTask2.getExternalId(), createdTask3.getExternalId()));
|
Arrays.asList(createdTask1.getExternalId(), createdTask2.getExternalId(), createdTask3.getExternalId()));
|
||||||
|
|
||||||
|
|
||||||
//complete a task
|
//complete a task
|
||||||
createdTask3 = (TaskImpl) taskService.forceCompleteTask(createdTask3.getId());
|
createdTask3 = (TaskImpl) taskService.forceCompleteTask(createdTask3.getId());
|
||||||
|
|
||||||
|
|
@ -258,7 +249,6 @@ class CallbackStateAccTest extends AbstractAccTest {
|
||||||
List<String> externalIds = new ArrayList<>(
|
List<String> externalIds = new ArrayList<>(
|
||||||
Arrays.asList(createdTask1.getExternalId(), createdTask2.getExternalId(), createdTask3.getExternalId()));
|
Arrays.asList(createdTask1.getExternalId(), createdTask2.getExternalId(), createdTask3.getExternalId()));
|
||||||
|
|
||||||
|
|
||||||
//claim two tasks
|
//claim two tasks
|
||||||
createdTask1 = (TaskImpl) taskService.forceClaim(createdTask1.getId());
|
createdTask1 = (TaskImpl) taskService.forceClaim(createdTask1.getId());
|
||||||
createdTask2 = (TaskImpl) taskService.forceClaim(createdTask2.getId());
|
createdTask2 = (TaskImpl) taskService.forceClaim(createdTask2.getId());
|
||||||
|
|
@ -281,7 +271,6 @@ class CallbackStateAccTest extends AbstractAccTest {
|
||||||
throws WorkbasketNotFoundException, ClassificationNotFoundException, NotAuthorizedException,
|
throws WorkbasketNotFoundException, ClassificationNotFoundException, NotAuthorizedException,
|
||||||
TaskAlreadyExistException, InvalidArgumentException {
|
TaskAlreadyExistException, InvalidArgumentException {
|
||||||
|
|
||||||
|
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
|
|
||||||
TaskImpl createdTask1 = createTask(taskService, CallbackState.CALLBACK_PROCESSING_REQUIRED);
|
TaskImpl createdTask1 = createTask(taskService, CallbackState.CALLBACK_PROCESSING_REQUIRED);
|
||||||
|
|
@ -296,7 +285,6 @@ class CallbackStateAccTest extends AbstractAccTest {
|
||||||
List<String> externalIds = new ArrayList<>(
|
List<String> externalIds = new ArrayList<>(
|
||||||
Arrays.asList(createdTask1.getExternalId(), createdTask2.getExternalId(), createdTask3.getExternalId()));
|
Arrays.asList(createdTask1.getExternalId(), createdTask2.getExternalId(), createdTask3.getExternalId()));
|
||||||
|
|
||||||
|
|
||||||
//It's only allowed to set the CallbackState to REQUIRED if the TaskState doesn't equal COMPLETE
|
//It's only allowed to set the CallbackState to REQUIRED if the TaskState doesn't equal COMPLETE
|
||||||
//Therefore 1 task should not get updated
|
//Therefore 1 task should not get updated
|
||||||
BulkOperationResults<String, TaskanaException> bulkResult = taskService.setCallbackStateForTasks(externalIds,
|
BulkOperationResults<String, TaskanaException> bulkResult = taskService.setCallbackStateForTasks(externalIds,
|
||||||
|
|
@ -311,15 +299,7 @@ class CallbackStateAccTest extends AbstractAccTest {
|
||||||
userName = "admin",
|
userName = "admin",
|
||||||
groupNames = {"group_1"})
|
groupNames = {"group_1"})
|
||||||
@Test
|
@Test
|
||||||
void testQueriesWithCallbackState()
|
void testQueriesWithCallbackState() throws Exception {
|
||||||
<<<<<<< master
|
|
||||||
throws WorkbasketNotFoundException, ClassificationNotFoundException, NotAuthorizedException,
|
|
||||||
TaskAlreadyExistException, InvalidArgumentException, TaskNotFoundException, InvalidStateException,
|
|
||||||
=======
|
|
||||||
throws NotAuthorizedException,
|
|
||||||
TaskNotFoundException, InvalidStateException,
|
|
||||||
>>>>>>> TSK-983: Remove junit 4 from taskana-core
|
|
||||||
InvalidOwnerException, SQLException, IOException {
|
|
||||||
resetDb(false);
|
resetDb(false);
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -120,8 +120,7 @@ class UpdateTaskAccTest extends AbstractAccTest {
|
||||||
Task task2 = taskService.getTask("TKI:000000000000000000000000000000000000");
|
Task task2 = taskService.getTask("TKI:000000000000000000000000000000000000");
|
||||||
|
|
||||||
task.setCustomAttribute("1", "willi");
|
task.setCustomAttribute("1", "willi");
|
||||||
Task updatedTask = taskService.updateTask(task);
|
taskService.updateTask(task);
|
||||||
taskService.getTask(updatedTask.getId());
|
|
||||||
|
|
||||||
task2.setCustomAttribute("2", "Walter");
|
task2.setCustomAttribute("2", "Walter");
|
||||||
//TODO flaky test ... if speed is too high,
|
//TODO flaky test ... if speed is too high,
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@ import static org.hamcrest.Matchers.startsWith;
|
||||||
import static org.hamcrest.core.IsEqual.equalTo;
|
import static org.hamcrest.core.IsEqual.equalTo;
|
||||||
import static org.hamcrest.core.IsNot.not;
|
import static org.hamcrest.core.IsNot.not;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
import static org.mockito.ArgumentMatchers.eq;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.doThrow;
|
|
||||||
import static org.mockito.Mockito.times;
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||||
|
|
@ -14,6 +14,7 @@ import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
|
@ -52,7 +53,7 @@ class WorkbasketServiceImplTest {
|
||||||
|
|
||||||
@Spy
|
@Spy
|
||||||
@InjectMocks
|
@InjectMocks
|
||||||
private WorkbasketServiceImpl cutSpy;
|
private WorkbasketServiceImpl workbasketServiceSpy;
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
private WorkbasketMapper workbasketMapperMock;
|
private WorkbasketMapper workbasketMapperMock;
|
||||||
|
|
@ -89,15 +90,16 @@ class WorkbasketServiceImplTest {
|
||||||
WorkbasketAlreadyExistException, DomainNotFoundException {
|
WorkbasketAlreadyExistException, DomainNotFoundException {
|
||||||
final int distTargetAmount = 2;
|
final int distTargetAmount = 2;
|
||||||
WorkbasketImpl expectedWb = createTestWorkbasket(null, "Key-1");
|
WorkbasketImpl expectedWb = createTestWorkbasket(null, "Key-1");
|
||||||
doReturn(expectedWb).when(cutSpy).getWorkbasket(any());
|
doReturn(expectedWb).when(workbasketServiceSpy).getWorkbasket(any());
|
||||||
when(internalTaskanaEngineMock.domainExists(any())).thenReturn(true);
|
when(internalTaskanaEngineMock.domainExists(any())).thenReturn(true);
|
||||||
|
|
||||||
Workbasket actualWb = cutSpy.createWorkbasket(expectedWb);
|
Workbasket actualWb = workbasketServiceSpy.createWorkbasket(expectedWb);
|
||||||
cutSpy.setDistributionTargets(expectedWb.getId(), createTestDistributionTargets(distTargetAmount));
|
workbasketServiceSpy.setDistributionTargets(expectedWb.getId(),
|
||||||
|
createTestDistributionTargets(distTargetAmount));
|
||||||
|
|
||||||
verify(internalTaskanaEngineMock, times(4)).openConnection();
|
verify(internalTaskanaEngineMock, times(4)).openConnection();
|
||||||
verify(workbasketMapperMock, times(3)).insert(any());
|
verify(workbasketMapperMock, times(3)).insert(any());
|
||||||
verify(cutSpy, times(distTargetAmount + 1)).getWorkbasket(any());
|
verify(workbasketServiceSpy, times(distTargetAmount + 1)).getWorkbasket(any());
|
||||||
verify(distributionTargetMapperMock, times(1)).deleteAllDistributionTargetsBySourceId(any());
|
verify(distributionTargetMapperMock, times(1)).deleteAllDistributionTargetsBySourceId(any());
|
||||||
verify(distributionTargetMapperMock, times(distTargetAmount)).insert(any(), any());
|
verify(distributionTargetMapperMock, times(distTargetAmount)).insert(any(), any());
|
||||||
verify(workbasketMapperMock, times(3)).findByKeyAndDomain(any(), any());
|
verify(workbasketMapperMock, times(3)).findByKeyAndDomain(any(), any());
|
||||||
|
|
@ -116,35 +118,35 @@ class WorkbasketServiceImplTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testCreateWorkbasket_DistibutionTargetNotExisting()
|
void testCreateWorkbasket_DistibutionTargetNotExisting() throws Exception {
|
||||||
throws NotAuthorizedException, WorkbasketNotFoundException {
|
|
||||||
WorkbasketImpl expectedWb = createTestWorkbasket("ID-1", "Key-1");
|
WorkbasketImpl expectedWb = createTestWorkbasket("ID-1", "Key-1");
|
||||||
when(internalTaskanaEngineMock.domainExists(any())).thenReturn(true);
|
when(internalTaskanaEngineMock.domainExists(any())).thenReturn(true);
|
||||||
|
String otherWorkbasketId = "4711";
|
||||||
|
List<String> destinations = Collections.singletonList(otherWorkbasketId);
|
||||||
|
workbasketServiceSpy.createWorkbasket(expectedWb);
|
||||||
|
doReturn(expectedWb).when(workbasketServiceSpy).getWorkbasket(eq(expectedWb.getId()));
|
||||||
|
|
||||||
WorkbasketNotFoundException e = Assertions.assertThrows(
|
WorkbasketNotFoundException e = Assertions.assertThrows(
|
||||||
WorkbasketNotFoundException.class, () -> {
|
WorkbasketNotFoundException.class,
|
||||||
cutSpy.createWorkbasket(expectedWb);
|
() -> workbasketServiceSpy.setDistributionTargets(expectedWb.getId(), destinations));
|
||||||
String id1 = "4711";
|
|
||||||
List<String> destinations = new ArrayList<>(Arrays.asList(id1));
|
|
||||||
cutSpy.setDistributionTargets(expectedWb.getId(), destinations);
|
|
||||||
doThrow(WorkbasketNotFoundException.class).when(cutSpy)
|
|
||||||
.getDistributionTargets(expectedWb.getId())
|
|
||||||
.get(0);
|
|
||||||
|
|
||||||
});
|
Assertions.assertEquals(e.getId(), otherWorkbasketId);
|
||||||
|
Assertions.assertNull(e.getKey());
|
||||||
|
Assertions.assertNull(e.getDomain());
|
||||||
|
|
||||||
verify(internalTaskanaEngineMock, times(3)).openConnection();
|
verify(internalTaskanaEngineMock, times(3)).openConnection();
|
||||||
verify(workbasketMapperMock, times(1)).insert(expectedWb);
|
verify(workbasketMapperMock, times(1)).insert(expectedWb);
|
||||||
verify(workbasketMapperMock, times(1)).findById(any());
|
verify(workbasketMapperMock, times(1)).findById(any());
|
||||||
verify(workbasketMapperMock, times(1)).findByKeyAndDomain(any(), any());
|
verify(workbasketMapperMock, times(1)).findByKeyAndDomain(any(), any());
|
||||||
verify(cutSpy, times(1)).getWorkbasket(any());
|
verify(workbasketServiceSpy, times(2)).getWorkbasket(any());
|
||||||
verify(internalTaskanaEngineMock, times(3)).returnConnection();
|
verify(internalTaskanaEngineMock, times(3)).returnConnection();
|
||||||
verify(taskanaEngine, times(2)).checkRoleMembership(any());
|
verify(taskanaEngine, times(2)).checkRoleMembership(any());
|
||||||
verify(internalTaskanaEngineMock, times(2)).getEngine();
|
verify(internalTaskanaEngineMock, times(2)).getEngine();
|
||||||
verify(internalTaskanaEngineMock, times(1)).domainExists(any());
|
verify(internalTaskanaEngineMock, times(1)).domainExists(any());
|
||||||
|
verify(distributionTargetMapperMock).deleteAllDistributionTargetsBySourceId(eq(expectedWb.getId()));
|
||||||
|
verify(workbasketMapperMock).update(eq(expectedWb));
|
||||||
verifyNoMoreInteractions(taskQueryMock, taskServiceMock, workbasketMapperMock, workbasketAccessMapperMock,
|
verifyNoMoreInteractions(taskQueryMock, taskServiceMock, workbasketMapperMock, workbasketAccessMapperMock,
|
||||||
distributionTargetMapperMock,
|
distributionTargetMapperMock, internalTaskanaEngineMock, taskanaEngine, taskanaEngineConfigurationMock);
|
||||||
internalTaskanaEngineMock, taskanaEngine, taskanaEngineConfigurationMock);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -155,9 +157,8 @@ class WorkbasketServiceImplTest {
|
||||||
WorkbasketImpl expectedWb = createTestWorkbasket(null, "Key-1");
|
WorkbasketImpl expectedWb = createTestWorkbasket(null, "Key-1");
|
||||||
when(workbasketMapperMock.findById(any())).thenThrow(WorkbasketNotFoundException.class);
|
when(workbasketMapperMock.findById(any())).thenThrow(WorkbasketNotFoundException.class);
|
||||||
|
|
||||||
WorkbasketNotFoundException e = Assertions.assertThrows(
|
Assertions.assertThrows(
|
||||||
WorkbasketNotFoundException.class, () ->
|
WorkbasketNotFoundException.class, () -> workbasketServiceSpy.createWorkbasket(expectedWb));
|
||||||
cutSpy.createWorkbasket(expectedWb));
|
|
||||||
|
|
||||||
verify(internalTaskanaEngineMock, times(1)).openConnection();
|
verify(internalTaskanaEngineMock, times(1)).openConnection();
|
||||||
verify(workbasketMapperMock, times(1)).insert(expectedWb);
|
verify(workbasketMapperMock, times(1)).insert(expectedWb);
|
||||||
|
|
@ -176,11 +177,11 @@ class WorkbasketServiceImplTest {
|
||||||
List<TaskSummary> usages = Arrays.asList(new TaskSummaryImpl(), new TaskSummaryImpl());
|
List<TaskSummary> usages = Arrays.asList(new TaskSummaryImpl(), new TaskSummaryImpl());
|
||||||
|
|
||||||
WorkbasketNotFoundException e = Assertions.assertThrows(
|
WorkbasketNotFoundException e = Assertions.assertThrows(
|
||||||
WorkbasketNotFoundException.class, () ->
|
WorkbasketNotFoundException.class,
|
||||||
cutSpy.deleteWorkbasket(wb.getId()));
|
() -> workbasketServiceSpy.deleteWorkbasket(wb.getId()));
|
||||||
|
|
||||||
verify(internalTaskanaEngineMock, times(2)).openConnection();
|
verify(internalTaskanaEngineMock, times(2)).openConnection();
|
||||||
verify(cutSpy, times(1)).getWorkbasket(wb.getId());
|
verify(workbasketServiceSpy, times(1)).getWorkbasket(wb.getId());
|
||||||
verify(taskanaEngine, times(0)).getTaskService();
|
verify(taskanaEngine, times(0)).getTaskService();
|
||||||
verify(taskServiceMock, times(0)).createTaskQuery();
|
verify(taskServiceMock, times(0)).createTaskQuery();
|
||||||
verify(taskQueryMock, times(0)).workbasketIdIn(wb.getId());
|
verify(taskQueryMock, times(0)).workbasketIdIn(wb.getId());
|
||||||
|
|
@ -205,10 +206,10 @@ class WorkbasketServiceImplTest {
|
||||||
throws InvalidWorkbasketException, NotAuthorizedException,
|
throws InvalidWorkbasketException, NotAuthorizedException,
|
||||||
WorkbasketAlreadyExistException, DomainNotFoundException {
|
WorkbasketAlreadyExistException, DomainNotFoundException {
|
||||||
List<String> distributionsTargets = new ArrayList<>();
|
List<String> distributionsTargets = new ArrayList<>();
|
||||||
amount = (amount < 0) ? 0 : amount;
|
amount = Math.max(amount, 0);
|
||||||
for (int i = 0; i < amount; i++) {
|
for (int i = 0; i < amount; i++) {
|
||||||
WorkbasketImpl wb = createTestWorkbasket("WB-ID-" + i, "WB-KEY-" + i);
|
WorkbasketImpl wb = createTestWorkbasket("WB-ID-" + i, "WB-KEY-" + i);
|
||||||
cutSpy.createWorkbasket(wb);
|
workbasketServiceSpy.createWorkbasket(wb);
|
||||||
distributionsTargets.add(wb.getId());
|
distributionsTargets.add(wb.getId());
|
||||||
}
|
}
|
||||||
return distributionsTargets;
|
return distributionsTargets;
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import javax.sql.DataSource;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import pro.taskana.TaskanaEngine;
|
import pro.taskana.TaskanaEngine;
|
||||||
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test of configuration.
|
* Test of configuration.
|
||||||
|
|
@ -18,8 +19,7 @@ class TaskanaEngineTestConfigurationTest {
|
||||||
@Test
|
@Test
|
||||||
void testCreateTaskanaEngine() throws SQLException {
|
void testCreateTaskanaEngine() throws SQLException {
|
||||||
DataSource ds = TaskanaEngineTestConfiguration.getDataSource();
|
DataSource ds = TaskanaEngineTestConfiguration.getDataSource();
|
||||||
pro.taskana.configuration.TaskanaEngineConfiguration taskEngineConfiguration = new pro.taskana.configuration.TaskanaEngineConfiguration(
|
TaskanaEngineConfiguration taskEngineConfiguration = new TaskanaEngineConfiguration(ds, false,
|
||||||
ds, false,
|
|
||||||
TaskanaEngineTestConfiguration.getSchemaName());
|
TaskanaEngineTestConfiguration.getSchemaName());
|
||||||
|
|
||||||
TaskanaEngine te = taskEngineConfiguration.buildTaskanaEngine();
|
TaskanaEngine te = taskEngineConfiguration.buildTaskanaEngine();
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ import pro.taskana.ClassificationSummary;
|
||||||
import pro.taskana.TaskanaEngine;
|
import pro.taskana.TaskanaEngine;
|
||||||
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
|
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
|
||||||
import pro.taskana.TimeInterval;
|
import pro.taskana.TimeInterval;
|
||||||
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
||||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||||
import pro.taskana.exceptions.ConcurrencyException;
|
import pro.taskana.exceptions.ConcurrencyException;
|
||||||
|
|
@ -44,7 +45,7 @@ class ClassificationServiceImplIntAutoCommitTest {
|
||||||
static int counter = 0;
|
static int counter = 0;
|
||||||
private DataSource dataSource;
|
private DataSource dataSource;
|
||||||
private ClassificationService classificationService;
|
private ClassificationService classificationService;
|
||||||
private pro.taskana.configuration.TaskanaEngineConfiguration taskanaEngineConfiguration;
|
private TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||||
private TaskanaEngine taskanaEngine;
|
private TaskanaEngine taskanaEngine;
|
||||||
private TaskanaEngineImpl taskanaEngineImpl;
|
private TaskanaEngineImpl taskanaEngineImpl;
|
||||||
|
|
||||||
|
|
@ -59,14 +60,13 @@ class ClassificationServiceImplIntAutoCommitTest {
|
||||||
void setup() throws SQLException {
|
void setup() throws SQLException {
|
||||||
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
||||||
String schemaName = TaskanaEngineTestConfiguration.getSchemaName();
|
String schemaName = TaskanaEngineTestConfiguration.getSchemaName();
|
||||||
taskanaEngineConfiguration = new pro.taskana.configuration.TaskanaEngineConfiguration(dataSource, false, false,
|
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, false,
|
||||||
schemaName);
|
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);
|
||||||
SampleDataGenerator sampleDataGenerator = new SampleDataGenerator(dataSource, schemaName);
|
new SampleDataGenerator(dataSource, schemaName).clearDb();
|
||||||
sampleDataGenerator.clearDb();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import pro.taskana.ClassificationSummary;
|
||||||
import pro.taskana.TaskanaEngine;
|
import pro.taskana.TaskanaEngine;
|
||||||
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
|
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
|
||||||
import pro.taskana.TimeInterval;
|
import pro.taskana.TimeInterval;
|
||||||
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
||||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||||
import pro.taskana.exceptions.ConcurrencyException;
|
import pro.taskana.exceptions.ConcurrencyException;
|
||||||
|
|
@ -52,7 +53,7 @@ public class ClassificationServiceImplIntExplicitTest {
|
||||||
static int counter = 0;
|
static int counter = 0;
|
||||||
private DataSource dataSource;
|
private DataSource dataSource;
|
||||||
private ClassificationService classificationService;
|
private ClassificationService classificationService;
|
||||||
private pro.taskana.configuration.TaskanaEngineConfiguration taskanaEngineConfiguration;
|
private TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||||
private TaskanaEngine taskanaEngine;
|
private TaskanaEngine taskanaEngine;
|
||||||
private TaskanaEngineImpl taskanaEngineImpl;
|
private TaskanaEngineImpl taskanaEngineImpl;
|
||||||
|
|
||||||
|
|
@ -67,7 +68,7 @@ public class ClassificationServiceImplIntExplicitTest {
|
||||||
public void setup() throws SQLException {
|
public void setup() throws SQLException {
|
||||||
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
||||||
String schemaName = TaskanaEngineTestConfiguration.getSchemaName();
|
String schemaName = TaskanaEngineTestConfiguration.getSchemaName();
|
||||||
taskanaEngineConfiguration = new pro.taskana.configuration.TaskanaEngineConfiguration(dataSource, false, false,
|
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, false,
|
||||||
schemaName);
|
schemaName);
|
||||||
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
||||||
classificationService = taskanaEngine.getClassificationService();
|
classificationService = taskanaEngine.getClassificationService();
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ import pro.taskana.Workbasket;
|
||||||
import pro.taskana.WorkbasketAccessItem;
|
import pro.taskana.WorkbasketAccessItem;
|
||||||
import pro.taskana.WorkbasketService;
|
import pro.taskana.WorkbasketService;
|
||||||
import pro.taskana.WorkbasketType;
|
import pro.taskana.WorkbasketType;
|
||||||
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
||||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||||
import pro.taskana.exceptions.DomainNotFoundException;
|
import pro.taskana.exceptions.DomainNotFoundException;
|
||||||
|
|
@ -67,7 +68,7 @@ class TaskServiceImplIntAutocommitTest {
|
||||||
|
|
||||||
private TaskServiceImpl taskServiceImpl;
|
private TaskServiceImpl taskServiceImpl;
|
||||||
|
|
||||||
private pro.taskana.configuration.TaskanaEngineConfiguration taskanaEngineConfiguration;
|
private TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||||
|
|
||||||
private TaskanaEngine taskanaEngine;
|
private TaskanaEngine taskanaEngine;
|
||||||
|
|
||||||
|
|
@ -81,7 +82,7 @@ class TaskServiceImplIntAutocommitTest {
|
||||||
void setup() throws SQLException {
|
void setup() throws SQLException {
|
||||||
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
||||||
String schemaName = TaskanaEngineTestConfiguration.getSchemaName();
|
String schemaName = TaskanaEngineTestConfiguration.getSchemaName();
|
||||||
taskanaEngineConfiguration = new pro.taskana.configuration.TaskanaEngineConfiguration(dataSource, false, false,
|
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, false,
|
||||||
schemaName);
|
schemaName);
|
||||||
|
|
||||||
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
||||||
|
|
@ -267,7 +268,7 @@ class TaskServiceImplIntAutocommitTest {
|
||||||
|
|
||||||
// Set up Security for this Test
|
// Set up Security for this Test
|
||||||
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
||||||
taskanaEngineConfiguration = new pro.taskana.configuration.TaskanaEngineConfiguration(dataSource, false, true,
|
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, true,
|
||||||
TaskanaEngineTestConfiguration.getSchemaName());
|
TaskanaEngineTestConfiguration.getSchemaName());
|
||||||
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
||||||
taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
|
taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ import pro.taskana.WorkbasketAccessItem;
|
||||||
import pro.taskana.WorkbasketService;
|
import pro.taskana.WorkbasketService;
|
||||||
import pro.taskana.WorkbasketType;
|
import pro.taskana.WorkbasketType;
|
||||||
import pro.taskana.configuration.DbSchemaCreator;
|
import pro.taskana.configuration.DbSchemaCreator;
|
||||||
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
||||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||||
import pro.taskana.exceptions.DomainNotFoundException;
|
import pro.taskana.exceptions.DomainNotFoundException;
|
||||||
|
|
@ -73,7 +74,7 @@ class TaskServiceImplIntExplicitTest {
|
||||||
|
|
||||||
private static TaskServiceImpl taskServiceImpl;
|
private static TaskServiceImpl taskServiceImpl;
|
||||||
|
|
||||||
private static pro.taskana.configuration.TaskanaEngineConfiguration taskanaEngineConfiguration;
|
private static TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||||
|
|
||||||
private static TaskanaEngine taskanaEngine;
|
private static TaskanaEngine taskanaEngine;
|
||||||
|
|
||||||
|
|
@ -90,8 +91,8 @@ class TaskServiceImplIntExplicitTest {
|
||||||
|
|
||||||
dataSource = new File(propertiesFileName).exists()
|
dataSource = new File(propertiesFileName).exists()
|
||||||
? TaskanaEngineTestConfiguration.createDataSourceFromProperties(propertiesFileName)
|
? TaskanaEngineTestConfiguration.createDataSourceFromProperties(propertiesFileName)
|
||||||
: pro.taskana.configuration.TaskanaEngineConfiguration.createDefaultDataSource();
|
: TaskanaEngineConfiguration.createDefaultDataSource();
|
||||||
taskanaEngineConfiguration = new pro.taskana.configuration.TaskanaEngineConfiguration(dataSource, false,
|
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false,
|
||||||
TaskanaEngineTestConfiguration.getSchemaName());
|
TaskanaEngineTestConfiguration.getSchemaName());
|
||||||
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
||||||
taskServiceImpl = (TaskServiceImpl) taskanaEngine.getTaskService();
|
taskServiceImpl = (TaskServiceImpl) taskanaEngine.getTaskService();
|
||||||
|
|
@ -362,7 +363,7 @@ class TaskServiceImplIntExplicitTest {
|
||||||
|
|
||||||
// Set up Security for this Test
|
// Set up Security for this Test
|
||||||
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
||||||
taskanaEngineConfiguration = new pro.taskana.configuration.TaskanaEngineConfiguration(dataSource, false, true,
|
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false, true,
|
||||||
TaskanaEngineTestConfiguration.getSchemaName());
|
TaskanaEngineTestConfiguration.getSchemaName());
|
||||||
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
||||||
taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
|
taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ import pro.taskana.WorkbasketAccessItem;
|
||||||
import pro.taskana.WorkbasketService;
|
import pro.taskana.WorkbasketService;
|
||||||
import pro.taskana.WorkbasketSummary;
|
import pro.taskana.WorkbasketSummary;
|
||||||
import pro.taskana.WorkbasketType;
|
import pro.taskana.WorkbasketType;
|
||||||
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
import pro.taskana.exceptions.DomainNotFoundException;
|
import pro.taskana.exceptions.DomainNotFoundException;
|
||||||
import pro.taskana.exceptions.InvalidArgumentException;
|
import pro.taskana.exceptions.InvalidArgumentException;
|
||||||
import pro.taskana.exceptions.InvalidWorkbasketException;
|
import pro.taskana.exceptions.InvalidWorkbasketException;
|
||||||
|
|
@ -70,7 +71,7 @@ class WorkbasketServiceImplIntAutocommitTest {
|
||||||
void setup() throws SQLException {
|
void setup() throws SQLException {
|
||||||
DataSource dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
DataSource dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
||||||
String schemaName = TaskanaEngineTestConfiguration.getSchemaName();
|
String schemaName = TaskanaEngineTestConfiguration.getSchemaName();
|
||||||
pro.taskana.configuration.TaskanaEngineConfiguration taskanaEngineConfiguration = new pro.taskana.configuration.TaskanaEngineConfiguration(
|
TaskanaEngineConfiguration taskanaEngineConfiguration = new TaskanaEngineConfiguration(
|
||||||
dataSource, false,
|
dataSource, false,
|
||||||
schemaName);
|
schemaName);
|
||||||
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
||||||
|
|
@ -176,7 +177,7 @@ class WorkbasketServiceImplIntAutocommitTest {
|
||||||
accessItem.setPermAppend(true);
|
accessItem.setPermAppend(true);
|
||||||
workBasketService.updateWorkbasketAccessItem(accessItem);
|
workBasketService.updateWorkbasketAccessItem(accessItem);
|
||||||
|
|
||||||
if (pro.taskana.configuration.TaskanaEngineConfiguration.shouldUseLowerCaseForAccessIds()) {
|
if (TaskanaEngineConfiguration.shouldUseLowerCaseForAccessIds()) {
|
||||||
assertEquals("zaphod beeblebrox", accessItem.getAccessId());
|
assertEquals("zaphod beeblebrox", accessItem.getAccessId());
|
||||||
} else {
|
} else {
|
||||||
assertEquals("Zaphod Beeblebrox", accessItem.getAccessId());
|
assertEquals("Zaphod Beeblebrox", accessItem.getAccessId());
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ import pro.taskana.WorkbasketAccessItem;
|
||||||
import pro.taskana.WorkbasketService;
|
import pro.taskana.WorkbasketService;
|
||||||
import pro.taskana.WorkbasketSummary;
|
import pro.taskana.WorkbasketSummary;
|
||||||
import pro.taskana.WorkbasketType;
|
import pro.taskana.WorkbasketType;
|
||||||
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
import pro.taskana.exceptions.DomainNotFoundException;
|
import pro.taskana.exceptions.DomainNotFoundException;
|
||||||
import pro.taskana.exceptions.InvalidArgumentException;
|
import pro.taskana.exceptions.InvalidArgumentException;
|
||||||
import pro.taskana.exceptions.InvalidWorkbasketException;
|
import pro.taskana.exceptions.InvalidWorkbasketException;
|
||||||
|
|
@ -49,7 +50,7 @@ class WorkbasketServiceImplIntExplicitTest {
|
||||||
private static final int SLEEP_TIME = 100;
|
private static final int SLEEP_TIME = 100;
|
||||||
static int counter = 0;
|
static int counter = 0;
|
||||||
private DataSource dataSource;
|
private DataSource dataSource;
|
||||||
private pro.taskana.configuration.TaskanaEngineConfiguration taskanaEngineConfiguration;
|
private TaskanaEngineConfiguration taskanaEngineConfiguration;
|
||||||
private TaskanaEngine taskanaEngine;
|
private TaskanaEngine taskanaEngine;
|
||||||
private TaskanaEngineImpl taskanaEngineImpl;
|
private TaskanaEngineImpl taskanaEngineImpl;
|
||||||
private WorkbasketService workBasketService;
|
private WorkbasketService workBasketService;
|
||||||
|
|
@ -65,7 +66,7 @@ class WorkbasketServiceImplIntExplicitTest {
|
||||||
void setup() throws SQLException {
|
void setup() throws SQLException {
|
||||||
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
dataSource = TaskanaEngineTestConfiguration.getDataSource();
|
||||||
String schemaName = TaskanaEngineTestConfiguration.getSchemaName();
|
String schemaName = TaskanaEngineTestConfiguration.getSchemaName();
|
||||||
taskanaEngineConfiguration = new pro.taskana.configuration.TaskanaEngineConfiguration(dataSource, false,
|
taskanaEngineConfiguration = new TaskanaEngineConfiguration(dataSource, false,
|
||||||
schemaName);
|
schemaName);
|
||||||
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
taskanaEngine = taskanaEngineConfiguration.buildTaskanaEngine();
|
||||||
taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
|
taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
|
||||||
|
|
|
||||||
|
|
@ -24,10 +24,9 @@ public interface TaskTestMapper {
|
||||||
})
|
})
|
||||||
String getCustomAttributesAsString(@Param("taskId") String taskId);
|
String getCustomAttributesAsString(@Param("taskId") String taskId);
|
||||||
|
|
||||||
@Select(
|
@Select("SELECT ID, CREATED, CLAIMED, COMPLETED, MODIFIED, PLANNED, DUE, NAME, CREATOR, DESCRIPTION, NOTE, PRIORITY, STATE, CLASSIFICATION_CATEGORY, CLASSIFICATION_KEY, CLASSIFICATION_ID, WORKBASKET_ID, WORKBASKET_KEY, DOMAIN, BUSINESS_PROCESS_ID, PARENT_BUSINESS_PROCESS_ID, OWNER, POR_COMPANY, POR_SYSTEM, POR_INSTANCE, POR_TYPE, POR_VALUE, IS_READ, IS_TRANSFERRED, CUSTOM_ATTRIBUTES, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8, CUSTOM_9, CUSTOM_10 "
|
||||||
"SELECT ID, CREATED, CLAIMED, COMPLETED, MODIFIED, PLANNED, DUE, NAME, CREATOR, DESCRIPTION, NOTE, PRIORITY, STATE, CLASSIFICATION_CATEGORY, CLASSIFICATION_KEY, CLASSIFICATION_ID, WORKBASKET_ID, WORKBASKET_KEY, DOMAIN, BUSINESS_PROCESS_ID, PARENT_BUSINESS_PROCESS_ID, OWNER, POR_COMPANY, POR_SYSTEM, POR_INSTANCE, POR_TYPE, POR_VALUE, IS_READ, IS_TRANSFERRED, CUSTOM_ATTRIBUTES, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8, CUSTOM_9, CUSTOM_10 "
|
+ "FROM TASK "
|
||||||
+ "FROM TASK "
|
+ "WHERE CUSTOM_ATTRIBUTES like #{searchText}")
|
||||||
+ "WHERE CUSTOM_ATTRIBUTES like #{searchText}")
|
|
||||||
@Results(value = {
|
@Results(value = {
|
||||||
@Result(property = "id", column = "ID"),
|
@Result(property = "id", column = "ID"),
|
||||||
@Result(property = "created", column = "CREATED"),
|
@Result(property = "created", column = "CREATED"),
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ final class SQLReplacer {
|
||||||
}
|
}
|
||||||
|
|
||||||
static boolean isDb2(String dbProductName) {
|
static boolean isDb2(String dbProductName) {
|
||||||
return dbProductName.contains("DB2");
|
return dbProductName != null && dbProductName.contains("DB2");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -64,10 +64,10 @@ public class SampleDataGenerator {
|
||||||
String cacheKey;
|
String cacheKey;
|
||||||
//dbtable constants?
|
//dbtable constants?
|
||||||
if (tableExists("HISTORY_EVENTS")) {
|
if (tableExists("HISTORY_EVENTS")) {
|
||||||
scripts = SampleDataProvider.getDefaultScripts();
|
scripts = SampleDataProvider.getScriptsWithEvents();
|
||||||
cacheKey = CACHED_EVENTSAMPLE;
|
cacheKey = CACHED_EVENTSAMPLE;
|
||||||
} else {
|
} else {
|
||||||
scripts = SampleDataProvider.getScriptsWithEvents();
|
scripts = SampleDataProvider.getDefaultScripts();
|
||||||
cacheKey = CACHED_SAMPLE;
|
cacheKey = CACHED_SAMPLE;
|
||||||
}
|
}
|
||||||
executeAndCacheScripts(scripts, cacheKey);
|
executeAndCacheScripts(scripts, cacheKey);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue