This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch 4_1_X
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/4_1_X by this push:
new a01f8c6413 Upgrading maven-surefire-plugin and maven-failsafe-plugin
(#1531)
a01f8c6413 is described below
commit a01f8c6413a31313ede9f783ddf218733f83358c
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Fri Sep 11 13:14:40 2026 +0200
Upgrading maven-surefire-plugin and maven-failsafe-plugin (#1531)
---
client/idrepo/console/pom.xml | 1 +
client/idrepo/enduser/pom.xml | 1 +
core/self-keymaster-starter/pom.xml | 1 +
.../core/spring/security/DefaultCredentialChecker.java | 4 +++-
ext/openfga/client-openfga/pom.xml | 1 +
fit/console-reference/pom.xml | 5 +----
fit/core-reference/pom.xml | 4 +++-
.../test/java/org/apache/syncope/fit/AbstractUIITCase.java | 4 ++++
.../src/test/java/org/apache/syncope/fit/core/JWTITCase.java | 11 +++++------
.../test/java/org/apache/syncope/fit/core/PullTaskITCase.java | 8 ++++++++
.../src/test/java/org/apache/syncope/fit/core/UserITCase.java | 2 ++
.../java/org/apache/syncope/fit/enduser/AnonymousITCase.java | 3 +++
.../org/apache/syncope/fit/enduser/AuthenticatedITCase.java | 3 +++
fit/enduser-reference/pom.xml | 5 +----
fit/wa-reference/pom.xml | 5 +----
pom.xml | 5 +++--
sra/src/main/java/org/apache/syncope/sra/SecurityConfig.java | 2 +-
17 files changed, 42 insertions(+), 23 deletions(-)
diff --git a/client/idrepo/console/pom.xml b/client/idrepo/console/pom.xml
index 42250ed8e7..9acaab94cb 100644
--- a/client/idrepo/console/pom.xml
+++ b/client/idrepo/console/pom.xml
@@ -289,6 +289,7 @@ under the License.
<properties>
<maven.build.cache.skipCache>true</maven.build.cache.skipCache>
<skipTests>true</skipTests>
+ <skipITs>true</skipITs>
</properties>
<build>
diff --git a/client/idrepo/enduser/pom.xml b/client/idrepo/enduser/pom.xml
index 91e02d8497..a5ead0c4d6 100644
--- a/client/idrepo/enduser/pom.xml
+++ b/client/idrepo/enduser/pom.xml
@@ -256,6 +256,7 @@ under the License.
<properties>
<maven.build.cache.skipCache>true</maven.build.cache.skipCache>
<skipTests>true</skipTests>
+ <skipITs>true</skipITs>
</properties>
<build>
diff --git a/core/self-keymaster-starter/pom.xml
b/core/self-keymaster-starter/pom.xml
index 470b9d3c0e..4131ca9a9c 100644
--- a/core/self-keymaster-starter/pom.xml
+++ b/core/self-keymaster-starter/pom.xml
@@ -99,6 +99,7 @@ under the License.
<properties>
<maven.build.cache.skipCache>true</maven.build.cache.skipCache>
<skipTests>true</skipTests>
+ <skipITs>true</skipITs>
</properties>
<dependencies>
diff --git
a/core/spring/src/main/java/org/apache/syncope/core/spring/security/DefaultCredentialChecker.java
b/core/spring/src/main/java/org/apache/syncope/core/spring/security/DefaultCredentialChecker.java
index e0a8bc3e84..c877848553 100644
---
a/core/spring/src/main/java/org/apache/syncope/core/spring/security/DefaultCredentialChecker.java
+++
b/core/spring/src/main/java/org/apache/syncope/core/spring/security/DefaultCredentialChecker.java
@@ -64,7 +64,9 @@ public class DefaultCredentialChecker {
final String anonymousKey,
final boolean productionMode) throws IOException {
- try (InputStream in =
getClass().getResourceAsStream("/META-INF/default-credentials.properties")) {
+ try (InputStream in =
DefaultCredentialChecker.class.getResourceAsStream(
+ "/META-INF/default-credentials.properties")) {
+
Properties defaultCredentials = new Properties();
defaultCredentials.load(in);
defaultAesKeyInUse =
defaultCredentials.getProperty("default.aesSecretKey").equals(aesKey);
diff --git a/ext/openfga/client-openfga/pom.xml
b/ext/openfga/client-openfga/pom.xml
index a922a04368..17a6cf1ca5 100644
--- a/ext/openfga/client-openfga/pom.xml
+++ b/ext/openfga/client-openfga/pom.xml
@@ -35,6 +35,7 @@ under the License.
<properties>
<skipTests>true</skipTests>
+ <skipITs>true</skipITs>
<rootpom.basedir>${basedir}/../../..</rootpom.basedir>
</properties>
diff --git a/fit/console-reference/pom.xml b/fit/console-reference/pom.xml
index 3c3739afe4..f5df0666fd 100644
--- a/fit/console-reference/pom.xml
+++ b/fit/console-reference/pom.xml
@@ -211,15 +211,12 @@ under the License.
</build>
<profiles>
- <profile>
- <id>skipTests</id>
- </profile>
-
<profile>
<id>debug</id>
<properties>
<skipTests>true</skipTests>
+ <skipITs>true</skipITs>
</properties>
<build>
diff --git a/fit/core-reference/pom.xml b/fit/core-reference/pom.xml
index 643c94bc27..3aabf50997 100644
--- a/fit/core-reference/pom.xml
+++ b/fit/core-reference/pom.xml
@@ -1707,7 +1707,7 @@ under the License.
<artifactId>maven-failsafe-plugin</artifactId>
<inherited>true</inherited>
<configuration>
- <skipTests>${skipTests}</skipTests>
+ <skipITs>${skipITs}</skipITs>
</configuration>
</plugin>
</plugins>
@@ -1719,6 +1719,7 @@ under the License.
<properties>
<skipTests>true</skipTests>
+ <skipITs>true</skipITs>
</properties>
<build>
@@ -1749,6 +1750,7 @@ under the License.
<properties>
<skipTests>true</skipTests>
+ <skipITs>true</skipITs>
</properties>
<build>
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractUIITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractUIITCase.java
index cf1db38730..7497318ae4 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractUIITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractUIITCase.java
@@ -79,6 +79,8 @@ public abstract class AbstractUIITCase {
protected static boolean IS_EXT_SEARCH_ENABLED = false;
+ protected static boolean IS_NEO4J_PERSISTENCE = false;
+
@BeforeAll
public static void anonymousSetup() throws IOException {
try (InputStream propStream =
AbstractITCase.class.getResourceAsStream("/core.properties")) {
@@ -113,6 +115,8 @@ public abstract class AbstractUIITCase {
JsonNode anySearchDAO = beans.findValues("anySearchDAO").getFirst();
IS_EXT_SEARCH_ENABLED =
anySearchDAO.get("type").asText().contains("Elasticsearch")
|| anySearchDAO.get("type").asText().contains("OpenSearch");
+
+ IS_NEO4J_PERSISTENCE =
anySearchDAO.get("resource").asText().contains("neo4j");
}
protected static <V extends Serializable> Component findComponentByProp(
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/JWTITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/JWTITCase.java
index b77027f636..227100bbce 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/JWTITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/JWTITCase.java
@@ -18,6 +18,7 @@
*/
package org.apache.syncope.fit.core;
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
@@ -224,23 +225,21 @@ public class JWTITCase extends AbstractITCase {
@Test
public void expiredToken() throws ParseException, JOSEException {
// Get an initial token
- SyncopeClient localClient = CLIENT_FACTORY.create(ADMIN_UNAME,
ADMIN_PWD);
+ UserCR userCR =
UserITCase.getUniqueSample("[email protected]");
+ assertDoesNotThrow(() -> createUser(userCR));
+ SyncopeClient localClient =
CLIENT_FACTORY.create(userCR.getUsername(), userCR.getPassword());
AccessTokenService accessTokenService =
localClient.getService(AccessTokenService.class);
Response response = accessTokenService.login();
String token = response.getHeaderString(RESTHeaders.TOKEN);
assertNotNull(token);
SignedJWT jwt = SignedJWT.parse(token);
- String tokenId = jwt.getJWTClaimsSet().getJWTID();
// Create a new token using the Id of the first token
Date currentTime = new Date();
- JWTClaimsSet.Builder claimsSet = new JWTClaimsSet.Builder().
- jwtID(tokenId).
- subject(ADMIN_UNAME).
+ JWTClaimsSet.Builder claimsSet = new
JWTClaimsSet.Builder(jwt.getJWTClaimsSet()).
issueTime(currentTime).
- issuer(JWT_ISSUER).
expirationTime(new Date(currentTime.getTime() - 5000L)).
notBeforeTime(currentTime);
jwt = new SignedJWT(new JWSHeader(JWS_SIGNER.getJwsAlgorithm()),
claimsSet.build());
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
index b4cdf44164..79a234389b 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
@@ -119,10 +119,14 @@ import
org.identityconnectors.framework.common.objects.AttributeUtil;
import org.identityconnectors.framework.common.objects.Name;
import org.identityconnectors.framework.common.objects.Uid;
import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
+import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestMethodOrder;
import org.springframework.core.task.SimpleAsyncTaskExecutor;
import org.springframework.jdbc.core.JdbcTemplate;
+@TestMethodOrder(OrderAnnotation.class)
public class PullTaskITCase extends AbstractTaskITCase {
private static final String LDAP_PULL_TASK =
"1e419ca4-ea81-4493-a14f-28b90113686d";
@@ -239,6 +243,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
assertEquals(groupTemplate,
task.getTemplates().get(AnyTypeKind.GROUP.name()));
}
+ @Order(1)
@Test
public void fromCSV() throws Exception {
assumeFalse(IS_EXT_SEARCH_ENABLED);
@@ -408,6 +413,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
}
}
+ @Order(2)
@Test
public void reconcileFromLDAP() {
assumeFalse(IS_NEO4J_PERSISTENCE);
@@ -805,6 +811,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
}
}
+ @Order(3)
@Test
public void remediation() {
// First of all, clear any potential conflict with existing user /
group
@@ -891,6 +898,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
}
}
+ @Order(4)
@Test
public void remediationSinglePull() throws IOException {
// First of all, clear any potential conflict with existing user /
group
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
index 22e0d0b056..7cdd7394c8 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
@@ -541,6 +541,8 @@ public class UserITCase extends AbstractITCase {
@Test
public void updateSamePassword() {
+ assumeFalse(IS_NEO4J_PERSISTENCE);
+
assertThrows(SyncopeClientException.class, () -> {
UserCR userCR = getUniqueSample("[email protected]");
userCR.setRealm("/even/two");
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AnonymousITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AnonymousITCase.java
index b190552831..49cb92874d 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AnonymousITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AnonymousITCase.java
@@ -20,6 +20,7 @@ package org.apache.syncope.fit.enduser;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assumptions.assumeFalse;
import org.apache.syncope.client.enduser.pages.Login;
import org.apache.syncope.client.enduser.pages.SelfPasswordReset;
@@ -40,6 +41,8 @@ public class AnonymousITCase extends AbstractEnduserITCase {
@Test
public void selfCreate() {
+ assumeFalse(IS_NEO4J_PERSISTENCE);
+
String username = "testUser";
TESTER.startPage(Login.class);
diff --git
a/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AuthenticatedITCase.java
b/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AuthenticatedITCase.java
index df84033593..eab5d87155 100644
---
a/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AuthenticatedITCase.java
+++
b/fit/core-reference/src/test/java/org/apache/syncope/fit/enduser/AuthenticatedITCase.java
@@ -20,6 +20,7 @@ package org.apache.syncope.fit.enduser;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assumptions.assumeFalse;
import java.io.IOException;
import org.apache.syncope.client.enduser.pages.Dashboard;
@@ -88,6 +89,8 @@ public class AuthenticatedITCase extends
AbstractEnduserITCase {
@Test
public void selfUpdate() {
+ assumeFalse(IS_NEO4J_PERSISTENCE);
+
String username = "selfupdate";
String newEmail = "[email protected]";
diff --git a/fit/enduser-reference/pom.xml b/fit/enduser-reference/pom.xml
index fff7c25c4d..dd1240fa6d 100644
--- a/fit/enduser-reference/pom.xml
+++ b/fit/enduser-reference/pom.xml
@@ -212,15 +212,12 @@ under the License.
</build>
<profiles>
- <profile>
- <id>skipTests</id>
- </profile>
-
<profile>
<id>debug</id>
<properties>
<skipTests>true</skipTests>
+ <skipITs>true</skipITs>
</properties>
<build>
diff --git a/fit/wa-reference/pom.xml b/fit/wa-reference/pom.xml
index 3fc904ed7d..d5cc16a04f 100644
--- a/fit/wa-reference/pom.xml
+++ b/fit/wa-reference/pom.xml
@@ -391,15 +391,12 @@ under the License.
</build>
<profiles>
- <profile>
- <id>skipTests</id>
- </profile>
-
<profile>
<id>debug</id>
<properties>
<skipTests>true</skipTests>
+ <skipITs>true</skipITs>
</properties>
<build>
diff --git a/pom.xml b/pom.xml
index 702c89217f..74791914bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1871,7 +1871,7 @@ under the License.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>3.5.6</version>
+ <version>3.6.0</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<encoding>utf-8</encoding>
@@ -1881,7 +1881,7 @@ under the License.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
- <version>3.5.6</version>
+ <version>3.6.0</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<runOrder>alphabetical</runOrder>
@@ -2494,6 +2494,7 @@ under the License.
<properties>
<maven.build.cache.skipCache>true</maven.build.cache.skipCache>
<skipTests>true</skipTests>
+ <skipITs>true</skipITs>
<ianal.phase>none</ianal.phase>
<modernizer.skip>true</modernizer.skip>
<rat.skip>true</rat.skip>
diff --git a/sra/src/main/java/org/apache/syncope/sra/SecurityConfig.java
b/sra/src/main/java/org/apache/syncope/sra/SecurityConfig.java
index 9a2644363f..65d24cf4e1 100644
--- a/sra/src/main/java/org/apache/syncope/sra/SecurityConfig.java
+++ b/sra/src/main/java/org/apache/syncope/sra/SecurityConfig.java
@@ -228,7 +228,7 @@ public class SecurityConfig {
String jwkSetUri =
oauth2ClientRegistration.getProviderDetails().getJwkSetUri();
if (StringUtils.isBlank(jwkSetUri)) {
throw new IllegalStateException(
- "sra.oauth2.jwkSetUri must be configured for OAuth2 JWT
verification."
+ "sra.oauth2.jwkSetUri must be configured for OAuth2 JWT
verification. "
+ "SRA cannot securely operate without JWT signature
verification.");
}