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 f63dbad31..07214d33c 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 @@ -165,10 +165,12 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService { } void constructXmlNodeForFilter(RequiredValidUntilFilter filter, def markupBuilderDelegate) { - markupBuilderDelegate.MetadataFilter( - 'xsi:type': 'RequiredValidUntil', - maxValidityInterval: filter.maxValidityInterval - ) + if(filter.xmlShouldBeGenerated()) { + markupBuilderDelegate.MetadataFilter( + 'xsi:type': 'RequiredValidUntil', + maxValidityInterval: filter.maxValidityInterval + ) + } } void constructXmlNodeForResolver(FilesystemMetadataResolver resolver, def markupBuilderDelegate, Closure childNodes) { diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/RequiredValidUntilFilter.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/RequiredValidUntilFilter.java index 86bc03426..1aca84d4b 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/RequiredValidUntilFilter.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/RequiredValidUntilFilter.java @@ -19,4 +19,8 @@ public RequiredValidUntilFilter() { } private String maxValidityInterval; + + public boolean xmlShouldBeGenerated() { + return (maxValidityInterval != null) && (!maxValidityInterval.equals("PT0S")); + } } diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/filters/RequiredValidUntilFilterTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/filters/RequiredValidUntilFilterTests.groovy new file mode 100644 index 000000000..3bdd980b2 --- /dev/null +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/domain/filters/RequiredValidUntilFilterTests.groovy @@ -0,0 +1,32 @@ +package edu.internet2.tier.shibboleth.admin.ui.domain.filters + +import spock.lang.Specification +import spock.lang.Subject + +/** + * @author Dmitriy Kopylenko + */ +class RequiredValidUntilFilterTests extends Specification { + + def "correct logic in xmlShouldBeGenerated() method"() { + given: "filter under test with maxValidityInterval property not set (null)" + @Subject + def filter = new RequiredValidUntilFilter() + + expect: + !filter.xmlShouldBeGenerated() + + when: "filter under test with maxValidityInterval property not set to PT0S" + filter.maxValidityInterval = 'PT0S' + + then: + !filter.xmlShouldBeGenerated() + + when: "filter under test with maxValidityInterval property not set to some other valid value" + filter.maxValidityInterval = 'PT30S' + + then: + filter.xmlShouldBeGenerated() + + } +}