diff --git a/scheduling/quartz/src/test/java/io/quarkus/ts/scheduling/quartz/AnnotationScheduledJobsMySqlQuartzIT.java b/scheduling/quartz/src/test/java/io/quarkus/ts/scheduling/quartz/AnnotationScheduledJobsMySqlQuartzIT.java
index a62591b7b..65d8f8ece 100644
--- a/scheduling/quartz/src/test/java/io/quarkus/ts/scheduling/quartz/AnnotationScheduledJobsMySqlQuartzIT.java
+++ b/scheduling/quartz/src/test/java/io/quarkus/ts/scheduling/quartz/AnnotationScheduledJobsMySqlQuartzIT.java
@@ -6,7 +6,6 @@
import org.apache.http.HttpStatus;
import org.awaitility.Awaitility;
-import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import io.quarkus.test.bootstrap.RestService;
@@ -14,7 +13,6 @@
import io.quarkus.test.services.QuarkusApplication;
import io.quarkus.ts.scheduling.quartz.failover.ExecutionEntity;
-@Tag("fips-incompatible") // native-mode
@QuarkusScenario
public class AnnotationScheduledJobsMySqlQuartzIT extends BaseMySqlQuartzIT {
diff --git a/scheduling/quartz/src/test/java/io/quarkus/ts/scheduling/quartz/BasicMySqlQuartzIT.java b/scheduling/quartz/src/test/java/io/quarkus/ts/scheduling/quartz/BasicMySqlQuartzIT.java
index d8ea7817b..1d85d46be 100644
--- a/scheduling/quartz/src/test/java/io/quarkus/ts/scheduling/quartz/BasicMySqlQuartzIT.java
+++ b/scheduling/quartz/src/test/java/io/quarkus/ts/scheduling/quartz/BasicMySqlQuartzIT.java
@@ -3,14 +3,12 @@
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.http.HttpStatus;
-import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import io.quarkus.test.bootstrap.RestService;
import io.quarkus.test.scenarios.QuarkusScenario;
import io.quarkus.test.services.QuarkusApplication;
-@Tag("fips-incompatible") // native-mode
@QuarkusScenario
public class BasicMySqlQuartzIT extends BaseMySqlQuartzIT {
diff --git a/sql-db/hibernate-fulltext-search/src/test/java/io/quarkus/ts/hibernate/search/MysqlMultitenantHibernateSearchIT.java b/sql-db/hibernate-fulltext-search/src/test/java/io/quarkus/ts/hibernate/search/MysqlMultitenantHibernateSearchIT.java
index 2ec43599e..87872ee43 100644
--- a/sql-db/hibernate-fulltext-search/src/test/java/io/quarkus/ts/hibernate/search/MysqlMultitenantHibernateSearchIT.java
+++ b/sql-db/hibernate-fulltext-search/src/test/java/io/quarkus/ts/hibernate/search/MysqlMultitenantHibernateSearchIT.java
@@ -1,7 +1,5 @@
package io.quarkus.ts.hibernate.search;
-import org.junit.jupiter.api.Tag;
-
import io.quarkus.test.bootstrap.DefaultService;
import io.quarkus.test.bootstrap.MySqlService;
import io.quarkus.test.bootstrap.Protocol;
@@ -10,8 +8,6 @@
import io.quarkus.test.services.Container;
import io.quarkus.test.services.QuarkusApplication;
-// TODO https://github.com/quarkus-qe/quarkus-test-suite/issues/756
-@Tag("fips-incompatible") // native-mode
@QuarkusScenario
public class MysqlMultitenantHibernateSearchIT extends AbstractMultitenantHibernateSearchIT {
static final int ELASTIC_PORT = 9200;
diff --git a/sql-db/hibernate-reactive/src/test/java/io/quarkus/ts/hibernate/reactive/MySQLDatabaseHibernateReactiveIT.java b/sql-db/hibernate-reactive/src/test/java/io/quarkus/ts/hibernate/reactive/MySQLDatabaseHibernateReactiveIT.java
index 83ad59c4d..02f1c0aec 100644
--- a/sql-db/hibernate-reactive/src/test/java/io/quarkus/ts/hibernate/reactive/MySQLDatabaseHibernateReactiveIT.java
+++ b/sql-db/hibernate-reactive/src/test/java/io/quarkus/ts/hibernate/reactive/MySQLDatabaseHibernateReactiveIT.java
@@ -8,8 +8,7 @@
import io.quarkus.test.services.Container;
import io.quarkus.test.services.QuarkusApplication;
-// TODO https://github.com/quarkus-qe/quarkus-test-suite/issues/756
-@Tag("fips-incompatible") // native-mode
+@Tag("fips-incompatible") // TODO: enable when the https://github.com/eclipse-vertx/vertx-sql-client/issues/1436 is fixed
@QuarkusScenario
public class MySQLDatabaseHibernateReactiveIT extends AbstractDatabaseHibernateReactiveIT {
diff --git a/sql-db/narayana-transactions/src/test/java/io/quarkus/ts/transactions/MysqlTransactionGeneralUsageIT.java b/sql-db/narayana-transactions/src/test/java/io/quarkus/ts/transactions/MysqlTransactionGeneralUsageIT.java
index aa7260ab1..1fde7678e 100644
--- a/sql-db/narayana-transactions/src/test/java/io/quarkus/ts/transactions/MysqlTransactionGeneralUsageIT.java
+++ b/sql-db/narayana-transactions/src/test/java/io/quarkus/ts/transactions/MysqlTransactionGeneralUsageIT.java
@@ -4,7 +4,6 @@
import java.io.IOException;
-import org.junit.jupiter.api.Tag;
import org.testcontainers.containers.GenericContainer;
import io.quarkus.test.bootstrap.MySqlService;
@@ -14,8 +13,6 @@
import io.quarkus.test.services.QuarkusApplication;
import io.quarkus.ts.transactions.recovery.TransactionExecutor;
-// TODO https://github.com/quarkus-qe/quarkus-test-suite/issues/756
-@Tag("fips-incompatible") // native-mode
@QuarkusScenario
public class MysqlTransactionGeneralUsageIT extends TransactionCommons {
diff --git a/sql-db/panache-flyway/pom.xml b/sql-db/panache-flyway/pom.xml
index 64597d7a9..b7eb9a5f6 100644
--- a/sql-db/panache-flyway/pom.xml
+++ b/sql-db/panache-flyway/pom.xml
@@ -39,11 +39,6 @@
io.quarkus
quarkus-elytron-security-properties-file
-
- org.testcontainers
- mysql
- test
-
io.quarkus.qe
quarkus-test-service-database
diff --git a/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/CRUDAllInPanacheWithFlywayIT.java b/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/CRUDAllInPanacheWithFlywayIT.java
index d39e908ab..ae8b87c82 100644
--- a/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/CRUDAllInPanacheWithFlywayIT.java
+++ b/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/CRUDAllInPanacheWithFlywayIT.java
@@ -7,13 +7,10 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.apache.http.HttpStatus;
-import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import io.quarkus.test.scenarios.QuarkusScenario;
-// TODO https://github.com/quarkus-qe/quarkus-test-suite/issues/756
-@Tag("fips-incompatible") // native-mode
@QuarkusScenario
class CRUDAllInPanacheWithFlywayIT extends PanacheWithFlywayBaseIT {
diff --git a/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/CRUDPanacheWithFlywayIT.java b/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/CRUDPanacheWithFlywayIT.java
index 30b6f789a..1c75d8cc3 100644
--- a/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/CRUDPanacheWithFlywayIT.java
+++ b/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/CRUDPanacheWithFlywayIT.java
@@ -16,15 +16,12 @@
import org.apache.http.HttpStatus;
import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import io.quarkus.test.scenarios.QuarkusScenario;
import io.restassured.http.ContentType;
import io.restassured.specification.RequestSpecification;
-// TODO https://github.com/quarkus-qe/quarkus-test-suite/issues/756
-@Tag("fips-incompatible") // native-mode
@QuarkusScenario
public class CRUDPanacheWithFlywayIT extends PanacheWithFlywayBaseIT {
diff --git a/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/DataSourceConfigPanacheWithFlywayIT.java b/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/DataSourceConfigPanacheWithFlywayIT.java
index 1321c6d0c..45ce99117 100644
--- a/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/DataSourceConfigPanacheWithFlywayIT.java
+++ b/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/DataSourceConfigPanacheWithFlywayIT.java
@@ -4,14 +4,11 @@
import static org.hamcrest.Matchers.is;
import org.apache.http.HttpStatus;
-import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import io.quarkus.test.scenarios.QuarkusScenario;
import io.restassured.specification.RequestSpecification;
-// TODO https://github.com/quarkus-qe/quarkus-test-suite/issues/756
-@Tag("fips-incompatible") //native-mode
@QuarkusScenario
public class DataSourceConfigPanacheWithFlywayIT extends PanacheWithFlywayBaseIT {
diff --git a/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/dbpool/AgroalPoolTest.java b/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/dbpool/AgroalPoolTest.java
index 8bf354fbe..2c763c429 100644
--- a/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/dbpool/AgroalPoolTest.java
+++ b/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/dbpool/AgroalPoolTest.java
@@ -23,7 +23,6 @@
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import io.agroal.api.AgroalDataSource;
@@ -46,7 +45,6 @@
* Some of these tests required some extra load, in order to reproduce concurrency issues.
*/
@EnabledWhenLinuxContainersAvailable
-@Tag("fips-incompatible") // native-mode
@QuarkusTest
@TestProfile(AgroalTestProfile.class)
public class AgroalPoolTest {
diff --git a/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/dbpool/AgroalTestProfile.java b/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/dbpool/AgroalTestProfile.java
index 3c6c42c83..99105a4c6 100644
--- a/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/dbpool/AgroalTestProfile.java
+++ b/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/dbpool/AgroalTestProfile.java
@@ -25,7 +25,7 @@ public List testResources() {
public Map getConfigOverrides() {
Map config = new HashMap<>();
config.put("quarkus.datasource.devservices.enabled", "false");
- config.put("quarkus.datasource.with-xa.devservices", "false");
+ config.put("quarkus.datasource.with-xa.devservices.enabled", "false");
return config;
}
}
diff --git a/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/dbpool/MySqlDatabaseTestResource.java b/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/dbpool/MySqlDatabaseTestResource.java
index f1f90afe5..c5bb13348 100644
--- a/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/dbpool/MySqlDatabaseTestResource.java
+++ b/sql-db/panache-flyway/src/test/java/io/quarkus/ts/sqldb/panacheflyway/dbpool/MySqlDatabaseTestResource.java
@@ -7,7 +7,7 @@
import org.apache.commons.lang3.StringUtils;
import org.testcontainers.containers.GenericContainer;
-import org.testcontainers.containers.MySQLContainer;
+import org.testcontainers.containers.wait.strategy.LogMessageWaitStrategy;
import org.testcontainers.utility.DockerImageName;
import io.quarkus.test.common.QuarkusTestResourceLifecycleManager;
@@ -20,25 +20,39 @@ public class MySqlDatabaseTestResource implements QuarkusTestResourceLifecycleMa
private static final String DEFAULT_SCHEMA = "test";
private static final String MYSQL = "mysql";
private static final String WITH_XA_PROFILE = ".with-xa";
+ private static final String USER_PROPERTY = "MYSQL_USER";
+ private static final String PASSWORD_PROPERTY = "MYSQL_PASSWORD";
+ private static final String PASSWORD_ROOT_PROPERTY = "MYSQL_ROOT_PASSWORD";
+ private static final String DATABASE_PROPERTY = "MYSQL_DATABASE";
+ private static final String USER = "user";
- private MySQLContainer> container;
+ private GenericContainer> container;
@Override
public Map start() {
String image = System.getProperty("mysql.80.image");
- container = new MySQLContainer<>(
+ // we used managed version of 'org.testcontainers:mysql' and version '1.19.7' failed in FIPS-enabled environment
+ // over 'SA/ECB/OAEPWithSHA-1AndMGF1Padding' cipher as SunJCE provider was not available in FIPS
+ // hence for now, we use GenericContainer which allows to override waiting strategy that works in FIPS
+ container = new GenericContainer<>(
DockerImageName.parse(image).asCompatibleSubstituteFor(MYSQL));
- container.withUrlParam("currentSchema", DEFAULT_SCHEMA);
+ container.waitingFor(new LogMessageWaitStrategy().withRegEx(".*Only MySQL server logs after this point.*\\s"));
+ container.withExposedPorts(3306);
+ container.withEnv(USER_PROPERTY, USER);
+ container.withEnv(PASSWORD_PROPERTY, USER);
+ container.withEnv(PASSWORD_ROOT_PROPERTY, USER);
+ container.withEnv(DATABASE_PROPERTY, DEFAULT_SCHEMA);
container.start();
+ var jdbcUrl = "jdbc:mysql://localhost:%d/%s".formatted(container.getMappedPort(3306), DEFAULT_SCHEMA);
Map config = new HashMap<>();
- config.put(defaultDataSource(QUARKUS_DB_JDBC_URL), container.getJdbcUrl());
- config.put(defaultDataSource(QUARKUS_DB_USER), container.getUsername());
- config.put(defaultDataSource(QUARKUS_DB_PASSWORD), container.getPassword());
- config.put(withXaDataSource(QUARKUS_DB_JDBC_URL), container.getJdbcUrl());
- config.put(withXaDataSource(QUARKUS_DB_USER), container.getUsername());
- config.put(withXaDataSource(QUARKUS_DB_PASSWORD), container.getPassword());
+ config.put(defaultDataSource(QUARKUS_DB_JDBC_URL), jdbcUrl);
+ config.put(defaultDataSource(QUARKUS_DB_USER), USER);
+ config.put(defaultDataSource(QUARKUS_DB_PASSWORD), USER);
+ config.put(withXaDataSource(QUARKUS_DB_JDBC_URL), jdbcUrl);
+ config.put(withXaDataSource(QUARKUS_DB_USER), USER);
+ config.put(withXaDataSource(QUARKUS_DB_PASSWORD), USER);
return Collections.unmodifiableMap(config);
}
diff --git a/sql-db/reactive-rest-data-panache/src/test/java/io/quarkus/ts/reactive/rest/data/panache/MySqlPanacheResourceIT.java b/sql-db/reactive-rest-data-panache/src/test/java/io/quarkus/ts/reactive/rest/data/panache/MySqlPanacheResourceIT.java
index a97a7d73a..faae7f8d6 100644
--- a/sql-db/reactive-rest-data-panache/src/test/java/io/quarkus/ts/reactive/rest/data/panache/MySqlPanacheResourceIT.java
+++ b/sql-db/reactive-rest-data-panache/src/test/java/io/quarkus/ts/reactive/rest/data/panache/MySqlPanacheResourceIT.java
@@ -8,8 +8,7 @@
import io.quarkus.test.services.Container;
import io.quarkus.test.services.QuarkusApplication;
-// TODO https://github.com/quarkus-qe/quarkus-test-suite/issues/756
-@Tag("fips-incompatible") // native-mode
+@Tag("fips-incompatible") // TODO: enable when the https://github.com/eclipse-vertx/vertx-sql-client/issues/1436 is fixed
@QuarkusScenario
public class MySqlPanacheResourceIT extends AbstractPanacheResourceIT {
diff --git a/sql-db/sql-app-compatibility/src/test/java/io/quarkus/ts/sqldb/compatibility/MySqlDatabaseIT.java b/sql-db/sql-app-compatibility/src/test/java/io/quarkus/ts/sqldb/compatibility/MySqlDatabaseIT.java
index f1bbc71ad..b6f7ad860 100644
--- a/sql-db/sql-app-compatibility/src/test/java/io/quarkus/ts/sqldb/compatibility/MySqlDatabaseIT.java
+++ b/sql-db/sql-app-compatibility/src/test/java/io/quarkus/ts/sqldb/compatibility/MySqlDatabaseIT.java
@@ -1,7 +1,5 @@
package io.quarkus.ts.sqldb.compatibility;
-import org.junit.jupiter.api.Tag;
-
import io.quarkus.test.bootstrap.MySqlService;
import io.quarkus.test.bootstrap.RestService;
import io.quarkus.test.scenarios.QuarkusScenario;
@@ -9,8 +7,6 @@
import io.quarkus.test.services.Container;
import io.quarkus.test.services.QuarkusApplication;
-// TODO https://github.com/quarkus-qe/quarkus-test-suite/issues/756
-@Tag("fips-incompatible") // native-mode
@QuarkusScenario
@DisabledOnNative(reason = "Compatibility mode check in JVM mode is enough for this DB")
public class MySqlDatabaseIT extends AbstractSqlDatabaseIT {
diff --git a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/MySqlDatabaseIT.java b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/MySqlDatabaseIT.java
index ee746f940..b298347a2 100644
--- a/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/MySqlDatabaseIT.java
+++ b/sql-db/sql-app/src/test/java/io/quarkus/ts/sqldb/sqlapp/MySqlDatabaseIT.java
@@ -1,15 +1,11 @@
package io.quarkus.ts.sqldb.sqlapp;
-import org.junit.jupiter.api.Tag;
-
import io.quarkus.test.bootstrap.MySqlService;
import io.quarkus.test.bootstrap.RestService;
import io.quarkus.test.scenarios.QuarkusScenario;
import io.quarkus.test.services.Container;
import io.quarkus.test.services.QuarkusApplication;
-// TODO https://github.com/quarkus-qe/quarkus-test-suite/issues/756
-@Tag("fips-incompatible") // native-mode
@QuarkusScenario
public class MySqlDatabaseIT extends AbstractSqlDatabaseIT {
diff --git a/sql-db/vertx-sql/src/test/java/io/quarkus/ts/vertx/sql/handlers/MysqlHandlerIT.java b/sql-db/vertx-sql/src/test/java/io/quarkus/ts/vertx/sql/handlers/MysqlHandlerIT.java
index b8adca111..9208d3f15 100644
--- a/sql-db/vertx-sql/src/test/java/io/quarkus/ts/vertx/sql/handlers/MysqlHandlerIT.java
+++ b/sql-db/vertx-sql/src/test/java/io/quarkus/ts/vertx/sql/handlers/MysqlHandlerIT.java
@@ -8,8 +8,7 @@
import io.quarkus.test.services.Container;
import io.quarkus.test.services.QuarkusApplication;
-// TODO https://github.com/quarkus-qe/quarkus-test-suite/issues/756
-@Tag("fips-incompatible") // native-mode
+@Tag("fips-incompatible") // TODO: enable when the https://github.com/eclipse-vertx/vertx-sql-client/issues/1436 is fixed
@QuarkusScenario
public class MysqlHandlerIT extends CommonTestCases {
private static final String DATABASE = "amadeus";