diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/EntityDescriptorTest.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/EntityDescriptorTest.groovy index 993bf6e39..12f2fb9e2 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/EntityDescriptorTest.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/EntityDescriptorTest.groovy @@ -4,17 +4,26 @@ import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfigurat import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration import edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ReloadableMetadataResolverAttributes import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlChainingMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml.OpenSamlFileBackedHTTPMetadataResolver import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects +import edu.internet2.tier.shibboleth.admin.ui.service.IndexWriterService import edu.internet2.tier.shibboleth.admin.ui.util.RandomGenerator import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator +import org.apache.http.impl.client.HttpClients +import org.apache.lucene.index.IndexWriter import org.opensaml.saml.metadata.resolver.ChainingMetadataResolver import org.opensaml.saml.metadata.resolver.MetadataResolver +import org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver import org.opensaml.saml.metadata.resolver.impl.AbstractReloadingMetadataResolver +import org.opensaml.saml.metadata.resolver.impl.FileBackedHTTPMetadataResolver import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.domain.EntityScan import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest import org.springframework.data.jpa.repository.config.EnableJpaRepositories +import org.springframework.test.annotation.DirtiesContext import org.springframework.test.context.ContextConfiguration import spock.lang.Specification @@ -25,6 +34,7 @@ import spock.lang.Specification @ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration]) @EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) @EntityScan("edu.internet2.tier.shibboleth.admin.ui") +@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) class EntityDescriptorTest extends Specification { RandomGenerator randomGenerator @@ -33,6 +43,9 @@ class EntityDescriptorTest extends Specification { @Autowired MetadataResolver metadataResolver + @Autowired + IndexWriterService indexWriterService + def openSamlObjects = new OpenSamlObjects().with { init() it @@ -45,10 +58,20 @@ class EntityDescriptorTest extends Specification { def "entity descriptors properly marshall to xml"() { given: - def resolvers = ((OpenSamlChainingMetadataResolver) metadataResolver).resolvers + ((OpenSamlChainingMetadataResolver)metadataResolver).resolvers.add( + new OpenSamlFileBackedHTTPMetadataResolver( + openSamlObjects.parserPool, + indexWriterService.getIndexWriter('testme'), + new FileBackedHttpMetadataResolver( + metadataURL: 'https://idp.unicon.net/idp/shibboleth', + backingFile: '/x.xml', + reloadableMetadataResolverAttributes: new ReloadableMetadataResolverAttributes() + ) + ) + ) when: - ((AbstractReloadingMetadataResolver) resolvers[0]).refresh() + ((RefreshableMetadataResolver)metadataResolver).refresh() then: println("We didn't explode .. hopefully.")