<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <parent>
    <groupId>io.debezium</groupId>
    <artifactId>debezium-testing</artifactId>
    <version>1.8.0.Beta1</version>
    <relativePath>../pom.xml</relativePath>
  </parent>

  <modelVersion>4.0.0</modelVersion>
  <artifactId>debezium-testing-system</artifactId>
  <name>Debezium system integration test-suite</name>

  <properties>
    <version.fabric8.client>5.9.0</version.fabric8.client>
    <version.commons.codec>1.14</version.commons.codec>
    <version.commons.compress>1.21</version.commons.compress>
    <version.strimzi>0.26.0</version.strimzi>
    <version.strimzi.kafka>${version.kafka}</version.strimzi.kafka>
    <version.junit5>5.7.2</version.junit5>
    <version.assertj>3.11.1</version.assertj>

    <!--KC image configuration-->
    <image.build.registry>quay.io</image.build.registry>
    <image.kc>${image.build.registry}/debezium/testing-openshift-connect:kafka-${version.kafka}-${project.version}${image.tag.suffix}</image.kc>
    <image.as>${image.build.registry}/debezium/test-artifact-server:${project.version}${image.tag.suffix}</image.as>

    <!--Docker configuration-->
    <docker.image.mysql>quay.io/debezium/example-mysql:latest</docker.image.mysql>
    <docker.image.postgresql>quay.io/debezium/example-postgres:latest</docker.image.postgresql>
    <docker.image.mongo>quay.io/debezium/example-mongodb:latest</docker.image.mongo>
    <docker.image.sqlserver>mcr.microsoft.com/mssql/server:2019-latest</docker.image.sqlserver>
    <docker.image.db2>quay.io/rh_integration/dbz-db2-cdc:latest</docker.image.db2>
    <docker.image.oracle>quay.io/rh_integration/dbz-oracle:19.3.0</docker.image.oracle>

    <!--OCP configuration-->
    <ocp.project.debezium>debezium</ocp.project.debezium>
    <ocp.project.registry>debezium-registry</ocp.project.registry>
    <ocp.project.mysql>debezium-mysql</ocp.project.mysql>
    <ocp.project.postgresql>debezium-postgresql</ocp.project.postgresql>
    <ocp.project.mongo>debezium-mongo</ocp.project.mongo>
    <ocp.project.sqlserver>debezium-sqlserver</ocp.project.sqlserver>
    <ocp.project.db2>debezium-db2</ocp.project.db2>
    <ocp.project.oracle>debezium-oracle</ocp.project.oracle>

    <ocp.image.mysql>${docker.image.mysql}</ocp.image.mysql>
    <ocp.image.postgresql>quay.io/debezium/example-postgres-ocp:latest</ocp.image.postgresql>
    <ocp.image.mongo>${docker.image.mongo}</ocp.image.mongo>
    <ocp.image.sqlserver>${docker.image.sqlserver}</ocp.image.sqlserver>
    <ocp.image.db2>${docker.image.db2}</ocp.image.db2>
    <ocp.image.oracle>${docker.image.oracle}</ocp.image.oracle>

    <!--Strimzi configuration-->
    <strimzi.operator.connectors>true</strimzi.operator.connectors>
    <strimzi.crd.version>v1beta2</strimzi.crd.version>
    <strimzi.kc.build>true</strimzi.kc.build>
    <strimzi.kc.log.level.dbz>DEBUG</strimzi.kc.log.level.dbz>

    <!--Apicurio configuration-->
    <apicurio.log.level>INFO</apicurio.log.level>

    <!--MySQL configuration-->
    <database.mysql.port>3306</database.mysql.port>
    <database.mysql.username>mysqluser</database.mysql.username>
    <database.mysql.password>mysqlpw</database.mysql.password>
    <database.mysql.dbz.username>debezium</database.mysql.dbz.username>
    <database.mysql.dbz.password>dbz</database.mysql.dbz.password>
    <database.mysql.root.password>debezium</database.mysql.root.password>

    <!--PostgreSQL configuration-->
    <database.postgresql.port>5432</database.postgresql.port>
    <database.postgresql.username>debezium</database.postgresql.username>
    <database.postgresql.password>debezium</database.postgresql.password>
    <database.postgresql.dbz.username>debezium</database.postgresql.dbz.username>
    <database.postgresql.dbz.password>debezium</database.postgresql.dbz.password>
    <database.postgresql.dbname>debezium</database.postgresql.dbname>

    <!--SqlServer configuration-->
    <database.sqlserver.port>5432</database.sqlserver.port>
    <database.sqlserver.username>sa</database.sqlserver.username>
    <database.sqlserver.password>Debezium1$</database.sqlserver.password>
    <database.sqlserver.dbz.username>sa</database.sqlserver.dbz.username>
    <database.sqlserver.dbz.password>Debezium$1</database.sqlserver.dbz.password>
    <database.sqlserver.dbname>TestDB</database.sqlserver.dbname>

    <!--MongoDB configuration-->
    <database.mongo.port>27017</database.mongo.port>
    <database.mongo.username>admin</database.mongo.username>
    <database.mongo.password>admin</database.mongo.password>
    <database.mongo.dbz.username>debezium</database.mongo.dbz.username>
    <database.mongo.dbz.password>dbz</database.mongo.dbz.password>
    <database.mongo.dbz.dbname>inventory</database.mongo.dbz.dbname>
    <database.mongo.dbz.login.dbname>admin</database.mongo.dbz.login.dbname>

    <!--DB2 configuration -->
    <database.db2.port>50000</database.db2.port>
    <database.db2.username>db2inst1</database.db2.username>
    <database.db2.password>=Password!</database.db2.password>
    <database.db2.dbz.username>${database.db2.username}</database.db2.dbz.username>
    <database.db2.dbz.password>${database.db2.password}</database.db2.dbz.password>
    <database.db2.dbname>TESTDB</database.db2.dbname>
    <database.db2.cdc.schema>ASNCDC</database.db2.cdc.schema>

    <!-- Oracle configuration-->
    <database.oracle.username>debezium</database.oracle.username>
    <database.oracle.password>dbz</database.oracle.password>
    <database.oracle.dbz.username>c##dbzuser</database.oracle.dbz.username>
    <database.oracle.dbz.password>dbz</database.oracle.dbz.password>
    <database.oracle.dbname>ORCLCDB</database.oracle.dbname>
    <database.oracle.pdbname>ORCLPDB1</database.oracle.pdbname>

    <!--Debezium connector versions-->
    <version.debezium.connector>1.8.0.Beta1</version.debezium.connector>

    <!-- Artifact repository for KC build -->
    <as.url>http://debezium-artifact-server.${ocp.project.debezium}.svc.cluster.local:8080</as.url>
    <as.debezium.version>${version.debezium.connector}</as.debezium.version>
    <as.apicurio.version>${version.apicurio.converter}</as.apicurio.version>
    <as.apicurio.url>${as.url}/apicurio-registry-distro-connect-converter-${as.apicurio.version}.zip</as.apicurio.url>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>io.fabric8</groupId>
        <artifactId>kubernetes-client-bom</artifactId>
        <version>${version.fabric8.client}</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>

      <!-- Debezium dependencies -->
      <dependency>
        <groupId>io.debezium</groupId>
        <artifactId>debezium-connector-mysql</artifactId>
        <classifier>plugin</classifier>
        <type>zip</type>
        <version>${version.debezium.connector}</version>
      </dependency>
      <dependency>
        <groupId>io.debezium</groupId>
        <artifactId>debezium-connector-postgres</artifactId>
        <classifier>plugin</classifier>
        <type>zip</type>
        <version>${version.debezium.connector}</version>
      </dependency>
      <dependency>
        <groupId>io.debezium</groupId>
        <artifactId>debezium-connector-sqlserver</artifactId>
        <classifier>plugin</classifier>
        <type>zip</type>
        <version>${version.debezium.connector}</version>
      </dependency>
      <dependency>
        <groupId>io.debezium</groupId>
        <artifactId>debezium-connector-mongodb</artifactId>
        <classifier>plugin</classifier>
        <type>zip</type>
        <version>${version.debezium.connector}</version>
      </dependency>
      <dependency>
        <groupId>io.debezium</groupId>
        <artifactId>debezium-connector-db2</artifactId>
        <classifier>plugin</classifier>
        <type>zip</type>
        <version>${version.debezium.connector}</version>
      </dependency>
      <dependency>
        <groupId>io.debezium</groupId>
        <artifactId>debezium-connector-oracle</artifactId>
        <classifier>plugin</classifier>
        <type>zip</type>
        <version>${version.debezium.connector}</version>
      </dependency>
      <dependency>
        <groupId>io.debezium</groupId>
        <artifactId>debezium-scripting</artifactId>
        <type>zip</type>
        <version>${version.debezium.connector}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <repositories>
    <repository>
      <id>jitpack.io</id>
      <url>https://jitpack.io</url>
    </repository>
  </repositories>

  <dependencies>
    <dependency>
      <groupId>io.fabric8</groupId>
      <artifactId>openshift-client</artifactId>
      <exclusions>
        <exclusion>
          <groupId>com.squareup.okhttp3</groupId>
          <artifactId>okhttp</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.squareup.okhttp3</groupId>
          <artifactId>logging-interceptor</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>${version.commons.codec}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-compress</artifactId>
      <version>${version.commons.compress}</version>
      <optional>true</optional>
    </dependency>

    <dependency>
      <groupId>org.apache.kafka</groupId>
      <artifactId>kafka-clients</artifactId>
    </dependency>

    <dependency>
      <groupId>io.strimzi</groupId>
      <artifactId>api</artifactId>
      <version>${version.strimzi}</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-slf4j-impl</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>okhttp</artifactId>
    </dependency>

    <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>logging-interceptor</artifactId>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
    </dependency>

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>${version.junit5}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <version>${version.assertj}</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
    </dependency>

    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
    </dependency>

    <dependency>
      <groupId>org.awaitility</groupId>
      <artifactId>awaitility</artifactId>
    </dependency>

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
    </dependency>

    <dependency>
      <groupId>org.postgresql</groupId>
      <artifactId>postgresql</artifactId>
    </dependency>

    <dependency>
      <groupId>com.microsoft.sqlserver</groupId>
      <artifactId>mssql-jdbc</artifactId>
    </dependency>

    <dependency>
      <groupId>org.mongodb</groupId>
      <artifactId>mongodb-driver-sync</artifactId>
    </dependency>

    <dependency>
      <groupId>com.ibm.db2</groupId>
      <artifactId>jcc</artifactId>
    </dependency>

    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>testcontainers</artifactId>
    </dependency>

    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>jdbc</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>mysql</artifactId>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>mongodb</artifactId>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>postgresql</artifactId>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>mssqlserver</artifactId>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>db2</artifactId>
    </dependency>

    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>oracle-xe</artifactId>
    </dependency>
  </dependencies>

  <profiles>
    <profile>
      <!-- Required to run tests against downstream -->
      <id>product</id>

      <properties>
        <as.apicurio.url>${as.url}/service-registry-${as.apicurio.version}-distro-connect-converter.zip</as.apicurio.url>
      </properties>
    </profile>
    <profile>
      <!-- Required to run Oracle tests -->
      <id>oracleITs</id>

      <properties>
        <database.oracle>true</database.oracle>
      </properties>

      <dependencies>
        <dependency>
          <groupId>com.oracle.database.jdbc</groupId>
          <artifactId>ojdbc8</artifactId>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <!-- Required to run build images with Oracle connector -->
      <id>oracle-image</id>

      <dependencies>
        <dependency>
          <groupId>io.debezium</groupId>
          <artifactId>debezium-connector-oracle</artifactId>
          <classifier>plugin</classifier>
          <type>zip</type>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <id>apicurioV1</id>
      <activation>
        <property>
          <name>apicurioV1</name>
        </property>
      </activation>

      <properties>
        <version.apicurio.converter>1.3.2.Final</version.apicurio.converter>
        <apicurio.crd.version>v1alpha1</apicurio.crd.version>
      </properties>

      <dependencies>
        <dependency>
          <groupId>com.github.jcechace.apicurio-model-generator</groupId>
          <artifactId>kubernetes-apicurio-registry-model</artifactId>
          <version>a5c02b71</version>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <id>apicurioV2</id>
      <activation>
        <property>
          <name>!apicurioV1</name>
        </property>
      </activation>

      <properties>
        <version.apicurio.converter>2.1.0.Final</version.apicurio.converter>
        <apicurio.crd.version>v1</apicurio.crd.version>
      </properties>

      <dependencies>
        <dependency>
          <groupId>com.github.jcechace.apicurio-model-generator</groupId>
          <artifactId>kubernetes-apicurio-registry-model</artifactId>
          <version>6601010c</version>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <id>images</id>

      <properties>
        <image.build.kc.skip>true</image.build.kc.skip>
        <image.build.kc.skip.push>${image.build.kc.skip}</image.build.kc.skip.push>
        <image.build.kc.base.tag>latest</image.build.kc.base.tag>
        <image.build.kc.base>quay.io/strimzi/kafka:${image.build.kc.base.tag}-kafka-${version.strimzi.kafka}</image.build.kc.base>
        <image.build.as.skip>false</image.build.as.skip>
        <image.build.as.skip.push>${image.build.as.skip}</image.build.as.skip.push>
      </properties>

      <dependencies>
        <dependency>
          <groupId>io.debezium</groupId>
          <artifactId>debezium-connector-mysql</artifactId>
          <classifier>plugin</classifier>
          <type>zip</type>
        </dependency>
        <dependency>
          <groupId>io.debezium</groupId>
          <artifactId>debezium-connector-postgres</artifactId>
          <classifier>plugin</classifier>
          <type>zip</type>
        </dependency>
        <dependency>
          <groupId>io.debezium</groupId>
          <artifactId>debezium-connector-sqlserver</artifactId>
          <classifier>plugin</classifier>
          <type>zip</type>
        </dependency>
        <dependency>
          <groupId>io.debezium</groupId>
          <artifactId>debezium-connector-mongodb</artifactId>
          <classifier>plugin</classifier>
          <type>zip</type>
        </dependency>
        <dependency>
          <groupId>io.debezium</groupId>
          <artifactId>debezium-connector-db2</artifactId>
          <classifier>plugin</classifier>
          <type>zip</type>
        </dependency>
        <dependency>
          <groupId>io.debezium</groupId>
          <artifactId>debezium-scripting</artifactId>
          <type>zip</type>
        </dependency>
        <dependency>
          <groupId>io.apicurio</groupId>
          <artifactId>apicurio-registry-distro-connect-converter</artifactId>
          <type>zip</type>
          <version>${version.apicurio.converter}</version>
        </dependency>
      </dependencies>

      <build>
        <plugins>
          <plugin>
            <!-- Possibly replaceable by Fabric8 plugin-->
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <imagePullPolicy>IfNotPresent</imagePullPolicy>
              <pushRegistry>${image.build.registry}</pushRegistry>

              <!-- Artifact Server Image -->
              <images>
                <image>
                  <name>${image.as}</name>
                  <build>
                    <skip>${image.build.as.skip}</skip>
                    <skipPush>${image.build.as.skip.push}</skipPush>
                    <contextDir>${project.basedir}/../../jenkins-jobs/docker/artifact-server</contextDir>
                    <assembly>
                      <name>plugins</name>
                      <inline>
                        <dependencySets>
                          <dependencySet>
                            <outputDirectory>.</outputDirectory>
                            <includes>
                              <include>io.debezium:debezium-connector-*:zip:plugin</include>
                            </includes>
                          </dependencySet>
                          <dependencySet>
                            <outputDirectory>.</outputDirectory>
                            <includes>
                              <include>io.debezium:debezium-scripting:zip</include>
                            </includes>
                          </dependencySet>
                          <dependencySet>
                            <outputDirectory>jdbc</outputDirectory>
                            <includes>
                              <include>com.ibm.db2:jcc:jar</include>
                            </includes>
                          </dependencySet>
                          <dependencySet>
                            <outputDirectory>jdbc</outputDirectory>
                            <includes>
                              <include>com.oracle.database.jdbc:ojdbc8:jar</include>
                            </includes>
                          </dependencySet>
                          <dependencySet>
                            <includes>
                              <include>io.apicurio:apicurio-registry-distro-connect-converter:zip</include>
                            </includes>
                          </dependencySet>
                        </dependencySets>
                      </inline>
                    </assembly>
                  </build>
                </image>

                <!-- Kafka Connect Image -->
                <image>
                  <name>${image.kc}</name>
                  <build>
                    <from>${image.build.kc.base}</from>
                    <skip>${image.build.kc.skip}</skip>
                    <skipPush>${image.build.kc.skip.push}</skipPush>
                    <assembly>
                      <targetDir>/opt/kafka/plugins</targetDir>
                      <inline>
                        <dependencySets>
                          <dependencySet>
                            <outputDirectory>.</outputDirectory>
                            <unpack>true</unpack>
                            <includes>
                              <include>io.debezium:debezium-connector-*:zip:plugin</include>
                            </includes>
                          </dependencySet>
                          <dependencySet>
                            <outputDirectory>debezium-connector-db2</outputDirectory>
                            <includes>
                              <include>com.ibm.db2:jcc:jar</include>
                            </includes>
                          </dependencySet>
                          <dependencySet>
                            <outputDirectory>debezium-connector-oracle</outputDirectory>
                            <includes>
                              <include>com.oracle.database.jdbc:ojdbc8:jar</include>
                            </includes>
                          </dependencySet>
                          <dependencySet>
                            <outputDirectory>debezium-connector-mysql</outputDirectory>
                            <unpack>true</unpack>
                            <includes>
                              <include>io.apicurio:apicurio-registry-distro-connect-converter:zip</include>
                            </includes>
                          </dependencySet>
                          <dependencySet>
                            <outputDirectory>debezium-connector-postgresql</outputDirectory>
                            <unpack>true</unpack>
                            <includes>
                              <include>io.apicurio:apicurio-registry-distro-connect-converter:zip</include>
                            </includes>
                          </dependencySet>
                          <dependencySet>
                            <outputDirectory>debezium-connector-mongodb</outputDirectory>
                            <unpack>true</unpack>
                            <includes>
                              <include>io.apicurio:apicurio-registry-distro-connect-converter:zip</include>
                            </includes>
                          </dependencySet>
                          <dependencySet>
                            <outputDirectory>debezium-connector-sqlserver</outputDirectory>
                            <unpack>true</unpack>
                            <includes>
                              <include>io.apicurio:apicurio-registry-distro-connect-converter:zip</include>
                            </includes>
                          </dependencySet>
                          <dependencySet>
                            <outputDirectory>debezium-connector-db2</outputDirectory>
                            <unpack>true</unpack>
                            <includes>
                              <include>io.apicurio:apicurio-registry-distro-connect-converter:zip</include>
                            </includes>
                          </dependencySet>
                        </dependencySets>
                      </inline>
                    </assembly>
                  </build>
                </image>
              </images>
            </configuration>
            <!--
            Connect this plugin to the maven lifecycle around the integration-test phase:
            -->
            <executions>
              <execution>
                <id>build</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>build</goal>
                  <goal>push</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>systemITs</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
              <skipTests>${skipITs}</skipTests>
              <enableAssertions>true</enableAssertions>
              <trimStackTrace>false</trimStackTrace>
              <systemPropertyVariables>
                <test.wait.scale>1</test.wait.scale>

                <test.artifact.server.url>${as.url}</test.artifact.server.url>
                <!--Docker Configuration-->
                <test.docker.image.kc>${docker.image.kc}</test.docker.image.kc>
                <test.docker.image.mysql>${docker.image.mysql}</test.docker.image.mysql>
                <test.docker.image.postgresql>${docker.image.postgresql}</test.docker.image.postgresql>
                <test.docker.image.mongo>${docker.image.mongo}</test.docker.image.mongo>
                <test.docker.image.sqlserver>${docker.image.sqlserver}</test.docker.image.sqlserver>
                <test.docker.image.db2>${docker.image.db2}</test.docker.image.db2>
                <test.docker.image.oracle>${docker.image.oracle}</test.docker.image.oracle>

                <!--OCP Configuration-->
                <test.ocp.url>${ocp.url}</test.ocp.url>
                <test.ocp.username>${ocp.username}</test.ocp.username>
                <test.ocp.password>${ocp.password}</test.ocp.password>
                <test.ocp.pull.secret.paths>${ocp.pull.secret.paths}</test.ocp.pull.secret.paths>
                <test.ocp.project.debezium>${ocp.project.debezium}</test.ocp.project.debezium>
                <test.ocp.project.registry>${ocp.project.registry}</test.ocp.project.registry>
                <test.ocp.project.mysql>${ocp.project.mysql}</test.ocp.project.mysql>
                <test.ocp.project.postgresql>${ocp.project.postgresql}</test.ocp.project.postgresql>
                <test.ocp.project.mongo>${ocp.project.mongo}</test.ocp.project.mongo>
                <test.ocp.project.sqlserver>${ocp.project.sqlserver}</test.ocp.project.sqlserver>
                <test.ocp.project.db2>${ocp.project.db2}</test.ocp.project.db2>

                <!--Strimzi Configuration-->
                <test.strimzi.operator.connectors>${strimzi.operator.connectors}</test.strimzi.operator.connectors>
                <test.strimzi.crd.version>${strimzi.crd.version}</test.strimzi.crd.version>
                <test.strimzi.kc.build>${strimzi.kc.build}</test.strimzi.kc.build>
                <test.strimzi.kc.log.level.dbz>${strimzi.kc.log.level.dbz}</test.strimzi.kc.log.level.dbz>

                <!--Apicurio configuration-->
                <test.apicurio.crd.version>${apicurio.crd.version}</test.apicurio.crd.version>
                <test.apicurio.log.level>${apicurio.log.level}</test.apicurio.log.level>

                <!--MySQL configuration-->
                <test.database.mysql.host>${database.mysql.host}</test.database.mysql.host>
                <test.database.mysql.username>${database.mysql.username}</test.database.mysql.username>
                <test.database.mysql.password>${database.mysql.password}</test.database.mysql.password>
                <test.database.mysql.dbz.username>${database.mysql.dbz.username}</test.database.mysql.dbz.username>
                <test.database.mysql.dbz.password>${database.mysql.dbz.password}</test.database.mysql.dbz.password>
                <test.database.mysql.port>${database.mysql.port}</test.database.mysql.port>

                <!--PostgreSQL configuration-->
                <test.database.postgresql.host>${database.postgresql.host}</test.database.postgresql.host>
                <test.database.postgresql.port>${database.postgresql.port}</test.database.postgresql.port>
                <test.database.postgresql.username>${database.postgresql.username}</test.database.postgresql.username>
                <test.database.postgresql.password>${database.postgresql.password}</test.database.postgresql.password>
                <test.database.postgresql.dbz.username>${database.postgresql.dbz.username}</test.database.postgresql.dbz.username>
                <test.database.postgresql.dbz.password>${database.postgresql.dbz.password}</test.database.postgresql.dbz.password>
                <test.database.postgresql.dbname>${database.postgresql.dbname}</test.database.postgresql.dbname>

                <!--Mongo configuration-->
                <test.database.mongo.host>${database.mongo.host}</test.database.mongo.host>
                <test.database.mongo.port>${database.mongo.port}</test.database.mongo.port>
                <test.database.mongo.username>${database.mongo.username}</test.database.mongo.username>
                <test.database.mongo.password>${database.mongo.password}</test.database.mongo.password>
                <test.database.mongo.dbz.username>${database.mongo.dbz.username}</test.database.mongo.dbz.username>
                <test.database.mongo.dbz.password>${database.mongo.dbz.password}</test.database.mongo.dbz.password>
                <test.database.mongo.dbz.dbname>${database.mongo.dbz.dbname}</test.database.mongo.dbz.dbname>
                <test.database.mongo.dbz.login.dbname>${database.mongo.dbz.login.dbname}</test.database.mongo.dbz.login.dbname>

                <!--DB2 configuration-->
                <test.database.db2.host>${database.db2.host}</test.database.db2.host>
                <test.database.db2.port>${database.db2.port}</test.database.db2.port>
                <test.database.db2.username>${database.db2.username}</test.database.db2.username>
                <test.database.db2.password>${database.db2.password}</test.database.db2.password>
                <test.database.db2.dbz.username>${database.db2.dbz.username}</test.database.db2.dbz.username>
                <test.database.db2.dbz.password>${database.db2.dbz.password}</test.database.db2.dbz.password>
                <test.database.db2.dbname>${database.db2.dbname}</test.database.db2.dbname>
                <test.database.db2.cdc.schema>${database.db2.cdc.schema}</test.database.db2.cdc.schema>

                <!-- Oracle configuration-->
                <test.database.oracle>${database.oracle}</test.database.oracle>
                <test.database.oracle.username>${database.oracle.username}</test.database.oracle.username>
                <test.database.oracle.password>${database.oracle.password}</test.database.oracle.password>
                <test.database.oracle.dbz.username>${database.oracle.dbz.username}</test.database.oracle.dbz.username>
                <test.database.oracle.dbz.password>${database.oracle.dbz.password}</test.database.oracle.dbz.password>
                <test.database.oracle.dbname>${database.oracle.dbname}</test.database.oracle.dbname>
                <test.database.oracle.pdbname>${database.oracle.pdbname}</test.database.oracle.pdbname>
              </systemPropertyVariables>
            </configuration>

            <executions>
              <execution>
                <id>tests-system</id>
                <goals>
                  <goal>integration-test</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>

        <testResources>
          <testResource>
            <directory>src/test/resources</directory>
            <filtering>true</filtering>
          </testResource>
        </testResources>
      </build>
    </profile>
  </profiles>
</project>
