OpenMetadata/openmetadata-integration-tests/pom.xml
Sriharsha Chintalapani 410c852f4a
Add Json Logging (#26357)
* Add Json Logging

* Fix comments

* Fix tests

* Centralize junit.platform.version in root pom

* Fix test-config-mcp.yaml - update to JSON logging

* Fix logback.xml to use LOG_LEVEL for backward compatibility

* Reverted to text format for test env  test-config-mcp.yaml

* Add the ability to switch between text/json logging

* Fix comments

* Fix json logging

* Address Comments

* Address Comments

---------

Co-authored-by: sonika-shah <58761340+sonika-shah@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Mohit Yadav <105265192+mohityadav766@users.noreply.github.com>
2026-03-31 16:15:07 -07:00

647 lines
27 KiB
XML

<?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>
<artifactId>platform</artifactId>
<groupId>org.open-metadata</groupId>
<version>1.12.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>openmetadata-integration-tests</artifactId>
<name>OpenMetadata Integration Tests</name>
<packaging>jar</packaging>
<properties>
<maven.surefire.version>3.1.2</maven.surefire.version>
<maven.failsafe.version>3.1.2</maven.failsafe.version>
<junit.jupiter.version>${org.junit.jupiter.version}</junit.jupiter.version>
<junit.platform.version>${org.junit.platform.version}</junit.platform.version>
<dockerjava.version>3.4.2</dockerjava.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java-bom</artifactId>
<version>${dockerjava.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- SDK client -->
<dependency>
<groupId>org.open-metadata</groupId>
<artifactId>openmetadata-sdk</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Service (for config types + app class) -->
<dependency>
<groupId>org.open-metadata</groupId>
<artifactId>openmetadata-service</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<!-- Service test utilities (for RDF tests) -->
<dependency>
<groupId>org.open-metadata</groupId>
<artifactId>openmetadata-service</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<!-- Testcontainers for infra -->
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>1.21.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>postgresql</artifactId>
<version>1.21.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<version>1.21.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>elasticsearch</artifactId>
<version>1.21.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.opensearch</groupId>
<artifactId>opensearch-testcontainers</artifactId>
<version>2.1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>k3s</artifactId>
<version>1.21.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<version>1.21.4</version>
<scope>test</scope>
</dependency>
<!-- Kubernetes client for K8s integration tests -->
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java</artifactId>
<version>24.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client</artifactId>
<version>6.12.0</version>
<scope>test</scope>
</dependency>
<!-- OMJob operator model for K8s integration tests -->
<dependency>
<groupId>org.open-metadata</groupId>
<artifactId>openmetadata-k8s-operator</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<!-- MCP module for MCP integration tests -->
<dependency>
<groupId>org.open-metadata</groupId>
<artifactId>openmetadata-mcp</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<!-- AssertJ for fluent assertions -->
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.27.7</version>
<scope>test</scope>
</dependency>
<!-- Dropwizard testing harness -->
<dependency>
<groupId>io.dropwizard</groupId>
<artifactId>dropwizard-testing</artifactId>
<scope>test</scope>
</dependency>
<!-- JUnit 5 -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
<!-- JUnit Platform Launcher (for LauncherSessionListener) -->
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>${junit.platform.version}</version>
<scope>test</scope>
</dependency>
<!-- Awaitility for eventual consistency -->
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>4.2.0</version>
<scope>test</scope>
</dependency>
<!-- JWT signing -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>4.4.0</version>
<scope>test</scope>
</dependency>
<!-- RDF support (Apache Jena) for RDF tests -->
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-core</artifactId>
<version>5.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-arq</artifactId>
<version>5.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java-transport-zerodep</artifactId>
<scope>test</scope>
</dependency>
<!-- Source: https://mvnrepository.com/artifact/org.junit-pioneer/junit-pioneer -->
<dependency>
<groupId>org.junit-pioneer</groupId>
<artifactId>junit-pioneer</artifactId>
<version>2.3.0</version>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<!-- MySQL + Elasticsearch (default) -->
<profile>
<id>mysql-elasticsearch</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<!-- Run sequential tests -->
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
</includes>
<systemPropertyVariables>
<databaseType>mysql</databaseType>
<databaseImage>mysql:8.3.0</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Run parallel tests -->
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
</excludes>
<systemPropertyVariables>
<databaseType>mysql</databaseType>
<databaseImage>mysql:8.3.0</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Verify phase: Fails the build if any tests failed -->
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- PostgreSQL + OpenSearch -->
<profile>
<id>postgres-opensearch</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<!-- Run sequential tests -->
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
<include>**/PatchTableEmbeddingIT.java</include>
</includes>
<systemPropertyVariables>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>opensearch</searchType>
<searchImage>opensearchproject/opensearch:3.4.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Run parallel tests -->
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
<exclude>**/PatchTableEmbeddingIT.java</exclude>
</excludes>
<systemPropertyVariables>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>opensearch</searchType>
<searchImage>opensearchproject/opensearch:3.4.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Verify phase: Fails the build if any tests failed -->
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- PostgreSQL + Elasticsearch -->
<profile>
<id>postgres-elasticsearch</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<!-- Run sequential tests -->
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
</includes>
<systemPropertyVariables>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Run parallel tests -->
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
</excludes>
<systemPropertyVariables>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Verify phase: Fails the build if any tests failed -->
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- MySQL + OpenSearch -->
<profile>
<id>mysql-opensearch</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<!-- Run sequential tests -->
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
<include>**/PatchTableEmbeddingIT.java</include>
</includes>
<systemPropertyVariables>
<databaseType>mysql</databaseType>
<databaseImage>mysql:8.3.0</databaseImage>
<searchType>opensearch</searchType>
<searchImage>opensearchproject/opensearch:3.4.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Run parallel tests -->
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
<exclude>**/PatchTableEmbeddingIT.java</exclude>
</excludes>
<systemPropertyVariables>
<databaseType>mysql</databaseType>
<databaseImage>mysql:8.3.0</databaseImage>
<searchType>opensearch</searchType>
<searchImage>opensearchproject/opensearch:3.4.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Verify phase: Fails the build if any tests failed -->
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- RDF integration tests profile -->
<profile>
<id>postgres-rdf-tests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<!-- Run sequential tests -->
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
</includes>
<systemPropertyVariables>
<enableRdf>true</enableRdf>
<rdfContainerImage>stain/jena-fuseki:latest</rdfContainerImage>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Run parallel tests -->
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
</excludes>
<systemPropertyVariables>
<enableRdf>true</enableRdf>
<rdfContainerImage>stain/jena-fuseki:latest</rdfContainerImage>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Verify phase: Fails the build if any tests failed -->
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>