TSK-513 Integrate taskana-spring-txtest in taskana-spring-example
This commit is contained in:
parent
ecd88201fb
commit
cdcaa6b2fe
|
@ -18,6 +18,5 @@
|
|||
<module>taskana-spring</module>
|
||||
<module>taskana-cdi-example</module>
|
||||
<module>taskana-spring-example</module>
|
||||
<module>taskana-spring-txtest</module>
|
||||
</modules>
|
||||
</project>
|
||||
|
|
|
@ -1,65 +1,80 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>pro.taskana</groupId>
|
||||
<artifactId>taskana-spring-example</artifactId>
|
||||
<version>0.9.2-SNAPSHOT</version>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.0.2.RELEASE</version>
|
||||
<relativePath />
|
||||
</parent>
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>pro.taskana</groupId>
|
||||
<artifactId>taskana-spring-example</artifactId>
|
||||
<version>0.9.2-SNAPSHOT</version>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.0.2.RELEASE</version>
|
||||
<relativePath />
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
<properties>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-jdbc</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-tx</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.h2database</groupId>
|
||||
<artifactId>h2</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>pro.taskana</groupId>
|
||||
<artifactId>taskana-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>pro.taskana</groupId>
|
||||
<artifactId>taskana-spring</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- Package as an executable jar/war -->
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<name>${project.groupId}:${project.artifactId}</name>
|
||||
<url>http://taskana.pro</url>
|
||||
<description>The Taskana Spring sample application.</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-jdbc</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-tx</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.h2database</groupId>
|
||||
<artifactId>h2</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>pro.taskana</groupId>
|
||||
<artifactId>taskana-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>pro.taskana</groupId>
|
||||
<artifactId>taskana-spring</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.12</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hamcrest</groupId>
|
||||
<artifactId>hamcrest-library</artifactId>
|
||||
<version>1.3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- Package as an executable jar/war -->
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<name>${project.groupId}:${project.artifactId}</name>
|
||||
<url>http://taskana.pro</url>
|
||||
<description>The Taskana Spring sample application.</description>
|
||||
</project>
|
||||
|
|
|
@ -6,13 +6,17 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||
import pro.taskana.exceptions.DomainNotFoundException;
|
||||
import pro.taskana.exceptions.InvalidArgumentException;
|
||||
import pro.taskana.exceptions.InvalidOwnerException;
|
||||
import pro.taskana.exceptions.InvalidStateException;
|
||||
import pro.taskana.exceptions.InvalidWorkbasketException;
|
||||
import pro.taskana.exceptions.NotAuthorizedException;
|
||||
import pro.taskana.exceptions.TaskAlreadyExistException;
|
||||
import pro.taskana.exceptions.TaskNotFoundException;
|
||||
import pro.taskana.exceptions.WorkbasketAlreadyExistException;
|
||||
import pro.taskana.exceptions.WorkbasketNotFoundException;
|
||||
|
||||
@Component
|
||||
|
@ -22,13 +26,28 @@ public class ExampleBootstrap {
|
|||
@Autowired
|
||||
private TaskService taskService;
|
||||
|
||||
@Autowired
|
||||
private TaskanaEngine taskanaEngine;
|
||||
|
||||
@PostConstruct
|
||||
public void test() throws TaskNotFoundException, NotAuthorizedException, WorkbasketNotFoundException,
|
||||
ClassificationNotFoundException, InvalidStateException, InvalidOwnerException, TaskAlreadyExistException,
|
||||
InvalidArgumentException {
|
||||
InvalidArgumentException, DomainNotFoundException, InvalidWorkbasketException, WorkbasketAlreadyExistException,
|
||||
ClassificationAlreadyExistException {
|
||||
System.out.println("---------------------------> Start App");
|
||||
Task task = taskService.newTask("1");
|
||||
|
||||
Workbasket wb = taskanaEngine.getWorkbasketService().newWorkbasket("workbasket", "DOMAIN_A");
|
||||
wb.setName("workbasket");
|
||||
wb.setType(WorkbasketType.GROUP);
|
||||
taskanaEngine.getWorkbasketService().createWorkbasket(wb);
|
||||
Classification classification = taskanaEngine.getClassificationService().newClassification("TEST",
|
||||
"DOMAIN_A",
|
||||
"TASK");
|
||||
taskanaEngine.getClassificationService().createClassification(classification);
|
||||
|
||||
Task task = taskanaEngine.getTaskService().newTask(wb.getId());
|
||||
task.setName("Spring example task");
|
||||
task.setClassificationKey(classification.getKey());
|
||||
ObjectReference objRef = new ObjectReference();
|
||||
objRef.setCompany("aCompany");
|
||||
objRef.setSystem("aSystem");
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
package pro.taskana;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||
import org.springframework.context.annotation.ImportResource;
|
||||
|
||||
@SpringBootApplication
|
||||
@ImportResource("applicationContext.xml")
|
||||
public class SpringBootWebApplication extends SpringBootServletInitializer {
|
||||
|
||||
@Override
|
||||
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
|
||||
return application.sources(SpringBootWebApplication.class);
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
SpringApplication.run(SpringBootWebApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package pro.taskana.springtx;
|
||||
package pro.taskana;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
|
@ -23,7 +23,6 @@ import pro.taskana.configuration.SpringTaskanaEngineConfiguration;
|
|||
/**
|
||||
* Class to set /load configuration for Taskana Library
|
||||
*
|
||||
* @author v101536 (Kilian Burkhardt)
|
||||
*/
|
||||
@Configuration
|
||||
@EnableTransactionManagement()
|
||||
|
@ -31,13 +30,13 @@ public class TaskanaConfig {
|
|||
|
||||
@Profile("inmemorydb")
|
||||
@Configuration
|
||||
@PropertySource("classpath:postkorb-inmemorydb.properties")
|
||||
@PropertySource("classpath:customdb.properties")
|
||||
static class InmemoryDBProperties {
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
@ConfigurationProperties(prefix = "postkorb.datasource")
|
||||
@ConfigurationProperties(prefix = "customdb.datasource")
|
||||
public DataSourceProperties dataSourceProperties() {
|
||||
return new DataSourceProperties();
|
||||
}
|
||||
|
@ -88,4 +87,8 @@ public class TaskanaConfig {
|
|||
return taskanaEngine.getClassificationService();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ExampleBootstrap exampleBootstrap() {
|
||||
return new ExampleBootstrap() ;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package pro.taskana.springtx;
|
||||
package pro.taskana;
|
||||
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
|
@ -7,7 +7,6 @@ import org.springframework.context.annotation.Import;
|
|||
/**
|
||||
* Class to start an Application to test Taskana
|
||||
*
|
||||
* @author v101536 (Kilian Burkhardt)
|
||||
*/
|
||||
@SpringBootApplication
|
||||
@Import(TaskanaConfig.class)
|
|
@ -1,4 +1,4 @@
|
|||
package pro.taskana.springtx;
|
||||
package pro.taskana;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
|
@ -19,7 +19,7 @@ import pro.taskana.impl.WorkbasketImpl;
|
|||
import pro.taskana.impl.util.IdGenerator;
|
||||
|
||||
/**
|
||||
* @author Titus Meyer (v081065)
|
||||
* Rest Controller.
|
||||
*/
|
||||
@RestController
|
||||
public class TaskanaTestController {
|
||||
|
@ -45,9 +45,9 @@ public class TaskanaTestController {
|
|||
}
|
||||
|
||||
@Transactional(readOnly = true, rollbackFor = Exception.class)
|
||||
@RequestMapping("/geschbuch-tests")
|
||||
public @ResponseBody Integer geschbuchTests() {
|
||||
return getGeschbuchTests();
|
||||
@RequestMapping("/customdb-tests")
|
||||
public @ResponseBody Integer customdbTests() {
|
||||
return getCustomdbTests();
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
@ -83,21 +83,21 @@ public class TaskanaTestController {
|
|||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@RequestMapping("/geschbuch")
|
||||
public @ResponseBody String transactionGeschbuch(
|
||||
@RequestMapping("/customdb")
|
||||
public @ResponseBody String transactionCustomdb(
|
||||
@RequestParam(value = "rollback", defaultValue = "false") String rollback)
|
||||
throws InvalidWorkbasketException, NotAuthorizedException,
|
||||
WorkbasketAlreadyExistException, DomainNotFoundException {
|
||||
taskanaEngine.getWorkbasketService().createWorkbasket(createWorkBasket("key1", "workbasket1"));
|
||||
taskanaEngine.getWorkbasketService().createWorkbasket(createWorkBasket("key2", "workbasket2"));
|
||||
|
||||
jdbcTemplate.execute("INSERT INTO GESCHBUCH.TEST VALUES ('1', 'test')");
|
||||
jdbcTemplate.execute("INSERT INTO GESCHBUCH.TEST VALUES ('2', 'test2')");
|
||||
jdbcTemplate.execute("INSERT INTO CUSTOMDB.TEST VALUES ('1', 'test')");
|
||||
jdbcTemplate.execute("INSERT INTO CUSTOMDB.TEST VALUES ('2', 'test2')");
|
||||
|
||||
if (Boolean.valueOf(rollback)) {
|
||||
throw new RuntimeException("workbaskets: " + getWorkbaskets() + ", tests: " + getGeschbuchTests());
|
||||
throw new RuntimeException("workbaskets: " + getWorkbaskets() + ", tests: " + getCustomdbTests());
|
||||
} else {
|
||||
return "workbaskets: " + getWorkbaskets() + ", tests: " + getGeschbuchTests();
|
||||
return "workbaskets: " + getWorkbaskets() + ", tests: " + getCustomdbTests();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -105,7 +105,7 @@ public class TaskanaTestController {
|
|||
@RequestMapping("/cleanup")
|
||||
public @ResponseBody String cleanup() {
|
||||
jdbcTemplate.execute("DELETE FROM WORKBASKET");
|
||||
jdbcTemplate.execute("DELETE FROM GESCHBUCH.TEST");
|
||||
jdbcTemplate.execute("DELETE FROM CUSTOMDB.TEST");
|
||||
System.err.println("cleaned workbasket and test tables");
|
||||
return "cleaned workbasket and test tables";
|
||||
}
|
||||
|
@ -115,8 +115,8 @@ public class TaskanaTestController {
|
|||
return jdbcTemplate.queryForObject("SELECT COUNT(*) FROM WORKBASKET", Integer.class);
|
||||
}
|
||||
|
||||
private int getGeschbuchTests() {
|
||||
return jdbcTemplate.queryForObject("SELECT COUNT(*) FROM GESCHBUCH.TEST", Integer.class);
|
||||
private int getCustomdbTests() {
|
||||
return jdbcTemplate.queryForObject("SELECT COUNT(*) FROM CUSTOMDB.TEST", Integer.class);
|
||||
}
|
||||
|
||||
private Workbasket createWorkBasket(String key, String name) {
|
|
@ -1,30 +0,0 @@
|
|||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
|
||||
|
||||
<tx:annotation-driven transaction-manager="transactionManager" />
|
||||
|
||||
<bean id="dataSource" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
|
||||
<property name="targetDataSource">
|
||||
<bean class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
|
||||
<property name="driverClass" value="org.h2.Driver" />
|
||||
<property name="url"
|
||||
value="jdbc:h2:mem:task-engine;DB_CLOSE_DELAY=1000;IGNORECASE=TRUE;LOCK_MODE=0" />
|
||||
<property name="username" value="sa" />
|
||||
<property name="password" value="" />
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
</bean>
|
||||
|
||||
<bean id="taskanaEngineConfiguration" class="pro.taskana.configuration.SpringTaskanaEngineConfiguration">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
</bean>
|
||||
|
||||
<bean id="taskanaEngine" factory-bean="taskanaEngineConfiguration" factory-method="buildTaskanaEngine" />
|
||||
<bean id="taskService" factory-bean="taskanaEngine" factory-method="getTaskService" />
|
||||
</beans>
|
|
@ -6,14 +6,14 @@ spring.datasource.schema=classpath:sql/taskana-schema.sql
|
|||
spring.h2.console.enabled=true
|
||||
security.basic.enabled=false
|
||||
|
||||
######## Postkorb / Taskana DB #######
|
||||
postkorb.datasource.url=jdbc:h2:mem:testdb;IGNORECASE=TRUE;LOCK_MODE=0
|
||||
#postkorb.datasource.url=jdbc:h2:mem:testdb;TRACE_LEVEL_FIle=4
|
||||
postkorb.datasource.schema=classpath:schema.sql
|
||||
postkorb.datasource.driverClassName=org.h2.Driver
|
||||
postkorb.datasource.hibernate.dialect=org.hibernate.dialect.H2
|
||||
postkorb.datasource.username=sa
|
||||
postkorb.datasource.password=sa
|
||||
######## customdb / Taskana DB #######
|
||||
customdb.datasource.url=jdbc:h2:mem:testdb;IGNORECASE=TRUE;LOCK_MODE=0
|
||||
#customdb.datasource.url=jdbc:h2:mem:testdb;TRACE_LEVEL_FIle=4
|
||||
customdb.datasource.schema=classpath:schema.sql
|
||||
customdb.datasource.driverClassName=org.h2.Driver
|
||||
customdb.datasource.hibernate.dialect=org.hibernate.dialect.H2
|
||||
customdb.datasource.username=sa
|
||||
customdb.datasource.password=sa
|
||||
|
||||
#logging.level.org.springframework.transaction.interceptor=TRACE
|
||||
#logging.level.org.springframework.transaction=TRACE
|
|
@ -0,0 +1,8 @@
|
|||
CREATE SCHEMA IF NOT EXISTS TASKANA;
|
||||
CREATE SCHEMA IF NOT EXISTS CUSTOMDB;
|
||||
CREATE TABLE IF NOT EXISTS CUSTOMDB.TEST (
|
||||
ID CHAR(40) NOT NULL,
|
||||
NAME VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
SET SCHEMA TASKANA;
|
|
@ -3,3 +3,5 @@ taskana.roles.Admin=name=konrad,Organisation=novatec|admin
|
|||
taskana.roles.businessadmin=max|Moritz|businessadmin
|
||||
|
||||
taskana.domains= Domain_A , DOMAIN_B
|
||||
taskana.classification.types= TASK , document
|
||||
taskana.classification.categories= EXTERNAL , manual, autoMAtic ,Process
|
|
@ -1,4 +1,4 @@
|
|||
package pro.taskana.springtx;
|
||||
package pro.taskana;
|
||||
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
@ -18,7 +18,7 @@ import org.springframework.test.context.ActiveProfiles;
|
|||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
/**
|
||||
* @author Titus Meyer (v081065)
|
||||
*
|
||||
*/
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(classes = TaskanaConfigTestApplication.class,
|
||||
|
@ -35,8 +35,9 @@ public class TaskanaTransactionTest {
|
|||
@Before
|
||||
public void before() {
|
||||
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
|
||||
jdbcTemplate.execute("DELETE FROM TASK");
|
||||
jdbcTemplate.execute("DELETE FROM WORKBASKET");
|
||||
jdbcTemplate.execute("DELETE FROM GESCHBUCH.TEST");
|
||||
jdbcTemplate.execute("DELETE FROM CUSTOMDB.TEST");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -92,10 +93,10 @@ public class TaskanaTransactionTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testTransactionGeschbuch() {
|
||||
public void testTransactionCustomdb() {
|
||||
assertBefore(0, 0);
|
||||
|
||||
ResponseEntity<String> responseEntity = restTemplate.getForEntity("/geschbuch", String.class);
|
||||
ResponseEntity<String> responseEntity = restTemplate.getForEntity("/customdb", String.class);
|
||||
System.err.println("response: " + responseEntity.getBody());
|
||||
assertThat(responseEntity.getBody(), containsString("workbaskets: 2"));
|
||||
assertThat(responseEntity.getBody(), containsString("tests: 2"));
|
||||
|
@ -104,10 +105,10 @@ public class TaskanaTransactionTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testTransactionGeschbuchRollback() {
|
||||
public void testTransactionCustomdbRollback() {
|
||||
assertBefore(0, 0);
|
||||
|
||||
ResponseEntity<String> responseEntity = restTemplate.getForEntity("/geschbuch?rollback={rollback}",
|
||||
ResponseEntity<String> responseEntity = restTemplate.getForEntity("/customdb?rollback={rollback}",
|
||||
String.class, "true");
|
||||
System.err.println("response: " + responseEntity.getBody());
|
||||
assertThat(responseEntity.getBody(), containsString("workbaskets: 2"));
|
||||
|
@ -118,12 +119,12 @@ public class TaskanaTransactionTest {
|
|||
|
||||
private void assertBefore(int workbaskets, int tests) {
|
||||
assertWorkbaskets("before", workbaskets);
|
||||
assertGeschbuchTests("before", tests);
|
||||
assertCustomdbTests("before", tests);
|
||||
}
|
||||
|
||||
private void assertAfter(int workbaskets, int tests) {
|
||||
assertWorkbaskets("after", workbaskets);
|
||||
assertGeschbuchTests("after", tests);
|
||||
assertCustomdbTests("after", tests);
|
||||
}
|
||||
|
||||
private void assertWorkbaskets(String assertion, int value) {
|
||||
|
@ -132,8 +133,8 @@ public class TaskanaTransactionTest {
|
|||
assertThat(workbaskets, is(value));
|
||||
}
|
||||
|
||||
private void assertGeschbuchTests(String assertion, int value) {
|
||||
int tests = getGeschbuchTests();
|
||||
private void assertCustomdbTests(String assertion, int value) {
|
||||
int tests = getCustomdbTests();
|
||||
System.err.println(assertion + " tests: " + tests);
|
||||
assertThat(tests, is(value));
|
||||
}
|
||||
|
@ -147,12 +148,12 @@ public class TaskanaTransactionTest {
|
|||
}
|
||||
}
|
||||
|
||||
private int getGeschbuchTests() {
|
||||
ResponseEntity<Integer> tests = restTemplate.getForEntity("/geschbuch-tests", Integer.class);
|
||||
private int getCustomdbTests() {
|
||||
ResponseEntity<Integer> tests = restTemplate.getForEntity("/customdb-tests", Integer.class);
|
||||
if (tests.getStatusCode().is2xxSuccessful()) {
|
||||
return tests.getBody();
|
||||
} else {
|
||||
throw new RuntimeException("error get geschbuch.tests: " + tests.getBody());
|
||||
throw new RuntimeException("error get customdb.tests: " + tests.getBody());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
/target/
|
||||
.checkstyle
|
|
@ -1,89 +0,0 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>pro.taskana</groupId>
|
||||
<artifactId>taskana-spring-txtest</artifactId>
|
||||
<version>0.9.2-SNAPSHOT</version>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.0.2.RELEASE</version>
|
||||
<relativePath />
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-jdbc</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-tx</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.h2database</groupId>
|
||||
<artifactId>h2</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>pro.taskana</groupId>
|
||||
<artifactId>taskana-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>pro.taskana</groupId>
|
||||
<artifactId>taskana-spring</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.12</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hamcrest</groupId>
|
||||
<artifactId>hamcrest-library</artifactId>
|
||||
<version>1.3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<version>2.2.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
<goals>
|
||||
<goal>jar-no-fork</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<name>${project.groupId}:${project.artifactId}</name>
|
||||
<url>http://taskana.pro</url>
|
||||
<description>The Taskana Spring sample application.</description>
|
||||
</project>
|
|
@ -1,8 +0,0 @@
|
|||
CREATE SCHEMA IF NOT EXISTS TASKANA;
|
||||
CREATE SCHEMA IF NOT EXISTS GESCHBUCH;
|
||||
CREATE TABLE IF NOT EXISTS GESCHBUCH.TEST (
|
||||
ID CHAR(40) NOT NULL,
|
||||
NAME VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
SET SCHEMA TASKANA;
|
Loading…
Reference in New Issue