diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c5fa9dcd698..561370f9bd4 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -372,7 +372,7 @@ jobs:
./aws_ec2.sh create ${REGION}
./keycloak_ec2_installer.sh ${REGION} /tmp/keycloak.zip
./mvn_ec2_runner.sh ${REGION} "clean install -B -DskipTests -Pdistribution"
- ./mvn_ec2_runner.sh ${REGION} "clean install -B -DskipTests -pl testsuite/integration-arquillian/servers/auth-server/quarkus -Pauth-server-quarkus -Dmaven.build.cache.enabled=true"
+ ./mvn_ec2_runner.sh ${REGION} "clean install -B -DskipTests -pl testsuite/integration-arquillian/servers/auth-server/quarkus -Pauth-server-quarkus -Pdb-aurora-postgres -Dmaven.build.cache.enabled=true"
./mvn_ec2_runner.sh ${REGION} "test -B ${{ env.SUREFIRE_RETRY }} -Pauth-server-quarkus -Pdb-${{ matrix.db }} $PROPS -Dtest=$TESTS -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh"
# Copy returned surefire-report directories to workspace root to ensure they're discovered
diff --git a/testsuite/integration-arquillian/pom.xml b/testsuite/integration-arquillian/pom.xml
index 25bb4e15a66..3ec43f7bb98 100644
--- a/testsuite/integration-arquillian/pom.xml
+++ b/testsuite/integration-arquillian/pom.xml
@@ -505,19 +505,19 @@
db-aurora-postgres
- postgres
- org.postgresql.Driver
+ aurora-postgres
+ software.amazon.jdbc.Driver
keycloak
keycloak
secret99
- jdbc:postgresql://${auth.server.db.host}/${keycloak.connectionsJpa.database}${keycloak.connectionsJpa.jdbcParameters}
+ jdbc:aws-wrapper:postgresql://${auth.server.db.host}/${keycloak.connectionsJpa.database}${keycloak.connectionsJpa.jdbcParameters}
- org.postgresql
- postgresql
- ${postgresql-jdbc.version}
+ software.amazon.jdbc
+ aws-advanced-jdbc-wrapper
+ ${aws-jdbc-wrapper.version}
diff --git a/testsuite/integration-arquillian/servers/auth-server/quarkus/pom.xml b/testsuite/integration-arquillian/servers/auth-server/quarkus/pom.xml
index 1d6c3b44067..6bbd8ab3e41 100644
--- a/testsuite/integration-arquillian/servers/auth-server/quarkus/pom.xml
+++ b/testsuite/integration-arquillian/servers/auth-server/quarkus/pom.xml
@@ -387,5 +387,36 @@
+
+
+ db-aurora-postgres
+
+
+
+ maven-dependency-plugin
+
+
+ includeProprietaryDependencies
+ generate-resources
+
+ copy
+
+
+
+
+ software.amazon.jdbc
+ aws-advanced-jdbc-wrapper
+ ${aws-jdbc-wrapper.version}
+ jar
+ ${auth.server.home}/providers
+
+
+
+
+
+
+
+
+
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/model/StoreProvider.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/model/StoreProvider.java
index c5bbbb64a05..fc215dc0362 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/model/StoreProvider.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/model/StoreProvider.java
@@ -31,27 +31,31 @@ public enum StoreProvider {
JPA("jpa") {
@Override
public void addStoreOptions(List commands) {
- getDbVendor().ifPresent(vendor -> commands.add("--db=" + vendor));
- commands.add("--db-username=" + System.getProperty("keycloak.connectionsJpa.user"));
- commands.add("--db-password=" + System.getProperty("keycloak.connectionsJpa.password"));
- if ("mssql".equals(getDbVendor().orElse(null))){
- commands.add("--transaction-xa-enabled=false");
- }
- commands.add("--db-url=" + System.getProperty("keycloak.connectionsJpa.url"));
+ addOptions("--", commands);
}
@Override
public List getStoreOptionsToKeycloakConfImport() {
List options = new ArrayList<>();
- getDbVendor().ifPresent(vendor -> options.add("db=" + vendor));
- options.add("db-url=" + System.getProperty("keycloak.connectionsJpa.url"));
- options.add("db-username=" + System.getProperty("keycloak.connectionsJpa.user"));
- options.add("db-password=" + System.getProperty("keycloak.connectionsJpa.password"));
- if ("mssql".equals(getDbVendor().orElse(null))){
- options.add("transaction-xa-enabled=false");
- }
+ addOptions("", options);
return options;
}
+
+ private void addOptions(String prefix, List options) {
+ getDbVendor().ifPresent(vendor -> {
+ if ("mssql".equals(vendor)) {
+ options.add(prefix + "transaction-xa-enabled=false");
+ } else if ("aurora-postgres".equals(vendor)){
+ vendor = "postgres";
+ options.add(prefix + "db-driver=" + System.getProperty("keycloak.connectionsJpa.driver"));
+ options.add(prefix + "transaction-xa-enabled=false");
+ }
+ options.add(prefix + "db=" + vendor);
+ });
+ options.add(prefix + "db-username=" + System.getProperty("keycloak.connectionsJpa.user"));
+ options.add(prefix + "db-password=" + System.getProperty("keycloak.connectionsJpa.password"));
+ options.add(prefix + "db-url=" + System.getProperty("keycloak.connectionsJpa.url"));
+ }
},
DEFAULT("default") {
@Override