[java-shib-attribute] 02/02: IDP-2375 Aliased decoded IdPAttributes are lost during subsequent use

Rod Widdowson rdw at steadingsoftware.com
Fri Apr 18 13:48:27 UTC 2025


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

rdw pushed a commit to branch main
in repository java-shib-attribute.

View the commit online:
http://git.shibboleth.net/view/?p=java-shib-attribute.git;a=commit;h=bc51a5ee305e3f6a2babd35556f7295ee20fc558

commit bc51a5ee305e3f6a2babd35556f7295ee20fc558
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Fri Apr 18 14:45:31 2025 +0100

    IDP-2375 Aliased decoded IdPAttributes are lost during subsequent use
    
    https://shibboleth.atlassian.net/browse/IDP-2375
    
    Add commented out test
---
 .../filter/context/AttributeFilterContextTest.java | 42 +++++++++++++++++++++-
 1 file changed, 41 insertions(+), 1 deletion(-)

diff --git a/shib-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContextTest.java b/shib-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContextTest.java
index 0c2010ca0..d5f81ff8e 100644
--- a/shib-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContextTest.java
+++ b/shib-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContextTest.java
@@ -21,8 +21,15 @@ import static org.testng.Assert.assertNull;
 import static org.testng.Assert.assertSame;
 import static org.testng.Assert.assertTrue;
 
+
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
+
+import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.IdPAttributeValue;
+import net.shibboleth.idp.attribute.StringAttributeValue;
+import net.shibboleth.shared.collection.CollectionSupport;
 
 import org.opensaml.messaging.context.navigate.ChildContextLookup;
 import org.opensaml.saml.common.messaging.context.SAMLMetadataContext;
@@ -131,4 +138,37 @@ public class AttributeFilterContextTest {
 
         assertSame(context.getRequesterMetadataContext(), mas);
     }
-}
\ No newline at end of file
+
+    @Test(enabled = false) public void testAttributeMerge() {
+
+        final IdPAttribute attribute1a = new IdPAttribute("attribute1");
+        final IdPAttribute attribute1b = new IdPAttribute("attribute1");
+        final IdPAttribute attribute2a = new IdPAttribute("attribute2");
+        final IdPAttribute attribute2b = new IdPAttribute("attribute2");
+        final IdPAttribute attribute3 = new IdPAttribute("attribute3");
+        final IdPAttributeValue av1 = new StringAttributeValue("av1");
+        final IdPAttributeValue av2 = new StringAttributeValue("av2");
+        final IdPAttributeValue av3 = new StringAttributeValue("av3");
+        final IdPAttributeValue av4 = new StringAttributeValue("av4");
+
+        attribute1a.setValues(CollectionSupport.listOf(av1, av2));
+        attribute1b.setValues(CollectionSupport.listOf(av3, av2));
+
+        attribute2a.setValues(CollectionSupport.listOf(av1, av2));
+        attribute2b.setValues(CollectionSupport.listOf(av3, av4));
+
+        attribute3.setValues(CollectionSupport.listOf(av1, av2, av1));
+
+        final AttributeFilterContext context = new AttributeFilterContext();
+        context.setPrefilteredIdPAttributes(
+                CollectionSupport.listOf(attribute1a, attribute1b, attribute2a, attribute2b, attribute3));
+
+        final Map<String, IdPAttribute> attrs = context.getPrefilteredIdPAttributes();
+
+        assertEquals(attrs.size(), 3);
+        assertNull(attrs.get("atribute4"));
+        assertEquals(attrs.get("attribute1").getValues().size(), 4);
+        assertEquals(attrs.get("attribute2").getValues().size(), 4);
+        assertEquals(attrs.get("attribute3").getValues().size(), 3);
+    }
+}

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


More information about the commits mailing list