[java-identity-provider] branch main updated: IDP-1967 Some IdP tests run with destroyed beans (because of Context lifetimes)

Rod Widdowson rdw at steadingsoftware.com
Fri Jul 1 10:58:52 UTC 2022


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch main
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=a48c2f14c69b9b8578566a7e9a19a00f3dedf02f

The following commit(s) were added to refs/heads/main by this push:
     new a48c2f14c IDP-1967 Some IdP tests run with destroyed beans (because of Context lifetimes)
a48c2f14c is described below

commit a48c2f14c69b9b8578566a7e9a19a00f3dedf02f
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Jun 29 10:09:47 2022 +0100

    IDP-1967 Some IdP tests run with destroyed beans (because of Context lifetimes)
    
    https://shibboleth.atlassian.net/browse/IDP-1967
    
    Defer context teardown. SAML1 flow
---
 .../FilterByQueriedAttributeDesignatorsTest.java   | 34 ++++++++++++++--------
 1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/FilterByQueriedAttributeDesignatorsTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/FilterByQueriedAttributeDesignatorsTest.java
index ac0eed26a..4f16136ff 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/FilterByQueriedAttributeDesignatorsTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/FilterByQueriedAttributeDesignatorsTest.java
@@ -19,6 +19,7 @@ package net.shibboleth.idp.saml.saml1.profile.impl;
 
 import static org.testng.Assert.assertEquals;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
@@ -31,6 +32,7 @@ import org.springframework.context.support.GenericApplicationContext;
 import org.springframework.webflow.execution.Event;
 import org.springframework.webflow.execution.RequestContext;
 import org.testng.Assert;
+import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
@@ -66,21 +68,29 @@ public class FilterByQueriedAttributeDesignatorsTest extends XMLObjectBaseTestCa
     
     private ProfileRequestContext prc;
 
+    private List<GenericApplicationContext> contexts = new ArrayList<>();
+
     protected <Type> Type getBean(String fileName, Class<Type> claz) {
 
-        try (final GenericApplicationContext context = new GenericApplicationContext()) {
-            SchemaTypeAwareXMLBeanDefinitionReader beanDefinitionReader =
-                    new SchemaTypeAwareXMLBeanDefinitionReader(context);
-    
-            beanDefinitionReader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_XSD);
-            beanDefinitionReader.loadBeanDefinitions(fileName);
-            
-            context.refresh();
-    
-            Collection<Type> beans = context.getBeansOfType(claz).values();
-            Assert.assertEquals(beans.size(), 1);
+        final GenericApplicationContext context = new GenericApplicationContext();
+        contexts.add(context);
+        SchemaTypeAwareXMLBeanDefinitionReader beanDefinitionReader =
+                new SchemaTypeAwareXMLBeanDefinitionReader(context);
+
+        beanDefinitionReader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_XSD);
+        beanDefinitionReader.loadBeanDefinitions(fileName);
+
+        context.refresh();
+
+        Collection<Type> beans = context.getBeansOfType(claz).values();
+        Assert.assertEquals(beans.size(), 1);
+
+        return beans.iterator().next();
+    }
     
-            return beans.iterator().next();
+    @AfterClass public void teardown() {
+        for (final GenericApplicationContext ctx : contexts) {
+            ctx.close();
         }
     }
         

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list