[java-idp-plugin-oidc-op-oidfed] 01/03: Deleted obsolete test case from here

Codeberg noreply at shibboleth.net
Fri Sep 18 07:58:57 UTC 2026


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

codeberg pushed a commit to branch main
in repository java-idp-plugin-oidc-op-oidfed.

View the commit online:
https://codeberg.org/Shibboleth/java-idp-plugin-oidc-op-oidfed/commit/3c0887eeb08c8305ae80a1f5cd46d873837a7df0

commit 3c0887eeb08c8305ae80a1f5cd46d873837a7df0
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Fri Sep 18 10:02:10 2026 +0300

    Deleted obsolete test case from here
    
    - Moved to java-oidfed-common
---
 .../DefaultTrustChainFetchingStrategyTest.java     | 365 ---------------------
 1 file changed, 365 deletions(-)

diff --git a/idp-oidfed-op-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/cache/trustchain/DefaultTrustChainFetchingStrategyTest.java b/idp-oidfed-op-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/cache/trustchain/DefaultTrustChainFetchingStrategyTest.java
deleted file mode 100644
index 9e9caec..0000000
--- a/idp-oidfed-op-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/oidfed/metadata/cache/trustchain/DefaultTrustChainFetchingStrategyTest.java
+++ /dev/null
@@ -1,365 +0,0 @@
-/*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.plugin.oidc.op.oidfed.metadata.cache.trustchain;
-
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.time.Duration;
-import java.time.Instant;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
-
-import org.testng.Assert;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-import net.shibboleth.oidc.metadata.cache.MetadataCache;
-import net.shibboleth.oidc.metadata.cache.MetadataCacheException;
-import net.shibboleth.oidfed.metadata.EntityConfiguration;
-import net.shibboleth.oidfed.metadata.SubordinateStatement;
-import net.shibboleth.oidfed.metadata.cache.PreSelectedTrustChainCriterion;
-import net.shibboleth.oidfed.metadata.cache.configuration.EntityConfigurationContainer;
-import net.shibboleth.oidfed.metadata.cache.local.LocalKeyContainer;
-import net.shibboleth.oidfed.metadata.cache.subordinate.SubordinateStatementCacheIdentifier;
-import net.shibboleth.oidfed.metadata.cache.subordinate.SubordinateStatementContainer;
-import net.shibboleth.oidfed.metadata.cache.trustchain.DefaultTrustChainFetchingStrategy;
-import net.shibboleth.oidfed.metadata.cache.trustchain.TrustChainsContainer;
-import net.shibboleth.oidfed.metadata.payload.EntityConfigurationPayload;
-import net.shibboleth.oidfed.metadata.util.EntityStatementHelper;
-import net.shibboleth.shared.collection.CollectionSupport;
-import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.shared.resolver.CriteriaSet;
-
-/**
- * Unit tests for {@link DefaultTrustChainFetchingStrategy}
- */
- at SuppressWarnings("null")
-public class DefaultTrustChainFetchingStrategyTest {
-
-    DefaultTrustChainFetchingStrategy function;
-
-    Function<CriteriaSet, String> criteriaToSubjectEntityIdStrategy;
-    MetadataCache<EntityConfigurationContainer> entityConfigurationCache;
-    MetadataCache<SubordinateStatementContainer> subordinateStatementCache;
-    MetadataCache<Map<String, LocalKeyContainer>> localTrustAnchorsCache;
-    Function<CriteriaSet, Duration> criteriaToValidContainerLifetimeStrategy;
-    Function<CriteriaSet, Duration> criteriaToInvalidContainerLifetimeStrategy;
-
-    @SuppressWarnings("unchecked")
-    public void initMocks() {
-        criteriaToSubjectEntityIdStrategy = mock(Function.class);
-        entityConfigurationCache = mock(MetadataCache.class);
-        subordinateStatementCache = mock(MetadataCache.class);
-        localTrustAnchorsCache = mock(MetadataCache.class);
-        criteriaToValidContainerLifetimeStrategy = mock(Function.class);
-        criteriaToInvalidContainerLifetimeStrategy = mock(Function.class);
-    }
-
-    @BeforeMethod
-    public void setup() {
-        initMocks();
-        function = new DefaultTrustChainFetchingStrategy();
-        function.setCriteriaToSubjectEntityIdStrategy(criteriaToSubjectEntityIdStrategy);
-        function.setEntityConfigurationCache(entityConfigurationCache);
-        function.setSubordinateStatementCache(subordinateStatementCache);
-        function.setLocalTrustAnchorsCache(localTrustAnchorsCache);
-        function.setCriteriaToValidContainerLifetimeStrategy(criteriaToValidContainerLifetimeStrategy);
-        function.setCriteriaToInvalidContainerLifetimeStrategy(criteriaToInvalidContainerLifetimeStrategy);
-        function.setId("mockFunction");
-        try {
-            function.initialize();
-        } catch (ComponentInitializationException e) {
-            Assert.fail("Could not initialize the function", e);
-        }
-    }
-
-    @Test
-    public void nullCriteria_returnsNull() {
-        Assert.assertEquals(function.apply(null), null);
-    }
-
-    @Test
-    public void noValidLifetimeCriteria_returnsNull() {
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(null);
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        Assert.assertEquals(function.apply(new CriteriaSet()), null);
-    }
-
-    @Test
-    public void noInvalidLifetimeCriteria_returnsNull() {
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(null);
-        Assert.assertEquals(function.apply(new CriteriaSet()), null);
-    }
-
-    @Test
-    public void noEntityConfigurationResolved_returnsNull() throws MetadataCacheException {
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(entityConfigurationCache.get(any())).thenReturn(CollectionSupport.emptyList());
-        Assert.assertEquals(function.apply(new CriteriaSet()), null);
-    }
-
-    @Test
-    public void entityConfigurationException_returnsNull() throws MetadataCacheException {
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(entityConfigurationCache.get(any())).thenThrow(MetadataCacheException.class);
-        Assert.assertEquals(function.apply(new CriteriaSet()), null);
-    }
-
-    @Test
-    public void entityConfigurationNoHints_returnsNull() throws MetadataCacheException {
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        final EntityConfigurationContainer ecContainer =
-                ecContainer("mockEntityId", CollectionSupport.emptyList());
-        when(entityConfigurationCache.get(any())).thenReturn(CollectionSupport.listOf(ecContainer));
-        Assert.assertEquals(function.apply(new CriteriaSet()), null);
-    }
-
-    @Test
-    public void entityConfigurationOneUnresolvableHint_returnsEmptyContainer() throws MetadataCacheException {
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        final EntityConfigurationContainer ecContainer =
-                ecContainer("mockEntityId", CollectionSupport.listOf("https://federation.local/immediate"));
-        when(entityConfigurationCache.get(any())).thenReturn(CollectionSupport.listOf(ecContainer));
-        assertEmptyResult(function.apply(new CriteriaSet()));
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void entityConfigurationOneResolvableHint_returnsContainerWithOneChain() throws MetadataCacheException {
-        final String leaf = "https://federation.local/leaf";
-        final String anchor = "https://federation.local/immediate";
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        final EntityConfigurationContainer ecContainer =
-                ecContainer(leaf, CollectionSupport.listOf(anchor, "https://federation.local/other"));
-        final EntityConfigurationContainer authorityContainer =
-                ecContainer(anchor, CollectionSupport.emptyList());
-        when(entityConfigurationCache.get(any()))
-            .thenReturn(CollectionSupport.listOf(ecContainer), CollectionSupport.listOf(authorityContainer),
-                    CollectionSupport.emptyList());
-        final SubordinateStatementContainer ssContainer = ssContainer(leaf, anchor);
-        when(subordinateStatementCache.get(any())).thenReturn(CollectionSupport.listOf(ssContainer),
-                CollectionSupport.emptyList());
-        final TrustChainsContainer result = function.apply(new CriteriaSet());
-        Assert.assertNotNull(result);
-        assert result != null;
-        Assert.assertEquals(result.getTrustChains().size(), 1);
-        Assert.assertEquals(EntityStatementHelper.getEntityIds(result.getTrustChains().get(0)),
-                List.of(leaf, anchor));
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void entityConfigurationOneResolvableLocalAuthorityWithBrokenHint_returnsContainerWithOneChain()
-            throws MetadataCacheException {
-        final String leaf = "https://federation.local/leaf";
-        final String immediate = "https://federation.local/immediate";
-        final String anchor = "https://federation.local/anchor";
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        final EntityConfigurationContainer ecContainer =
-                ecContainer(leaf, CollectionSupport.listOf(immediate, "https://federation.local/other"));
-        final EntityConfigurationContainer immediateContainer =
-                ecContainer(immediate, CollectionSupport.listOf(anchor));
-        when(entityConfigurationCache.get(any()))
-            .thenReturn(CollectionSupport.listOf(ecContainer), CollectionSupport.listOf(immediateContainer),
-                    CollectionSupport.emptyList());
-        final SubordinateStatementContainer ssContainer = ssContainer(leaf, immediate);
-        when(subordinateStatementCache.get(any())).thenReturn(CollectionSupport.listOf(ssContainer),
-                CollectionSupport.emptyList());
-        when(localTrustAnchorsCache.get(any())).thenReturn(
-                CollectionSupport.listOf(CollectionSupport.singletonMap(immediate, mock(LocalKeyContainer.class))));
-        final TrustChainsContainer result = function.apply(new CriteriaSet());
-        Assert.assertNotNull(result);
-        assert result != null;
-        Assert.assertEquals(result.getTrustChains().size(), 1);
-        Assert.assertEquals(EntityStatementHelper.getEntityIds(result.getTrustChains().get(0)),
-                List.of(leaf, immediate));
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void entityConfigurationOneResolvableLocalAuthorityWithWorkingHint_returnsContainerWithTwoChains()
-            throws MetadataCacheException {
-        final String leaf = "https://federation.local/leaf";
-        final String immediate = "https://federation.local/immediate";
-        final String anchor = "https://federation.local/anchor";
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        final EntityConfigurationContainer ecContainer =
-                ecContainer(leaf, CollectionSupport.listOf(immediate));
-        final EntityConfigurationContainer immediateContainer =
-                ecContainer(immediate, CollectionSupport.listOf(anchor));
-        final EntityConfigurationContainer authorityContainer =
-                ecContainer(anchor, CollectionSupport.emptyList());
-        when(entityConfigurationCache.get(any()))
-            .thenReturn(CollectionSupport.listOf(ecContainer), CollectionSupport.listOf(immediateContainer),
-                    CollectionSupport.listOf(authorityContainer), CollectionSupport.emptyList());
-        final SubordinateStatementContainer ssContainer1 = ssContainer(leaf, immediate);
-        final SubordinateStatementContainer ssContainer2 = ssContainer(immediate, anchor);
-        when(subordinateStatementCache.get(any())).thenReturn(CollectionSupport.listOf(ssContainer1),
-                CollectionSupport.listOf(ssContainer2), CollectionSupport.emptyList());
-        when(localTrustAnchorsCache.get(any())).thenReturn(
-                CollectionSupport.listOf(CollectionSupport.singletonMap(immediate, mock(LocalKeyContainer.class))),
-                CollectionSupport.emptyList());
-        final TrustChainsContainer result = function.apply(new CriteriaSet());
-        Assert.assertNotNull(result);
-        assert result != null;
-        Assert.assertEquals(result.getTrustChains().size(), 2);
-        Assert.assertEquals(EntityStatementHelper.getEntityIds(result.getTrustChains().get(0)),
-                List.of(leaf, immediate));
-        Assert.assertEquals(EntityStatementHelper.getEntityIds(result.getTrustChains().get(1)),
-                List.of(leaf, immediate, anchor));
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void entityConfigurationOneResolvableHint_matchPreSelected_returnsContainerWithOneChain()
-            throws MetadataCacheException {
-        final String leaf = "https://federation.local/leaf";
-        final String anchor = "https://federation.local/immediate";
-        final PreSelectedTrustChainCriterion preSelectedCriterion =
-                new PreSelectedTrustChainCriterion(CollectionSupport.listOf(leaf, anchor));
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        final EntityConfigurationContainer ecContainer =
-                ecContainer(leaf, CollectionSupport.listOf(anchor, "https://federation.local/other"));
-        final EntityConfigurationContainer authorityContainer =
-                ecContainer(anchor, CollectionSupport.emptyList());
-        when(entityConfigurationCache.get(any()))
-            .thenReturn(CollectionSupport.listOf(ecContainer), CollectionSupport.listOf(authorityContainer),
-                    CollectionSupport.emptyList());
-        final SubordinateStatementContainer ssContainer = ssContainer(leaf, anchor);
-        when(subordinateStatementCache.get(any())).thenReturn(CollectionSupport.listOf(ssContainer),
-                CollectionSupport.emptyList());
-        final TrustChainsContainer result = function.apply(new CriteriaSet(preSelectedCriterion));
-        Assert.assertNotNull(result);
-        assert result != null;
-        Assert.assertEquals(result.getTrustChains().size(), 1);
-        Assert.assertEquals(EntityStatementHelper.getEntityIds(result.getTrustChains().get(0)),
-                List.of(leaf, anchor));
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void entityConfigurationOneResolvableHint_notMatchingPreSelected_returnsEmptyContainer()
-            throws MetadataCacheException {
-        final String leaf = "https://federation.local/leaf";
-        final String anchor = "https://federation.local/immediate";
-        final PreSelectedTrustChainCriterion preSelectedCriterion =
-                new PreSelectedTrustChainCriterion(CollectionSupport.listOf(leaf, "https://federation.local/not"));
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        final EntityConfigurationContainer ecContainer =
-                ecContainer(leaf, CollectionSupport.listOf(anchor, "https://federation.local/other"));
-        final EntityConfigurationContainer authorityContainer =
-                ecContainer(anchor, CollectionSupport.emptyList());
-        when(entityConfigurationCache.get(any()))
-            .thenReturn(CollectionSupport.listOf(ecContainer), CollectionSupport.listOf(authorityContainer),
-                    CollectionSupport.emptyList());
-        final SubordinateStatementContainer ssContainer = ssContainer(leaf, anchor);
-        when(subordinateStatementCache.get(any())).thenReturn(CollectionSupport.listOf(ssContainer),
-                CollectionSupport.emptyList());
-        assertEmptyResult(function.apply(new CriteriaSet(preSelectedCriterion)));
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void entityConfigurationTwoResolvableHints_returnsContainerWithTwoChains() throws MetadataCacheException {
-        final String leaf = "https://federation.local/leaf";
-        final String anchor1 = "https://federation.local/immediate1";
-        final String anchor2 = "https://federation.local/immediate2";
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        final EntityConfigurationContainer ecContainer =
-                ecContainer(leaf, CollectionSupport.listOf(anchor1, anchor2));
-        final EntityConfigurationContainer authorityContainer1 =
-                ecContainer(anchor1, CollectionSupport.emptyList());
-        final EntityConfigurationContainer authorityContainer2 =
-                ecContainer(anchor2, CollectionSupport.emptyList());
-        when(entityConfigurationCache.get(any()))
-            .thenReturn(CollectionSupport.listOf(ecContainer), CollectionSupport.listOf(authorityContainer1),
-                    CollectionSupport.listOf(authorityContainer2));
-        final SubordinateStatementContainer ssContainer1 = ssContainer(leaf, anchor1);
-        final SubordinateStatementContainer ssContainer2 = ssContainer(leaf, anchor2);
-        when(subordinateStatementCache.get(any())).thenReturn(CollectionSupport.listOf(ssContainer1),
-                CollectionSupport.listOf(ssContainer2));
-        final TrustChainsContainer result = function.apply(new CriteriaSet());
-        Assert.assertNotNull(result);
-        assert result != null;
-        Assert.assertEquals(result.getTrustChains().size(), 2);
-        Assert.assertEquals(EntityStatementHelper.getEntityIds(result.getTrustChains().get(0)),
-                List.of(leaf, anchor1));
-        Assert.assertEquals(EntityStatementHelper.getEntityIds(result.getTrustChains().get(1)),
-                List.of(leaf, anchor2));
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void entityConfigurationAuthorityLoop_returnsEmptyContantainer() throws MetadataCacheException {
-        final String leaf = "https://federation.local/leaf";
-        final String anchor1 = "https://federation.local/immediate1";
-        final String anchor2 = "https://federation.local/immediate2";
-        when(criteriaToValidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        when(criteriaToInvalidContainerLifetimeStrategy.apply(any())).thenReturn(Duration.ofMinutes(5));
-        final EntityConfigurationContainer ecContainer =
-                ecContainer(leaf, CollectionSupport.listOf(anchor1));
-        final EntityConfigurationContainer authorityContainer1 =
-                ecContainer(anchor1, CollectionSupport.listOf(anchor2));
-        final EntityConfigurationContainer authorityContainer2 =
-                ecContainer(anchor2, CollectionSupport.listOf(anchor1));
-        when(entityConfigurationCache.get(any()))
-            .thenReturn(CollectionSupport.listOf(ecContainer), CollectionSupport.listOf(authorityContainer1),
-                    CollectionSupport.listOf(authorityContainer2));
-        final SubordinateStatementContainer ssContainer1 = ssContainer(leaf, anchor1);
-        final SubordinateStatementContainer ssContainer2 = ssContainer(anchor1, anchor2);
-        final SubordinateStatementContainer ssContainer3 = ssContainer(anchor2, anchor1);
-        when(subordinateStatementCache.get(any())).thenReturn(CollectionSupport.listOf(ssContainer1),
-                CollectionSupport.listOf(ssContainer2), CollectionSupport.listOf(ssContainer3));
-        assertEmptyResult(function.apply(new CriteriaSet()));
-    }
-
-    protected void assertEmptyResult(final TrustChainsContainer container) {
-        Assert.assertNotNull(container);
-        Assert.assertEquals(container.getTrustChains(), CollectionSupport.emptyList());
-    }
-    
-    protected EntityConfigurationContainer ecContainer(final String id, final List<String> authorityHints) {
-        final Instant expiration = Instant.now().plusSeconds(300);
-        final EntityConfiguration configuration = mock(EntityConfiguration.class);
-        final EntityConfigurationPayload payload = mock(EntityConfigurationPayload.class);
-        when(payload.getAuthorityHints()).thenReturn(authorityHints);
-        when(configuration.getParsedPayload()).thenReturn(payload);
-        when(configuration.getSubject()).thenReturn(id);
-        return new EntityConfigurationContainer(id, configuration, expiration, expiration);
-    }
-
-    protected SubordinateStatementContainer ssContainer(final String subject, final String issuer) {
-        final Instant expiration = Instant.now().plusSeconds(300);
-        final SubordinateStatement statement = mock(SubordinateStatement.class);
-        when(statement.getSubject()).thenReturn(subject);
-        when(statement.getIssuer()).thenReturn(issuer);
-        return new SubordinateStatementContainer(
-                new SubordinateStatementCacheIdentifier(issuer, subject), statement, expiration, expiration);
-    }
-}

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


More information about the commits mailing list