This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/master by this push:
new 42ca9d9654 Upgrading maven-surefire-plugin and maven-failsafe-plugin
(#1523)
42ca9d9654 is described below
commit 42ca9d96546fded4975e773afb6bfe4533850a91
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Fri Sep 11 07:43:11 2026 +0200
Upgrading maven-surefire-plugin and maven-failsafe-plugin (#1523)
---
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 fc32d1628e..3f947375d1 100644
--- a/client/idrepo/console/pom.xml
+++ b/client/idrepo/console/pom.xml
@@ -296,6 +296,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 e1369bd413..1b35920111 100644
--- a/client/idrepo/enduser/pom.xml
+++ b/client/idrepo/enduser/pom.xml
@@ -267,6 +267,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 c93954bb40..457ed80b24 100644
--- a/core/self-keymaster-starter/pom.xml
+++ b/core/self-keymaster-starter/pom.xml
@@ -100,6 +100,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 d73dfde815..c35524868c 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 2bba07bfe3..a8f36e302e 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 c9afec91c0..9d9ee0a4dc 100644
--- a/fit/core-reference/pom.xml
+++ b/fit/core-reference/pom.xml
@@ -1723,7 +1723,7 @@ under the License.
<artifactId>maven-failsafe-plugin</artifactId>
<inherited>true</inherited>
<configuration>
- <skipTests>${skipTests}</skipTests>
+ <skipITs>${skipITs}</skipITs>
</configuration>
</plugin>
</plugins>
@@ -1735,6 +1735,7 @@ under the License.
<properties>
<skipTests>true</skipTests>
+ <skipITs>true</skipITs>
</properties>
<build>
@@ -1765,6 +1766,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 f5536feb24..97ac5813c4 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
@@ -80,6 +80,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")) {
@@ -114,6 +116,8 @@ public abstract class AbstractUIITCase {
JsonNode anySearchDAO = beans.findValues("anySearchDAO").getFirst();
IS_EXT_SEARCH_ENABLED =
anySearchDAO.get("type").asString().contains("Elasticsearch")
|| anySearchDAO.get("type").asString().contains("OpenSearch");
+
+ IS_NEO4J_PERSISTENCE =
anySearchDAO.get("resource").asString().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 ae62a23f22..959d015e5d 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);
@@ -779,6 +785,7 @@ public class PullTaskITCase extends AbstractTaskITCase {
}
}
+ @Order(3)
@Test
public void remediation() {
// First of all, clear any potential conflict with existing user /
group
@@ -865,6 +872,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 52b30c9665..1dfe9a61ca 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
@@ -540,6 +540,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 f7973c17a9..c4d73c93d8 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 ffcd247aa4..0cd8017d9b 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 bf23965f16..b2721d3883 100644
--- a/fit/wa-reference/pom.xml
+++ b/fit/wa-reference/pom.xml
@@ -393,15 +393,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 34f872b8ce..324bfd4d39 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1799,7 +1799,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>
@@ -1809,7 +1809,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>
@@ -2423,6 +2423,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 6142a0cfed..aea6afe434 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.");
}