Skip to content

Commit 94139c8

Browse files
committed
Improve ITs docker-compose config
- Factor out the ITs specific configurations out of the common docker-compose files and into the ITs test fixture code instead.
1 parent f226587 commit 94139c8

File tree

7 files changed

+51
-13
lines changed

7 files changed

+51
-13
lines changed

spring-cloud-dataflow-server/src/test/java/org/springframework/cloud/dataflow/integration/test/util/DockerComposeFactory.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,17 @@ public class DockerComposeFactory {
101101
.withAdditionalEnvironmentVariable("COMPOSE_PROJECT_NAME", "scdf")
102102
.build();
103103

104+
private static String[] addDockerComposeToPath(String[] dockerComposePaths, String additionalDockerCompose) {
105+
if (java.util.stream.Stream.of(dockerComposePaths).anyMatch(p -> p.contains(additionalDockerCompose))) {
106+
return dockerComposePaths;
107+
}
108+
109+
String[] dockerComposePathsEx = new String[dockerComposePaths.length + 1];
110+
System.arraycopy(dockerComposePaths, 0, dockerComposePathsEx, 0, dockerComposePaths.length);
111+
dockerComposePathsEx[dockerComposePaths.length] = additionalDockerCompose;
112+
return dockerComposePathsEx;
113+
}
114+
104115
public static Extension startDockerCompose(Path tempFolder) {
105116

106117
if (DockerComposeFactoryProperties.isDockerComposeDisabled()) {
@@ -133,12 +144,13 @@ public static Extension startDockerCompose(Path tempFolder) {
133144

134145
// If DooD is enabled but the docker-compose-dood.yml is not listed in the dockerComposePaths then
135146
// add it explicitly at the end of the list.
136-
if (isDood && (!Arrays.asList(dockerComposePaths).contains("../src/docker-compose/docker-compose-dood.yml"))) {
137-
String[] dockerComposePathsEx = new String[dockerComposePaths.length + 1];
138-
System.arraycopy(dockerComposePaths, 0, dockerComposePathsEx, 0, dockerComposePaths.length);
139-
dockerComposePathsEx[dockerComposePaths.length] = "../src/docker-compose/docker-compose-dood.yml";
140-
dockerComposePaths = dockerComposePathsEx;
147+
if (isDood ) {
148+
dockerComposePaths = addDockerComposeToPath(dockerComposePaths, "../src/docker-compose/docker-compose-dood.yml");
149+
dockerComposePaths = addDockerComposeToPath(dockerComposePaths, "./src/test/resources/docker-compose-docker-it-task-import.yml");
150+
} else {
151+
dockerComposePaths = addDockerComposeToPath(dockerComposePaths, "./src/test/resources/docker-compose-maven-it-task-import.yml");
141152
}
153+
142154
logger.info("Extracted docker compose files = {}", Arrays.toString(dockerComposePaths));
143155

144156
return DockerComposeExtension.builder()
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
version: '3'
2+
3+
# CI specific test Task (scenario) registered from maven resource
4+
services:
5+
6+
ci-app-import-task:
7+
image: springcloud/baseimage:1.0.0
8+
container_name: dataflow-app-import-task-ci
9+
depends_on:
10+
- dataflow-server
11+
command: >
12+
/bin/sh -c "
13+
./wait-for-it.sh -t 360 dataflow-server:9393;
14+
wget -qO- 'http://dataflow-server:9393/apps/task/scenario/0.0.1-SNAPSHOT' --post-data='uri=docker:springcloudtask/scenario-task:0.0.1-SNAPSHOT';
15+
echo 'CI specific docker Task apps imported'"
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
version: '3'
2+
3+
# CI specific test Task (scenario) registered from maven resource
4+
services:
5+
6+
ci-app-import-task:
7+
image: springcloud/baseimage:1.0.0
8+
container_name: dataflow-app-import-task-ci
9+
depends_on:
10+
- dataflow-server
11+
command: >
12+
/bin/sh -c "
13+
./wait-for-it.sh -t 360 dataflow-server:9393;
14+
wget -qO- 'http://dataflow-server:9393/apps/task/scenario/0.0.1-SNAPSHOT' --post-data='uri=maven://io.spring:scenario-task:0.0.1-SNAPSHOT';
15+
echo 'CI specific maven Task apps imported'"

src/docker-compose/docker-compose-dood.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,5 +76,4 @@ services:
7676
/bin/sh -c "
7777
./wait-for-it.sh -t 360 dataflow-server:9393;
7878
wget -qO- 'http://dataflow-server:9393/apps' --post-data='uri=${TASK_APPS_URI:-https://dataflow.spring.io/task-docker-latest&force=true}';
79-
wget -qO- 'http://dataflow-server:9393/apps/task/scenario/0.0.1-SNAPSHOT' --post-data='uri=docker:springcloudtask/scenario-task:0.0.1-SNAPSHOT';
8079
echo 'Docker Task apps imported'"

src/docker-compose/docker-compose.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ services:
8383

8484
app-import-stream:
8585
image: springcloud/baseimage:1.0.0
86-
container_name: dataflow-app-import
86+
container_name: dataflow-app-import-stream
8787
depends_on:
8888
- dataflow-server
8989
command: >
@@ -94,14 +94,13 @@ services:
9494
9595
app-import-task:
9696
image: springcloud/baseimage:1.0.0
97-
container_name: dataflow-app-import
97+
container_name: dataflow-app-import-task
9898
depends_on:
9999
- dataflow-server
100100
command: >
101101
/bin/sh -c "
102102
./wait-for-it.sh -t 360 dataflow-server:9393;
103103
wget -qO- 'http://dataflow-server:9393/apps' --post-data='uri=${TASK_APPS_URI:-https://dataflow.spring.io/task-maven-latest&force=true}';
104-
wget -qO- 'http://dataflow-server:9393/apps/task/scenario/0.0.1-SNAPSHOT' --post-data='uri=maven://io.spring:scenario-task:0.0.1-SNAPSHOT';
105104
echo 'Maven Task apps imported'"
106105
107106
skipper-server:

src/templates/docker-compose/docker-compose-dood.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,5 +76,4 @@ services:
7676
/bin/sh -c "
7777
./wait-for-it.sh -t 360 dataflow-server:9393;
7878
wget -qO- 'http://dataflow-server:9393/apps' --post-data='uri=${TASK_APPS_URI:-https://dataflow.spring.io/task-docker-latest&force=true}';
79-
wget -qO- 'http://dataflow-server:9393/apps/task/scenario/0.0.1-SNAPSHOT' --post-data='uri=docker:springcloudtask/scenario-task:0.0.1-SNAPSHOT';
8079
echo 'Docker Task apps imported'"

src/templates/docker-compose/docker-compose.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ services:
8383

8484
app-import-stream:
8585
image: springcloud/baseimage:1.0.0
86-
container_name: dataflow-app-import
86+
container_name: dataflow-app-import-stream
8787
depends_on:
8888
- dataflow-server
8989
command: >
@@ -94,14 +94,13 @@ services:
9494
9595
app-import-task:
9696
image: springcloud/baseimage:1.0.0
97-
container_name: dataflow-app-import
97+
container_name: dataflow-app-import-task
9898
depends_on:
9999
- dataflow-server
100100
command: >
101101
/bin/sh -c "
102102
./wait-for-it.sh -t 360 dataflow-server:9393;
103103
wget -qO- 'http://dataflow-server:9393/apps' --post-data='uri=${TASK_APPS_URI:-https://dataflow.spring.io/task-maven-latest&force=true}';
104-
wget -qO- 'http://dataflow-server:9393/apps/task/scenario/0.0.1-SNAPSHOT' --post-data='uri=maven://io.spring:scenario-task:0.0.1-SNAPSHOT';
105104
echo 'Maven Task apps imported'"
106105
107106
skipper-server:

0 commit comments

Comments
 (0)