Run docker tests with proper theme and fix chromedriver path

Signed-off-by: Hynek Mlnarik <hmlnarik@redhat.com>
This commit is contained in:
Hynek Mlnarik 2024-07-17 10:16:43 +02:00 committed by Hynek Mlnařík
parent cdc99f82ea
commit ab6ca323db
5 changed files with 24 additions and 9 deletions

View file

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -x
dnf install -y java-21-openjdk-devel dnf install -y java-21-openjdk-devel
fips-mode-setup --enable --no-bootcfg fips-mode-setup --enable --no-bootcfg
@ -17,4 +17,4 @@ export JAVA_HOME=/etc/alternatives/java_sdk_21
set -o pipefail set -o pipefail
# Profile app-server-wildfly needs to be explicitly set for FIPS tests # Profile app-server-wildfly needs to be explicitly set for FIPS tests
./mvnw test -Dsurefire.rerunFailingTestsCount=$SUREFIRE_RERUN_FAILING_COUNT -nsu -B -Pauth-server-quarkus,auth-server-fips140-2,app-server-wildfly -Dcom.redhat.fips=false $STRICT_OPTIONS -Dtest=$TESTS -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh ./mvnw test -Dsurefire.rerunFailingTestsCount=$SUREFIRE_RERUN_FAILING_COUNT -nsu -B -Pauth-server-quarkus,auth-server-fips140-2,app-server-wildfly -Dcom.redhat.fips=false $STRICT_OPTIONS -Dtest=$TESTS -Dlogin.theme.default=keycloak -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh

View file

@ -47,4 +47,4 @@ echo "Building quarkus keyclok server with SSSD integration"
./mvnw install -nsu -B -e -pl testsuite/integration-arquillian/servers/auth-server/quarkus -Pauth-server-quarkus ./mvnw install -nsu -B -e -pl testsuite/integration-arquillian/servers/auth-server/quarkus -Pauth-server-quarkus
echo "Executing SSSD tests" echo "Executing SSSD tests"
./mvnw -f testsuite/integration-arquillian/tests/other/sssd/pom.xml test -Psssd-testing -Pauth-server-quarkus ./mvnw -f testsuite/integration-arquillian/tests/other/sssd/pom.xml test -Psssd-testing -Dlogin.theme.default=base -Pauth-server-quarkus

View file

@ -292,7 +292,11 @@ jobs:
run: | run: |
TESTS=`testsuite/integration-arquillian/tests/base/testsuites/suite.sh jdk` TESTS=`testsuite/integration-arquillian/tests/base/testsuites/suite.sh jdk`
echo "Tests: $TESTS" echo "Tests: $TESTS"
./mvnw test ${{ env.SUREFIRE_RETRY }} -Pauth-server-quarkus -Dtest=$TESTS -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh if [ "$OSTYPE" == "msys" ]; then
./mvnw test ${{ env.SUREFIRE_RETRY }} -Pauth-server-quarkus -Dtest=$TESTS "-Dwebdriver.chrome.driver=$ChromeWebDriver/chromedriver.exe" -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh
else
./mvnw test ${{ env.SUREFIRE_RETRY }} -Pauth-server-quarkus -Dtest=$TESTS "-Dwebdriver.chrome.driver=$CHROMEWEBDRIVER/chromedriver" -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh
fi
- name: Build with JDK - name: Build with JDK
run: run:
@ -349,7 +353,7 @@ jobs:
;; ;;
esac esac
echo "Variant: $VARIANT" echo "Variant: $VARIANT"
./mvnw test ${{ env.SUREFIRE_RETRY }} -Pauth-server-quarkus $VARIANT -Dtest=$TESTS -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh ./mvnw test ${{ env.SUREFIRE_RETRY }} -Pauth-server-quarkus "-Dwebdriver.chrome.driver=$CHROMEWEBDRIVER/chromedriver" $VARIANT -Dtest=$TESTS -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh
- name: Upload JVM Heapdumps - name: Upload JVM Heapdumps
if: always() if: always()
@ -497,7 +501,7 @@ jobs:
run: | run: |
TESTS=`testsuite/integration-arquillian/tests/base/testsuites/suite.sh database` TESTS=`testsuite/integration-arquillian/tests/base/testsuites/suite.sh database`
echo "Tests: $TESTS" echo "Tests: $TESTS"
./mvnw test ${{ env.SUREFIRE_RETRY }} -Pauth-server-quarkus -Pdb-${{ matrix.db }} -Dtest=$TESTS -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh ./mvnw test ${{ env.SUREFIRE_RETRY }} -Pauth-server-quarkus -Pdb-${{ matrix.db }} "-Dwebdriver.chrome.driver=$CHROMEWEBDRIVER/chromedriver" -Dtest=$TESTS -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh
- name: Upload JVM Heapdumps - name: Upload JVM Heapdumps
if: always() if: always()
@ -590,7 +594,7 @@ jobs:
- name: Run cluster tests - name: Run cluster tests
run: | run: |
./mvnw test ${{ env.SUREFIRE_RETRY }} -Pauth-server-cluster-quarkus,db-postgres -Dsession.cache.owners=2 -Dtest=**.cluster.** -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh ./mvnw test ${{ env.SUREFIRE_RETRY }} -Pauth-server-cluster-quarkus,db-postgres "-Dwebdriver.chrome.driver=$CHROMEWEBDRIVER/chromedriver" -Dsession.cache.owners=2 -Dtest=**.cluster.** -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh
- name: Upload JVM Heapdumps - name: Upload JVM Heapdumps
if: always() if: always()
@ -756,7 +760,7 @@ jobs:
run: | run: |
TESTS=`testsuite/integration-arquillian/tests/base/testsuites/suite.sh webauthn` TESTS=`testsuite/integration-arquillian/tests/base/testsuites/suite.sh webauthn`
echo "Tests: $TESTS" echo "Tests: $TESTS"
./mvnw test ${{ env.SUREFIRE_RETRY }} -Pauth-server-quarkus -Dtest=$TESTS -Dbrowser=${{ matrix.browser }} -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh ./mvnw test ${{ env.SUREFIRE_RETRY }} -Pauth-server-quarkus -Dtest=$TESTS -Dbrowser=${{ matrix.browser }} "-Dwebdriver.chrome.driver=$CHROMEWEBDRIVER/chromedriver" "-Dwebdriver.gecko.driver=$GECKOWEBDRIVER/geckodriver" -pl testsuite/integration-arquillian/tests/base 2>&1 | misc/log/trimmer.sh
- name: Upload JVM Heapdumps - name: Upload JVM Heapdumps
if: always() if: always()
@ -839,6 +843,7 @@ jobs:
-Dmigration.import.file.name=migration-realm-${{ matrix.old-version }}.json \ -Dmigration.import.file.name=migration-realm-${{ matrix.old-version }}.json \
-Dauth.server.ssl.required=false \ -Dauth.server.ssl.required=false \
-Dauth.server.db.host=localhost \ -Dauth.server.db.host=localhost \
"-Dwebdriver.chrome.driver=$CHROMEWEBDRIVER/chromedriver" \
-f testsuite/integration-arquillian/pom.xml 2>&1 | misc/log/trimmer.sh -f testsuite/integration-arquillian/pom.xml 2>&1 | misc/log/trimmer.sh
- name: Upload JVM Heapdumps - name: Upload JVM Heapdumps

