From 82dadc88b9235446fb95b022ab4eaee7d572a168 Mon Sep 17 00:00:00 2001 From: Dmitriy Kopylenko Date: Mon, 23 Jul 2018 12:12:00 -0400 Subject: [PATCH 1/3] SHIBUI-670 WIP --- .../shibboleth/admin/ui/domain/resolvers/MetadataResolver.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolver.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolver.java index ab8eda99f..7d0fc03d1 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolver.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/MetadataResolver.java @@ -54,6 +54,8 @@ public class MetadataResolver extends AbstractAuditable { @Column(unique = true) private String xmlId; + private Boolean enabled = true; + private Boolean requireValidMetadata = true; private Boolean failFastInitialization = true; From c8a54f6d0ac1eed9545c42d87f2f609bb26b2643 Mon Sep 17 00:00:00 2001 From: Dmitriy Kopylenko Date: Mon, 23 Jul 2018 13:51:04 -0400 Subject: [PATCH 2/3] SHIBUI-670 WIP --- .../admin/ui/service/JPAMetadataResolverServiceImpl.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy index aa2d1e7df..b60c9b0c8 100644 --- a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy @@ -100,7 +100,7 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService { ) { metadataResolverRepository.findAll().each { edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver mr -> //TODO: We cannot/do not currently have the code to marshall the internal incommon chaining resolver - if (mr.type != 'BaseMetadataResolver') { + if ((mr.type != 'BaseMetadataResolver') && (mr.enabled)) { constructXmlNodeForResolver(mr, delegate) { MetadataFilter( 'xsi:type': 'SignatureValidation', From cb54cb67d36ab7c2d2b4480d88db601c83b3a2e6 Mon Sep 17 00:00:00 2001 From: Dmitriy Kopylenko Date: Mon, 23 Jul 2018 15:29:18 -0400 Subject: [PATCH 3/3] SHIBUI-670: implement enabled flag --- .../JPAMetadataResolverServiceImplTests.groovy | 13 +++++++++++++ backend/src/test/resources/conf/670.xml | 11 +++++++++++ 2 files changed, 24 insertions(+) create mode 100644 backend/src/test/resources/conf/670.xml diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImplTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImplTests.groovy index 30ad3172a..c6c64e7e1 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImplTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImplTests.groovy @@ -229,6 +229,19 @@ class JPAMetadataResolverServiceImplTests extends Specification { generatedXmlIsTheSameAsExpectedXml('/conf/520.xml', domBuilder.parseText(writer.toString())) } + def 'test generating disabled MetadataResolver xml snippet'() { + given: 'disabled metadata resolver' + def resolver = testObjectGenerator.filesystemMetadataResolver() + resolver.enabled = false + metadataResolverRepository.save(resolver) + + when: + def generatedXmlDocument = this.metadataResolverService.generateConfiguration() + + then: + generatedXmlIsTheSameAsExpectedXml('/conf/670.xml', generatedXmlDocument) + } + static genXmlSnippet(MarkupBuilder xml, Closure xmlNodeGenerator) { xml.MetadataProvider('id': 'ShibbolethMetadata', 'xmlns': 'urn:mace:shibboleth:2.0:metadata', diff --git a/backend/src/test/resources/conf/670.xml b/backend/src/test/resources/conf/670.xml new file mode 100644 index 000000000..952c86ee6 --- /dev/null +++ b/backend/src/test/resources/conf/670.xml @@ -0,0 +1,11 @@ + + + + \ No newline at end of file