[java-identity-provider] 01/01: JSSH-71 Remove the impact of the DestructableComponent Interface
Codeberg
noreply at shibboleth.net
Wed May 27 14:15:04 UTC 2026
This is an automated email from the git hooks/post-receive script.
codeberg pushed a commit to branch dev/JSSH-71
in repository java-identity-provider.
View the commit online:
https://codeberg.org/Shibboleth/java-identity-provider/commit/b97da67a5255ad4766260ba0934c4e9f2746bb6d
commit b97da67a5255ad4766260ba0934c4e9f2746bb6d
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed May 27 14:37:20 2026 +0100
JSSH-71 Remove the impact of the DestructableComponent Interface
https://shibboleth.atlassian.net/browse/JSSH-71
Remove calls to destroy() in java code up to (but not including) idp-conf-impl.
In all but one case this is in tests and we replace the call with an TestNG
assertion that the object doesn't have our tear down annotations or a call to
the "call the tear down assertion".
The exception is in SAMLAuthnController.java where a no-op call to destroy is
replaced with an assert that there are no call points.
---
.../net/shibboleth/idp/admin/impl/DoStorageOperationTest.java | 7 +++++--
.../authn/revocation/impl/AttributeRevocationConditionTest.java | 5 ++++-
.../idp/authn/revocation/impl/RevocationCacheConditionTest.java | 9 ++++++---
.../transcoding/impl/CASDateTimeAttributeTranscoderTest.java | 6 ++++--
.../transcoding/impl/CASScopedStringAttributeTranscoderTest.java | 5 ++++-
.../transcoding/impl/CASStringAttributeTranscoderTest.java | 5 ++++-
.../idp/cas/service/impl/MetadataServiceRegistryTest.java | 6 +++++-
.../idp/saml/saml2/profile/impl/SAMLAuthnController.java | 4 +++-
.../impl/CryptoTransientSAML1NameIdentifierGeneratorTest.java | 9 ++++++---
.../nameid/impl/CryptoTransientSAML2NameIDGeneratorTest.java | 9 ++++++---
.../impl/StoredTransientSAML1NameIdentifierGeneratorTest.java | 9 ++++++---
.../nameid/impl/StoredTransientSAML2NameIDGeneratorTest.java | 9 ++++++---
.../idp/saml/saml2/profile/impl/SessionManagerBaseTestCase.java | 9 +++++++--
.../shibboleth/idp/session/impl/SessionManagerBaseTestCase.java | 9 +++++++--
14 files changed, 73 insertions(+), 28 deletions(-)
diff --git a/idp-admin-impl/src/test/java/net/shibboleth/idp/admin/impl/DoStorageOperationTest.java b/idp-admin-impl/src/test/java/net/shibboleth/idp/admin/impl/DoStorageOperationTest.java
index ba7bf095e..80b48b41e 100644
--- a/idp-admin-impl/src/test/java/net/shibboleth/idp/admin/impl/DoStorageOperationTest.java
+++ b/idp-admin-impl/src/test/java/net/shibboleth/idp/admin/impl/DoStorageOperationTest.java
@@ -14,6 +14,8 @@
package net.shibboleth.idp.admin.impl;
+import static org.testng.Assert.assertFalse;
+
import java.io.IOException;
import java.text.ParseException;
import java.time.Duration;
@@ -41,6 +43,7 @@ import net.shibboleth.idp.profile.testing.ActionTestingSupport;
import net.shibboleth.idp.profile.testing.RequestContextBuilder;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
import net.shibboleth.shared.testing.ConstantSupplier;
/**
@@ -104,8 +107,8 @@ public class DoStorageOperationTest {
*/
@AfterMethod
public void tearDown() {
- action.destroy();
- storageService.destroy();
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(action));
+ AnnotationsSupport.callPreDestroyAnnotation(storageService);
}
/**
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationConditionTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationConditionTest.java
index 0fba1abc4..7805f51cb 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationConditionTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationConditionTest.java
@@ -14,6 +14,8 @@
package net.shibboleth.idp.authn.revocation.impl;
+import static org.testng.Assert.assertFalse;
+
import java.time.Instant;
import java.util.Collection;
import java.util.stream.Collectors;
@@ -32,6 +34,7 @@ import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.FunctionSupport;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
import net.shibboleth.shared.service.ReloadableService;
import net.shibboleth.shared.service.ServiceableComponent;
@@ -63,7 +66,7 @@ public class AttributeRevocationConditionTest extends BaseAuthenticationContextT
@AfterMethod
public void tearDown() {
- condition.destroy();
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(condition));
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/RevocationCacheConditionTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/RevocationCacheConditionTest.java
index 8c7fc0a9f..a03062463 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/RevocationCacheConditionTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/RevocationCacheConditionTest.java
@@ -14,6 +14,8 @@
package net.shibboleth.idp.authn.revocation.impl;
+import static org.testng.Assert.assertFalse;
+
import java.time.Duration;
import java.time.Instant;
@@ -25,6 +27,7 @@ import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.FunctionSupport;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
import org.opensaml.storage.impl.MemoryStorageService;
import org.opensaml.storage.impl.StorageServiceRevocationCache;
@@ -65,9 +68,9 @@ public class RevocationCacheConditionTest extends BaseAuthenticationContextTest
@AfterMethod
public void tearDown() {
- condition.destroy();
- revocationCache.destroy();
- storageService.destroy();
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(condition));
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(revocationCache));
+ AnnotationsSupport.callPreDestroyAnnotation(storageService);
}
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASDateTimeAttributeTranscoderTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASDateTimeAttributeTranscoderTest.java
index e3b0f18fb..3da2e5811 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASDateTimeAttributeTranscoderTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASDateTimeAttributeTranscoderTest.java
@@ -14,6 +14,8 @@
package net.shibboleth.idp.cas.attribute.transcoding.impl;
+import static org.testng.Assert.assertFalse;
+
import java.time.Instant;
import java.util.Collection;
import java.util.HashMap;
@@ -42,6 +44,7 @@ import net.shibboleth.idp.cas.attribute.Attribute;
import net.shibboleth.idp.cas.attribute.CASAttributeTranscoder;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
import net.shibboleth.shared.testing.MockApplicationContext;
/** {@link CASDateTimeAttributeTranscoder} unit test. */
@@ -77,8 +80,7 @@ public class CASDateTimeAttributeTranscoderTest {
}
@AfterClass public void tearDown() {
- registry.destroy();
- registry = null;
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(registry));
}
@Test public void emptyEncode() throws Exception {
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASScopedStringAttributeTranscoderTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASScopedStringAttributeTranscoderTest.java
index 9bb8d8ff7..3d119f161 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASScopedStringAttributeTranscoderTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASScopedStringAttributeTranscoderTest.java
@@ -14,6 +14,8 @@
package net.shibboleth.idp.cas.attribute.transcoding.impl;
+import static org.testng.Assert.assertFalse;
+
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
@@ -38,6 +40,7 @@ import net.shibboleth.idp.cas.attribute.Attribute;
import net.shibboleth.idp.cas.attribute.CASAttributeTranscoder;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
import net.shibboleth.shared.testing.MockApplicationContext;
import org.testng.Assert;
@@ -82,7 +85,7 @@ public class CASScopedStringAttributeTranscoderTest {
}
@AfterClass public void tearDown() {
- registry.destroy();
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(registry));
registry = null;
}
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASStringAttributeTranscoderTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASStringAttributeTranscoderTest.java
index 298151e7c..a2a09ac34 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASStringAttributeTranscoderTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASStringAttributeTranscoderTest.java
@@ -14,6 +14,8 @@
package net.shibboleth.idp.cas.attribute.transcoding.impl;
+import static org.testng.Assert.assertFalse;
+
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
@@ -42,6 +44,7 @@ import net.shibboleth.idp.cas.attribute.Attribute;
import net.shibboleth.idp.cas.attribute.CASAttributeTranscoder;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
import net.shibboleth.shared.testing.MockApplicationContext;
/** {@link CASStringAttributeTranscoder} unit test. */
@@ -77,7 +80,7 @@ public class CASStringAttributeTranscoderTest {
}
@AfterClass public void tearDown() {
- registry.destroy();
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(registry));
registry = null;
}
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java
index f294ea432..c069694b9 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java
@@ -15,7 +15,9 @@
package net.shibboleth.idp.cas.service.impl;
import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
import java.time.Duration;
import java.util.Timer;
@@ -38,6 +40,7 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.cas.service.Service;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
import net.shibboleth.shared.resource.Resource;
import net.shibboleth.shared.spring.resource.ResourceHelper;
import net.shibboleth.shared.xml.ParserPool;
@@ -97,7 +100,8 @@ public class MetadataServiceRegistryTest {
@AfterClass
public void tearDown() {
- metadataResolver.destroy();
+ assertTrue(AnnotationsSupport.hasPreDestroyAnnotation(metadataResolver));
+ AnnotationsSupport.callPreDestroyAnnotation(metadataResolver);
}
@Test(dataProvider = "parameters")
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SAMLAuthnController.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SAMLAuthnController.java
index d8ad608f0..3343e0364 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SAMLAuthnController.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/SAMLAuthnController.java
@@ -37,6 +37,8 @@ import org.opensaml.saml.common.binding.SAMLBindingSupport;
import org.opensaml.saml.common.messaging.context.SAMLMessageReceivedEndpointContext;
import org.opensaml.saml.saml2.core.AuthnRequest;
import org.slf4j.Logger;
+
+import net.shibboleth.shared.primitive.AnnotationsSupport;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.servlet.HttpServletRequestValidator;
@@ -289,7 +291,7 @@ public class SAMLAuthnController extends AbstractInitializableComponent {
messageContext.addSubcontext(new SAMLMessageReceivedEndpointContext(httpRequest));
nestedPRC.setInboundMessageContext(messageContext);
} finally {
- decoder.destroy();
+ assert ! AnnotationsSupport.hasPreDestroyAnnotation(decoder);
}
} catch (final MessageDecodingException | ComponentInitializationException e) {
log.error("Unable to decode SAML response", e);
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML1NameIdentifierGeneratorTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML1NameIdentifierGeneratorTest.java
index d4750c4ef..610c1b45f 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML1NameIdentifierGeneratorTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML1NameIdentifierGeneratorTest.java
@@ -14,6 +14,8 @@
package net.shibboleth.idp.saml.nameid.impl;
+import static org.testng.Assert.assertFalse;
+
import java.io.IOException;
import java.time.Duration;
@@ -22,6 +24,7 @@ import net.shibboleth.idp.profile.testing.RequestContextBuilder;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
import net.shibboleth.shared.security.DataSealer;
import net.shibboleth.shared.security.impl.BasicKeystoreKeyStrategy;
import net.shibboleth.shared.spring.resource.ResourceHelper;
@@ -83,9 +86,9 @@ public class CryptoTransientSAML1NameIdentifierGeneratorTest extends OpenSAMLIni
}
@AfterMethod public void tearDown() {
- generator.destroy();
- transientGenerator.destroy();
- sealer.destroy();
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(generator));
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(transientGenerator));
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(sealer));
}
@Test public void testNoPrincipal() throws Exception {
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML2NameIDGeneratorTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML2NameIDGeneratorTest.java
index a6e3247b9..be24bdc23 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML2NameIDGeneratorTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML2NameIDGeneratorTest.java
@@ -14,6 +14,8 @@
package net.shibboleth.idp.saml.nameid.impl;
+import static org.testng.Assert.assertFalse;
+
import java.io.IOException;
import java.time.Duration;
@@ -22,6 +24,7 @@ import net.shibboleth.idp.profile.testing.RequestContextBuilder;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
import net.shibboleth.shared.security.DataSealer;
import net.shibboleth.shared.security.impl.BasicKeystoreKeyStrategy;
import net.shibboleth.shared.spring.resource.ResourceHelper;
@@ -84,9 +87,9 @@ public class CryptoTransientSAML2NameIDGeneratorTest extends OpenSAMLInitBaseTes
}
@AfterMethod public void tearDown() {
- generator.destroy();
- transientGenerator.destroy();
- sealer.destroy();
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(generator));
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(transientGenerator));
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(sealer));
}
@Test public void testNoPrincipal() throws Exception {
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML1NameIdentifierGeneratorTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML1NameIdentifierGeneratorTest.java
index 7ad30118e..6e5efc6fd 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML1NameIdentifierGeneratorTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML1NameIdentifierGeneratorTest.java
@@ -19,6 +19,9 @@ import net.shibboleth.idp.profile.testing.RequestContextBuilder;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
+
+import static org.testng.Assert.assertFalse;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -58,9 +61,9 @@ public class StoredTransientSAML1NameIdentifierGeneratorTest extends OpenSAMLIni
}
@AfterMethod public void tearDown() {
- store.destroy();
- transientGenerator.destroy();
- generator.destroy();
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(generator));
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(transientGenerator));
+ AnnotationsSupport.callPreDestroyAnnotation(store);
}
@Test public void testNoPrincipal() throws Exception {
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML2NameIDGeneratorTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML2NameIDGeneratorTest.java
index 64f610fdc..de8ccc55c 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML2NameIDGeneratorTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML2NameIDGeneratorTest.java
@@ -19,6 +19,9 @@ import net.shibboleth.idp.profile.testing.RequestContextBuilder;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
+
+import static org.testng.Assert.assertFalse;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -59,9 +62,9 @@ public class StoredTransientSAML2NameIDGeneratorTest extends OpenSAMLInitBaseTes
}
@AfterMethod public void tearDown() {
- store.destroy();
- transientGenerator.destroy();
- generator.destroy();
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(generator));
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(transientGenerator));
+ AnnotationsSupport.callPreDestroyAnnotation(store);
}
@Test public void testNoPrincipal() throws Exception {
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SessionManagerBaseTestCase.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SessionManagerBaseTestCase.java
index 8abf57e4d..6676ccbd6 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SessionManagerBaseTestCase.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SessionManagerBaseTestCase.java
@@ -14,6 +14,9 @@
package net.shibboleth.idp.saml.saml2.profile.impl;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertTrue;
+
import java.time.Duration;
import javax.annotation.Nonnull;
@@ -23,6 +26,7 @@ import net.shibboleth.idp.session.impl.StorageBackedSessionManager;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.net.CookieManager;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
import net.shibboleth.shared.servlet.impl.HttpServletRequestResponseContext;
@@ -85,8 +89,9 @@ public class SessionManagerBaseTestCase extends OpenSAMLInitBaseTestCase {
}
@AfterClass public void tearDown() {
- sessionManager.destroy();
- storageService.destroy();
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(sessionManager));
+ assertTrue(AnnotationsSupport.hasPreDestroyAnnotation(storageService));
+ AnnotationsSupport.callPreDestroyAnnotation(storageService);
}
/**
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/SessionManagerBaseTestCase.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/SessionManagerBaseTestCase.java
index 49210c076..1d358ea53 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/SessionManagerBaseTestCase.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/SessionManagerBaseTestCase.java
@@ -14,6 +14,9 @@
package net.shibboleth.idp.session.impl;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertTrue;
+
import java.time.Duration;
import javax.annotation.Nonnull;
@@ -22,6 +25,7 @@ import net.shibboleth.idp.session.SessionException;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.net.CookieManager;
+import net.shibboleth.shared.primitive.AnnotationsSupport;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
import net.shibboleth.shared.servlet.impl.HttpServletRequestResponseContext;
@@ -79,8 +83,9 @@ public class SessionManagerBaseTestCase extends OpenSAMLInitBaseTestCase {
}
@AfterClass public void tearDown() {
- sessionManager.destroy();
- storageService.destroy();
+ assertFalse(AnnotationsSupport.hasPreDestroyAnnotation(sessionManager));
+ assertTrue(AnnotationsSupport.hasPreDestroyAnnotation(storageService));
+ AnnotationsSupport.callPreDestroyAnnotation(storageService);
}
/**
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list