View file

@ -159,6 +159,8 @@ public abstract class AbstractKeycloakTest {
private boolean resetTimeOffset; private boolean resetTimeOffset;
private static String PREFERRED_DEFAULT_LOGIN_THEME = System.getProperty("login.theme.default");
@Before @Before
public void beforeAbstractKeycloakTest() throws Exception { public void beforeAbstractKeycloakTest() throws Exception {
ProfileAssume.setTestContext(testContext); ProfileAssume.setTestContext(testContext);
@ -491,6 +493,12 @@ public abstract class AbstractKeycloakTest {
} }
} }
// modify login theme if desired
if (PREFERRED_DEFAULT_LOGIN_THEME != null && ! PREFERRED_DEFAULT_LOGIN_THEME.isBlank() && realm.getLoginTheme() == null) {
log.debugf("Modifying login theme to %s", PREFERRED_DEFAULT_LOGIN_THEME);
realm.setLoginTheme(PREFERRED_DEFAULT_LOGIN_THEME);
}
log.debug("--importing realm: " + realm.getRealm()); log.debug("--importing realm: " + realm.getRealm());
try { try {
adminClient.realms().realm(realm.getRealm()).remove(); adminClient.realms().realm(realm.getRealm()).remove();

View file

@ -210,6 +210,7 @@
<browser.strict.cookies>false</browser.strict.cookies> <browser.strict.cookies>false</browser.strict.cookies>
<webdriverDownloadBinaries>true</webdriverDownloadBinaries> <webdriverDownloadBinaries>true</webdriverDownloadBinaries>
<droneInstantiationTimeoutInSeconds>60</droneInstantiationTimeoutInSeconds> <droneInstantiationTimeoutInSeconds>60</droneInstantiationTimeoutInSeconds>
<login.theme.default/>
<github.username/> <github.username/>
<github.secretToken/> <github.secretToken/>
<ieDriverArch>Win32</ieDriverArch> <ieDriverArch>Win32</ieDriverArch>
@ -514,6 +515,7 @@
<htmlUnitBrowserVersion>${htmlUnitBrowserVersion}</htmlUnitBrowserVersion> <htmlUnitBrowserVersion>${htmlUnitBrowserVersion}</htmlUnitBrowserVersion>
<webdriverDownloadBinaries>${webdriverDownloadBinaries}</webdriverDownloadBinaries> <webdriverDownloadBinaries>${webdriverDownloadBinaries}</webdriverDownloadBinaries>
<droneInstantiationTimeoutInSeconds>${droneInstantiationTimeoutInSeconds}</droneInstantiationTimeoutInSeconds> <droneInstantiationTimeoutInSeconds>${droneInstantiationTimeoutInSeconds}</droneInstantiationTimeoutInSeconds>
<login.theme.default>${login.theme.default}</login.theme.default>
<github.username>${github.username}</github.username> <github.username>${github.username}</github.username>
<github.secretToken>${github.secretToken}</github.secretToken> <github.secretToken>${github.secretToken}</github.secretToken>