Skip to content

Commit

Permalink
SHIBUI-522[533] wip
Browse files Browse the repository at this point in the history
  • Loading branch information
dima767 committed Jun 6, 2018
1 parent b52a39e commit 1ef2371
Showing 1 changed file with 35 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,11 @@ import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfigurat
import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilterTarget
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityRoleWhiteListFilter
import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects
import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository
import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator
import edu.internet2.tier.shibboleth.admin.util.AttributeUtility
import groovy.xml.MarkupBuilder
import net.shibboleth.ext.spring.resource.ResourceHelper
import net.shibboleth.utilities.java.support.resolver.CriteriaSet
Expand Down Expand Up @@ -51,6 +54,15 @@ class JPAMetadataResolverServiceImplTests extends Specification {
@Autowired
OpenSamlObjects openSamlObjects

@Autowired
AttributeUtility attributeUtility

TestObjectGenerator testObjectGenerator

def setup() {
testObjectGenerator = new TestObjectGenerator(attributeUtility)
}

def 'test adding a filter'() {
given:
def expectedXML = '''<?xml version="1.0" encoding="UTF-8"?>
Expand Down Expand Up @@ -102,22 +114,40 @@ class JPAMetadataResolverServiceImplTests extends Specification {
def 'test generating filter xml snippet'() {
given:
def xml = new MarkupBuilder()
def filter = testObjectGenerator.entityRoleWhitelistFilter()

when:
xml.MetadataResolver {
genXmlSnippet(delegate)
xml.MetadataProvider(id: 'ShibbolethMetadata',
xmlns: 'urn:mace:shibboleth:2.0:metadata',
'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',
'xsi:type': 'ChainingMetadataProvider',
'xsi:schemaLocation': 'urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd urn:mace:shibboleth:2.0:resource http://shibboleth.net/schema/idp/shibboleth-resource.xsd urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd urn:oasis:names:tc:SAML:2.0:assertion http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd'
) {
MetadataProvider(id: 'HTTPMetadata',
'xsi:type': 'FileBackedHTTPMetadataProvider',
backingFile: '%{idp.home}/metadata/incommonmd.xml',
metadataURL: 'http://md.incommon.org/InCommon/InCommon-metadata.xml',
minRefreshDelay: 'PT5M',
maxRefreshDelay: 'PT1H',
refreshDelayFactor: '0.75'
) {
genXmlSnippet(filter, delegate)
}
}
println xml.toString()

then:
xml
}

private genXmlSnippet(xmlDelegate) {
private genXmlSnippet(EntityRoleWhiteListFilter filter, xmlDelegate) {
xmlDelegate.MetadataFilter(
'xsi:type': 'EntityRoleWhiteList'
'xsi:type': 'EntityRoleWhiteList',
'xmlns:md': 'urn:oasis:names:tc:SAML:2.0:metadata'
) {
RetainedRole('md:SPSSODescriptor')
filter.retainedRoles.each {
xmlDelegate.RetainedRole(it)
}
}
}

Expand Down

0 comments on commit 1ef2371

Please sign in to comment.