Skip to content

Commit c94eeee

Browse files
authored
Support running the end-to-end tests against defined Docker images. Resolves #3567. (#5711)
Signed-off-by: David Venable <dlv@amazon.com>
1 parent eed21ce commit c94eeee

4 files changed

Lines changed: 38 additions & 4 deletions

File tree

e2e-test/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,26 @@
11
# Data Prepper End-to-end Tests
22

33
This module includes all e2e tests for data-prepper.
4+
5+
## Running against a specific image
6+
7+
The end-to-end tests can run against a specific remote or local image.
8+
9+
Use the following Gradle build parameters:
10+
11+
* `endToEndDataPrepperImage` - specify the image
12+
* `endToEndDataPrepperTag` - specify the tag
13+
14+
### Running from a released image
15+
16+
This example shows running from the DockerHub image using version 2.11.0.
17+
18+
```shell
19+
./gradlew -PendToEndDataPrepperImage=opensearchproject/data-prepper -PendToEndDataPrepperTag=2.11.0 :e2e-test:log:basicLogEndToEndTest
20+
```
21+
22+
This example shows running from the ECR image using version 2.11.0
23+
24+
```shell
25+
./gradlew -PendToEndDataPrepperImage=public.ecr.aws/opensearchproject/data-prepper -PendToEndDataPrepperTag=2.11.0 :e2e-test:peerforwarder:localAggregateEndToEndTest
26+
```

e2e-test/build.gradle

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ subprojects {
2727
targetJavaVersion = project.hasProperty('endToEndJavaVersion') ? project.getProperty('endToEndJavaVersion') : 'docker'
2828
targetOpenTelemetryVersion = project.hasProperty('openTelemetryVersion') ? project.getProperty('openTelemetryVersion') : "${libs.versions.opentelemetry.get()}"
2929
dataPrepperBaseImage = "eclipse-temurin:${targetJavaVersion}-jre"
30+
dataPrepperDefinedDockerImage =
31+
project.hasProperty('endToEndDataPrepperImage') && project.hasProperty('endToEndDataPrepperTag') ?
32+
"${project.getProperty('endToEndDataPrepperImage')}:${project.getProperty('endToEndDataPrepperTag')}" :
33+
null;
3034
}
3135

3236
sourceSets {
@@ -75,9 +79,16 @@ subprojects {
7579
images.add('e2e-test-data-prepper')
7680
}
7781

82+
tasks.register('pullDataPrepperDockerImage', DockerPullImage) {
83+
image = "${dataPrepperDefinedDockerImage}"
84+
}
7885

7986
tasks.register('dataPrepperDockerImage', DockerProviderTask) {
80-
if(targetJavaVersion == 'docker') {
87+
if(dataPrepperDefinedDockerImage != null) {
88+
dependsOn 'pullDataPrepperDockerImage'
89+
imageId = "${dataPrepperDefinedDockerImage}"
90+
}
91+
else if(targetJavaVersion == 'docker') {
8192
dependsOn ':release:docker:docker'
8293
imageId = "${project.rootProject.name}:${project.version}"
8394
}

e2e-test/log/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ logTestConfigurations.each { testConfiguration ->
108108
}
109109

110110
tasks.register(testConfiguration.testName, Test) {
111-
dependsOn build
111+
dependsOn compileJava
112112
dependsOn startOpenSearchDockerContainer
113113
dependsOn "start${testConfiguration.testName}"
114114

e2e-test/trace/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,12 @@ def DATA_PREPPER_CONFIG_STATIC_YAML = 'data_prepper_static.yml'
5858
def RELEASED_DATA_PREPPER_DOCKER_IMAGE = 'opensearchproject/data-prepper:latest'
5959

6060

61-
tasks.register('pullDataPrepperDockerImage', DockerPullImage) {
61+
tasks.register('pullLatestDataPrepperDockerImage', DockerPullImage) {
6262
image = RELEASED_DATA_PREPPER_DOCKER_IMAGE
6363
}
6464

6565
tasks.register('latestDataPrepperDockerImage', DockerProviderTask) {
66-
dependsOn 'pullDataPrepperDockerImage'
66+
dependsOn 'pullLatestDataPrepperDockerImage'
6767
imageId = RELEASED_DATA_PREPPER_DOCKER_IMAGE
6868
}
6969

0 commit comments

Comments
 (0)