io.camunda.process.test.impl.runtime.CamundaContainerRuntimeBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of camunda-process-test-java Show documentation
Show all versions of camunda-process-test-java Show documentation
Camunda's testing library for processes and process applications with Java
/*
* Copyright © 2017 camunda services GmbH ([email protected])
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.camunda.process.test.impl.runtime;
import io.camunda.process.test.impl.containers.ContainerFactory;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class CamundaContainerRuntimeBuilder {
private ContainerFactory containerFactory = new ContainerFactory();
private String camundaDockerImageName = ContainerRuntimeDefaults.CAMUNDA_DOCKER_IMAGE_NAME;
private String camundaDockerImageVersion = ContainerRuntimeDefaults.CAMUNDA_DOCKER_IMAGE_VERSION;
private String elasticsearchDockerImageName =
ContainerRuntimeDefaults.ELASTICSEARCH_DOCKER_IMAGE_NAME;
private String elasticsearchDockerImageVersion =
ContainerRuntimeDefaults.ELASTICSEARCH_DOCKER_IMAGE_VERSION;
private String connectorsDockerImageName = ContainerRuntimeDefaults.CONNECTORS_DOCKER_IMAGE_NAME;
private String connectorsDockerImageVersion =
ContainerRuntimeDefaults.CONNECTORS_DOCKER_IMAGE_VERSION;
private final Map camundaEnvVars = new HashMap<>();
private final Map elasticsearchEnvVars = new HashMap<>();
private final Map connectorsEnvVars = new HashMap<>();
private final List camundaExposedPorts = new ArrayList<>();
private final List elasticsearchExposedPorts = new ArrayList<>();
private final List connectorsExposedPorts = new ArrayList<>();
private String camundaLoggerName = ContainerRuntimeDefaults.CAMUNDA_LOGGER_NAME;
private String elasticsearchLoggerName = ContainerRuntimeDefaults.ELASTICSEARCH_LOGGER_NAME;
private String connectorsLoggerName = ContainerRuntimeDefaults.CONNECTORS_LOGGER_NAME;
private boolean connectorsEnabled = false;
private final Map connectorsSecrets = new HashMap<>();
// ============ For testing =================
CamundaContainerRuntimeBuilder withContainerFactory(final ContainerFactory containerFactory) {
this.containerFactory = containerFactory;
return this;
}
// ============ Configuration options =================
public CamundaContainerRuntimeBuilder withCamundaDockerImageName(final String dockerImageName) {
camundaDockerImageName = dockerImageName;
return this;
}
public CamundaContainerRuntimeBuilder withCamundaDockerImageVersion(
final String dockerImageVersion) {
camundaDockerImageVersion = dockerImageVersion;
return this;
}
public CamundaContainerRuntimeBuilder withElasticsearchDockerImageName(
final String dockerImageName) {
elasticsearchDockerImageName = dockerImageName;
return this;
}
public CamundaContainerRuntimeBuilder withElasticsearchDockerImageVersion(
final String dockerImageVersion) {
elasticsearchDockerImageVersion = dockerImageVersion;
return this;
}
public CamundaContainerRuntimeBuilder withConnectorsDockerImageName(
final String dockerImageName) {
connectorsDockerImageName = dockerImageName;
return this;
}
public CamundaContainerRuntimeBuilder withConnectorsDockerImageVersion(
final String dockerImageVersion) {
connectorsDockerImageVersion = dockerImageVersion;
return this;
}
public CamundaContainerRuntimeBuilder withCamundaEnv(final Map envVars) {
camundaEnvVars.putAll(envVars);
return this;
}
public CamundaContainerRuntimeBuilder withCamundaEnv(final String name, final String value) {
camundaEnvVars.put(name, value);
return this;
}
public CamundaContainerRuntimeBuilder withElasticsearchEnv(final Map envVars) {
elasticsearchEnvVars.putAll(envVars);
return this;
}
public CamundaContainerRuntimeBuilder withElasticsearchEnv(
final String name, final String value) {
elasticsearchEnvVars.put(name, value);
return this;
}
public CamundaContainerRuntimeBuilder withConnectorsEnv(final Map envVars) {
connectorsEnvVars.putAll(envVars);
return this;
}
public CamundaContainerRuntimeBuilder withConnectorsEnv(final String name, final String value) {
connectorsEnvVars.put(name, value);
return this;
}
public CamundaContainerRuntimeBuilder withCamundaExposedPort(final int port) {
camundaExposedPorts.add(port);
return this;
}
public CamundaContainerRuntimeBuilder withElasticsearchExposedPort(final int port) {
elasticsearchExposedPorts.add(port);
return this;
}
public CamundaContainerRuntimeBuilder withConnectorsExposedPort(final int port) {
connectorsExposedPorts.add(port);
return this;
}
public CamundaContainerRuntimeBuilder withCamundaLogger(final String loggerName) {
camundaLoggerName = loggerName;
return this;
}
public CamundaContainerRuntimeBuilder withElasticsearchLogger(final String loggerName) {
elasticsearchLoggerName = loggerName;
return this;
}
public CamundaContainerRuntimeBuilder withConnectorsLogger(final String loggerName) {
connectorsLoggerName = loggerName;
return this;
}
public CamundaContainerRuntimeBuilder withConnectorsEnabled(final boolean enabled) {
connectorsEnabled = enabled;
return this;
}
public CamundaContainerRuntimeBuilder withConnectorsSecret(
final String name, final String value) {
connectorsSecrets.put(name, value);
return this;
}
public CamundaContainerRuntimeBuilder withConnectorsSecrets(final Map secrets) {
connectorsSecrets.putAll(secrets);
return this;
}
// ============ Build =================
public CamundaContainerRuntime build() {
return new CamundaContainerRuntime(this, containerFactory);
}
// ============ Getters =================
public String getCamundaDockerImageName() {
return camundaDockerImageName;
}
public String getCamundaDockerImageVersion() {
return camundaDockerImageVersion;
}
public String getElasticsearchDockerImageName() {
return elasticsearchDockerImageName;
}
public String getElasticsearchDockerImageVersion() {
return elasticsearchDockerImageVersion;
}
public String getConnectorsDockerImageName() {
return connectorsDockerImageName;
}
public String getConnectorsDockerImageVersion() {
return connectorsDockerImageVersion;
}
public Map getCamundaEnvVars() {
return camundaEnvVars;
}
public Map getElasticsearchEnvVars() {
return elasticsearchEnvVars;
}
public Map getConnectorsEnvVars() {
return connectorsEnvVars;
}
public List getCamundaExposedPorts() {
return camundaExposedPorts;
}
public List getElasticsearchExposedPorts() {
return elasticsearchExposedPorts;
}
public List getConnectorsExposedPorts() {
return connectorsExposedPorts;
}
public String getCamundaLoggerName() {
return camundaLoggerName;
}
public String getElasticsearchLoggerName() {
return elasticsearchLoggerName;
}
public String getConnectorsLoggerName() {
return connectorsLoggerName;
}
public boolean isConnectorsEnabled() {
return connectorsEnabled;
}
public Map getConnectorsSecrets() {
return connectorsSecrets;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy