summaryrefslogtreecommitdiff
path: root/groot-tests
diff options
context:
space:
mode:
authordoufenghu <[email protected]>2024-09-02 23:36:07 +0800
committerdoufenghu <[email protected]>2024-09-02 23:36:07 +0800
commit0d5ce165d30383a4b9b9945b61150d8e8015893d (patch)
treed5e47880963730b170478ad3f7cdab9be024d2c1 /groot-tests
parenta55399cb95c6408233e84540db482ae5e6131746 (diff)
[Fix][e2e-common] Support user-defined variables via CLI when submitting a job.
Diffstat (limited to 'groot-tests')
-rw-r--r--groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/AbstractTestContainer.java22
-rw-r--r--groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/AbstractTestFlinkContainer.java8
-rw-r--r--groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/TestContainer.java3
-rw-r--r--groot-tests/test-e2e-base/src/test/java/com/geedgenetworks/test/e2e/base/InlineToPrintIT.java11
4 files changed, 37 insertions, 7 deletions
diff --git a/groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/AbstractTestContainer.java b/groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/AbstractTestContainer.java
index 0f1e3f7..14eb5fb 100644
--- a/groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/AbstractTestContainer.java
+++ b/groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/AbstractTestContainer.java
@@ -62,8 +62,9 @@ public abstract class AbstractTestContainer implements TestContainer {
container, this.startModuleFullPath, GROOTSTREAM_HOME);
}
- protected Container.ExecResult executeJob(GenericContainer<?> container, String confFile)
+ protected Container.ExecResult executeJob(GenericContainer<?> container, String confFile, List<String> variables)
throws IOException, InterruptedException {
+
final String confInContainerPath = ContainerUtil.copyConfigFileToContainer(container, confFile);
// copy connectors
ContainerUtil.copyConnectorJarToContainer(
@@ -81,10 +82,27 @@ public abstract class AbstractTestContainer implements TestContainer {
command.add(ContainerUtil.adaptPathForWin(confInContainerPath));
command.add("--target");
command.add("remote");
- command.addAll(getExtraStartShellCommands());
+ List<String> extraStartShellCommands = new ArrayList<>(getExtraStartShellCommands());
+ if (variables != null && !variables.isEmpty()) {
+ variables.forEach(
+ v -> {
+ extraStartShellCommands.add("-i");
+ extraStartShellCommands.add(v);
+ });
+ }
+ command.addAll(extraStartShellCommands);
return executeCommand(container, command);
}
+
+
+ protected Container.ExecResult executeJob(GenericContainer<?> container, String confFile)
+ throws IOException, InterruptedException {
+ return executeJob(container, confFile, null);
+ }
+
+
+
protected Container.ExecResult savepointJob(GenericContainer<?> container, String jobId)
throws IOException, InterruptedException {
final List<String> command = new ArrayList<>();
diff --git a/groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/AbstractTestFlinkContainer.java b/groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/AbstractTestFlinkContainer.java
index 30e6eb3..b833115 100644
--- a/groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/AbstractTestFlinkContainer.java
+++ b/groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/AbstractTestFlinkContainer.java
@@ -127,8 +127,14 @@ public abstract class AbstractTestFlinkContainer extends AbstractTestContainer {
@Override
public Container.ExecResult executeJob(String confFile)
throws IOException, InterruptedException {
+ return executeJob(confFile, null);
+ }
+
+ @Override
+ public Container.ExecResult executeJob(String confFile, List<String> variables)
+ throws IOException, InterruptedException {
log.info("test in container: {}", identifier());
- return executeJob(jobManager, confFile);
+ return executeJob(jobManager, confFile, variables);
}
@Override
diff --git a/groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/TestContainer.java b/groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/TestContainer.java
index 6e4cd1f..b3bf77a 100644
--- a/groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/TestContainer.java
+++ b/groot-tests/test-common/src/test/java/com/geedgenetworks/test/common/container/TestContainer.java
@@ -5,6 +5,7 @@ import org.testcontainers.containers.Container;
import org.testcontainers.containers.Network;
import java.io.IOException;
+import java.util.List;
public interface TestContainer extends TestResource {
Network NETWORK = Network.newNetwork();
@@ -15,6 +16,8 @@ public interface TestContainer extends TestResource {
Container.ExecResult executeJob(String confFile) throws IOException, InterruptedException;
+ Container.ExecResult executeJob(String confFile, List<String> variables)
+ throws IOException, InterruptedException;
default Container.ExecResult savepointJob(String jobId)
throws IOException, InterruptedException {
diff --git a/groot-tests/test-e2e-base/src/test/java/com/geedgenetworks/test/e2e/base/InlineToPrintIT.java b/groot-tests/test-e2e-base/src/test/java/com/geedgenetworks/test/e2e/base/InlineToPrintIT.java
index dde7b28..1c1e777 100644
--- a/groot-tests/test-e2e-base/src/test/java/com/geedgenetworks/test/e2e/base/InlineToPrintIT.java
+++ b/groot-tests/test-e2e-base/src/test/java/com/geedgenetworks/test/e2e/base/InlineToPrintIT.java
@@ -24,7 +24,7 @@ import static org.awaitility.Awaitility.await;
@DisabledOnContainer(
value = {TestContainerId.FLINK_1_17},
type = {},
- disabledReason = "only flink adjusts the parameter configuration rules")
+ disabledReason = "Only flink adjusts the parameter configuration rules")
public class InlineToPrintIT extends TestSuiteBase {
@TestTemplate
@@ -32,7 +32,10 @@ public class InlineToPrintIT extends TestSuiteBase {
CompletableFuture.supplyAsync(
() -> {
try {
- return container.executeJob("/inline_to_print.yaml");
+ List<String> variables = List.of(
+ "hos.bucket.name.rtp_file=cli_job_level_traffic_rtp_file_bucket",
+ "hos.bucket.name.http_file=cli_job_level_traffic_http_file_bucket");
+ return container.executeJob("/inline_to_print.yaml", variables);
} catch (Exception e) {
log.error("Commit task exception :" + e.getMessage());
throw new RuntimeException(e);
@@ -91,8 +94,8 @@ public class InlineToPrintIT extends TestSuiteBase {
.untilAsserted(
() -> {
String logs = container.getServerLogs();
- Assertions.assertTrue(StringUtils.countMatches(logs, "job_level_traffic_rtp_file_bucket/test_pcap_file") > 10);
- Assertions.assertTrue(StringUtils.countMatches(logs, "job_level_traffic_http_file_bucket/test_http_req_file") > 10);
+ Assertions.assertTrue(StringUtils.countMatches(logs, "cli_job_level_traffic_rtp_file_bucket/test_pcap_file") > 10);
+ Assertions.assertTrue(StringUtils.countMatches(logs, "cli_job_level_traffic_http_file_bucket/test_http_req_file") > 10);
});