From c3c2bcd6b7240fee6d5bc9c90be2c9023badcc75 Mon Sep 17 00:00:00 2001 From: Josh Cummings <3627351+jzheaux@users.noreply.github.com> Date: Mon, 5 May 2025 12:19:55 -0600 Subject: [PATCH] Ignore Serialization in Test Components Since we don't need to ensure the serializability of test components across versions, we can ignore missing version UIDs when those test components aren't about testing Java serialization. Issue gh-17038 --- .../SpringSecurityCoreVersionSerializableTests.java | 10 ++-------- .../config/annotation/method/configuration/Authz.java | 1 + .../access/annotation/BusinessServiceImpl.java | 5 +---- .../ExpressionProtectedBusinessServiceImpl.java | 5 +---- .../access/annotation/Jsr250BusinessServiceImpl.java | 5 +---- 5 files changed, 6 insertions(+), 20 deletions(-) diff --git a/config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java b/config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java index c9843c7ed6..2712617475 100644 --- a/config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java +++ b/config/src/test/java/org/springframework/security/SpringSecurityCoreVersionSerializableTests.java @@ -740,17 +740,11 @@ class SpringSecurityCoreVersionSerializableTests { } } - static Stream getCurrentSerializedFiles() throws IOException { + static Stream getCurrentSerializedFiles() throws Exception { assertThat(currentVersionFolder.toFile().exists()) .as("Make sure that the " + currentVersionFolder + " exists and is not empty") .isTrue(); - try (Stream files = Files.list(currentVersionFolder)) { - if (files.findFirst().isEmpty()) { - fail("Please make sure to run SpringSecurityCoreVersionSerializableTests#serializeCurrentVersionClasses for the " - + getPreviousVersion() + " version"); - } - } - return Files.list(currentVersionFolder); + return getClassesToSerialize().map((clazz) -> currentVersionFolder.resolve(clazz.getName() + ".serialized")); } @ParameterizedTest diff --git a/config/src/test/java/org/springframework/security/config/annotation/method/configuration/Authz.java b/config/src/test/java/org/springframework/security/config/annotation/method/configuration/Authz.java index 145f344d12..5b6c784c7f 100644 --- a/config/src/test/java/org/springframework/security/config/annotation/method/configuration/Authz.java +++ b/config/src/test/java/org/springframework/security/config/annotation/method/configuration/Authz.java @@ -55,6 +55,7 @@ public class Authz { return Mono.just(checkResult(result)); } + @SuppressWarnings("serial") public static class AuthzResult extends AuthorizationDecision { public AuthzResult(boolean granted) { diff --git a/core/src/test/java/org/springframework/security/access/annotation/BusinessServiceImpl.java b/core/src/test/java/org/springframework/security/access/annotation/BusinessServiceImpl.java index 587e795f5a..1bcf1ba84d 100644 --- a/core/src/test/java/org/springframework/security/access/annotation/BusinessServiceImpl.java +++ b/core/src/test/java/org/springframework/security/access/annotation/BusinessServiceImpl.java @@ -16,18 +16,15 @@ package org.springframework.security.access.annotation; -import java.io.Serial; import java.util.ArrayList; import java.util.List; /** * @author Joe Scalise */ +@SuppressWarnings("serial") public class BusinessServiceImpl implements BusinessService { - @Serial - private static final long serialVersionUID = -4249394090237180795L; - @Override @Secured({ "ROLE_USER" }) public void someUserMethod1() { diff --git a/core/src/test/java/org/springframework/security/access/annotation/ExpressionProtectedBusinessServiceImpl.java b/core/src/test/java/org/springframework/security/access/annotation/ExpressionProtectedBusinessServiceImpl.java index 1ca226709b..1c6fd2a84e 100644 --- a/core/src/test/java/org/springframework/security/access/annotation/ExpressionProtectedBusinessServiceImpl.java +++ b/core/src/test/java/org/springframework/security/access/annotation/ExpressionProtectedBusinessServiceImpl.java @@ -16,7 +16,6 @@ package org.springframework.security.access.annotation; -import java.io.Serial; import java.util.ArrayList; import java.util.List; @@ -24,11 +23,9 @@ import org.springframework.security.access.prepost.PostFilter; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreFilter; +@SuppressWarnings("serial") public class ExpressionProtectedBusinessServiceImpl implements BusinessService { - @Serial - private static final long serialVersionUID = -3320014879907436606L; - @Override public void someAdminMethod() { } diff --git a/core/src/test/java/org/springframework/security/access/annotation/Jsr250BusinessServiceImpl.java b/core/src/test/java/org/springframework/security/access/annotation/Jsr250BusinessServiceImpl.java index 6d9f34ac61..4eba9445a6 100644 --- a/core/src/test/java/org/springframework/security/access/annotation/Jsr250BusinessServiceImpl.java +++ b/core/src/test/java/org/springframework/security/access/annotation/Jsr250BusinessServiceImpl.java @@ -16,7 +16,6 @@ package org.springframework.security.access.annotation; -import java.io.Serial; import java.util.ArrayList; import java.util.List; @@ -27,11 +26,9 @@ import jakarta.annotation.security.RolesAllowed; * @author Luke Taylor */ @PermitAll +@SuppressWarnings("serial") public class Jsr250BusinessServiceImpl implements BusinessService { - @Serial - private static final long serialVersionUID = -7550211450382764339L; - @Override @RolesAllowed("ROLE_USER") public void someUserMethod1() {