TSK-1831: automatically handle postgres db when executing wildfly tests
Co-authored-by: Yakup Ensar Evli <54323073+ensarevlideveloper@users.noreply.github.com> Co-authored-by: ryzheboka <25465835+ryzheboka@users.noreply.github.com> Co-authored-by: knht <43456808+knht@users.noreply.github.com>
This commit is contained in:
parent
fc1d1e192c
commit
01341379d4
|
@ -117,8 +117,8 @@
|
|||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
@ -22,6 +22,13 @@ import pro.taskana.workbasket.rest.models.WorkbasketSummaryRepresentationModel;
|
|||
public class AbstractAccTest {
|
||||
|
||||
protected static final String DEPENDENCY_VERSION = "5.1.1-SNAPSHOT";
|
||||
|
||||
static {
|
||||
Runtime.getRuntime().addShutdownHook(new Thread(AbstractAccTest::stopPostgresDb));
|
||||
|
||||
startPostgresDb();
|
||||
}
|
||||
|
||||
protected RestHelper restHelper = new RestHelper(8080);
|
||||
|
||||
protected TaskRepresentationModel getTaskResourceSample() {
|
||||
|
@ -51,7 +58,7 @@ public class AbstractAccTest {
|
|||
return RestHelper.TEMPLATE.exchange(
|
||||
restHelper.toUrl("/taskana" + HistoryRestEndpoints.URL_HISTORY_EVENTS),
|
||||
HttpMethod.GET,
|
||||
new HttpEntity<>(restHelper.generateHeadersForUser("teamlead-1")),
|
||||
new HttpEntity<>(RestHelper.generateHeadersForUser("teamlead-1")),
|
||||
ParameterizedTypeReference.forType(TaskHistoryEventPagedRepresentationModel.class));
|
||||
}
|
||||
|
||||
|
@ -60,7 +67,7 @@ public class AbstractAccTest {
|
|||
return RestHelper.TEMPLATE.exchange(
|
||||
restHelper.toUrl("/taskana" + RestEndpoints.URL_TASKS),
|
||||
HttpMethod.POST,
|
||||
new HttpEntity<>(taskRepresentationModel, restHelper.generateHeadersForUser("teamlead-1")),
|
||||
new HttpEntity<>(taskRepresentationModel, RestHelper.generateHeadersForUser("teamlead-1")),
|
||||
ParameterizedTypeReference.forType(TaskRepresentationModel.class));
|
||||
}
|
||||
|
||||
|
@ -78,4 +85,52 @@ public class AbstractAccTest {
|
|||
}
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
|
||||
private static void stopPostgresDb() {
|
||||
try {
|
||||
boolean isWindows = System.getProperty("os.name").toLowerCase().startsWith("windows");
|
||||
ProcessBuilder builder = new ProcessBuilder();
|
||||
if (isWindows) {
|
||||
builder.command(
|
||||
"cmd.exe", "/c", "docker-compose -f ../../docker-databases/docker-compose.yml down -v");
|
||||
} else {
|
||||
builder.command(
|
||||
"sh", "-c", "docker-compose -f ../../docker-databases/docker-compose.yml down -v");
|
||||
}
|
||||
Process process = builder.start();
|
||||
int exitCode = process.waitFor();
|
||||
if (exitCode != 0) {
|
||||
throw new RuntimeException("could not start postgres db!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
private static void startPostgresDb() {
|
||||
try {
|
||||
boolean isWindows = System.getProperty("os.name").toLowerCase().startsWith("windows");
|
||||
ProcessBuilder builder = new ProcessBuilder();
|
||||
if (isWindows) {
|
||||
builder.command(
|
||||
"cmd.exe",
|
||||
"/c",
|
||||
"docker-compose -f ../../docker-databases/docker-compose.yml up -d",
|
||||
"taskana-postgres_10");
|
||||
} else {
|
||||
builder.command(
|
||||
"sh",
|
||||
"-c",
|
||||
"docker-compose -f ../../docker-databases/docker-compose.yml up -d",
|
||||
"taskana-postgres_10");
|
||||
}
|
||||
Process process = builder.start();
|
||||
int exitCode = process.waitFor();
|
||||
if (exitCode != 0) {
|
||||
throw new RuntimeException("could not start postgres db!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ import org.springframework.http.ResponseEntity;
|
|||
import pro.taskana.common.rest.RestEndpoints;
|
||||
import pro.taskana.common.rest.models.AccessIdRepresentationModel;
|
||||
import pro.taskana.common.rest.models.TaskanaUserInfoRepresentationModel;
|
||||
import pro.taskana.common.test.rest.RestHelper;
|
||||
import pro.taskana.task.rest.models.TaskRepresentationModel;
|
||||
|
||||
/**
|
||||
|
@ -73,7 +74,7 @@ public class TaskanaWildflyTest extends AbstractAccTest {
|
|||
TEMPLATE.exchange(
|
||||
restHelper.toUrl("/taskana" + RestEndpoints.URL_CURRENT_USER),
|
||||
HttpMethod.GET,
|
||||
new HttpEntity<>(restHelper.generateHeadersForUser("teamlead-1")),
|
||||
new HttpEntity<>(RestHelper.generateHeadersForUser("teamlead-1")),
|
||||
ParameterizedTypeReference.forType(TaskanaUserInfoRepresentationModel.class));
|
||||
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
|
||||
TaskanaUserInfoRepresentationModel currentUser = response.getBody();
|
||||
|
@ -90,7 +91,7 @@ public class TaskanaWildflyTest extends AbstractAccTest {
|
|||
TEMPLATE.exchange(
|
||||
restHelper.toUrl("/taskana" + RestEndpoints.URL_ACCESS_ID + "?search-for=rig"),
|
||||
HttpMethod.GET,
|
||||
new HttpEntity<>(restHelper.generateHeadersForUser("teamlead-1")),
|
||||
new HttpEntity<>(RestHelper.generateHeadersForUser("teamlead-1")),
|
||||
new ParameterizedTypeReference<List<AccessIdRepresentationModel>>() {});
|
||||
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
|
||||
assertThat(response.getBody()).hasSize(2);
|
||||
|
@ -105,7 +106,7 @@ public class TaskanaWildflyTest extends AbstractAccTest {
|
|||
"/taskana" + RestEndpoints.URL_TASKS_ID,
|
||||
"TKI:000000000000000000000000000000000001"),
|
||||
HttpMethod.GET,
|
||||
new HttpEntity<>(restHelper.generateHeadersForUser("teamlead-1")),
|
||||
new HttpEntity<>(RestHelper.generateHeadersForUser("teamlead-1")),
|
||||
ParameterizedTypeReference.forType(TaskRepresentationModel.class));
|
||||
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
|
||||
assertThat(response.getBody()).isNotNull();
|
||||
|
|
Loading…
Reference in New Issue