From ec8cc06cefb6fd3da06fdcfba8b750807d301125 Mon Sep 17 00:00:00 2001 From: Jj! Date: Thu, 21 Feb 2019 15:20:49 -0600 Subject: [PATCH] [SHIBUI-1237] fix conversion add test --- .../JPAEntityDescriptorServiceImpl.java | 2 +- ...JPAEntityDescriptorServiceImplTests.groovy | 25 ++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java index e4ba0ee5e..c088e9ecd 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImpl.java @@ -652,7 +652,7 @@ public EntityDescriptorRepresentation createRepresentationFromDescriptor(org.ope } if (overrideProperty.getPersistType() != null && !overrideProperty.getPersistType().equals(overrideProperty.getDisplayType())) { - attributeValues = getValueFromXMLObject(jpaAttribute.getAttributeValues().get(0)); + attributeValues = overrideProperty.getPersistValue().equals(getValueFromXMLObject(jpaAttribute.getAttributeValues().get(0))); } else { attributeValues = Boolean.valueOf(((XSBoolean) jpaAttribute.getAttributeValues() .get(0)).getStoredValue()); diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests.groovy index 9ce206755..b0626d431 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAEntityDescriptorServiceImplTests.groovy @@ -5,6 +5,7 @@ import edu.internet2.tier.shibboleth.admin.ui.ShibbolethUiApplication import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor +import edu.internet2.tier.shibboleth.admin.ui.domain.SPSSODescriptor import edu.internet2.tier.shibboleth.admin.ui.domain.XSAny import edu.internet2.tier.shibboleth.admin.ui.domain.XSAnyBuilder import edu.internet2.tier.shibboleth.admin.ui.domain.XSBoolean @@ -54,7 +55,7 @@ class JPAEntityDescriptorServiceImplTests extends Specification { it } - def service + JPAEntityDescriptorServiceImpl service JacksonTester jacksonTester @@ -857,6 +858,28 @@ class JPAEntityDescriptorServiceImplTests extends Specification { thrown RuntimeException } + def "SHIBUI-1237"() { + given: + // this is very inefficient, but it might work + def inputRepresentation = new EntityDescriptorRepresentation().with { + it.id = 'test' + it.entityId = 'test' + it.relyingPartyOverrides = [ + 'useSha': true, + 'ignoreAuthenticationMethod': true + ] + it + } + + when: + def entityDescriptor = service.createDescriptorFromRepresentation(inputRepresentation) + def representation = service.createRepresentationFromDescriptor(entityDescriptor) + + then: + assert representation.relyingPartyOverrides.get('useSha') instanceof Boolean + assert representation.relyingPartyOverrides.get('ignoreAuthenticationMethod') instanceof Boolean + } + EntityDescriptor generateRandomEntityDescriptor() { EntityDescriptor ed = new EntityDescriptor()