From 75c3657936b20dd6ae40c8dc48f6b9e62ec99439 Mon Sep 17 00:00:00 2001 From: chasegawa Date: Tue, 18 May 2021 12:52:48 -0700 Subject: [PATCH] SHIBUI-1880 Fixes for all unit testing that was broken --- .../EntitiesControllerIntegrationTests.groovy | 31 ++++++++++++++++--- .../controller/EntitiesControllerTests.groovy | 3 -- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntitiesControllerIntegrationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntitiesControllerIntegrationTests.groovy index 01a4ff060..bda1b4dfa 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntitiesControllerIntegrationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntitiesControllerIntegrationTests.groovy @@ -1,14 +1,20 @@ package edu.internet2.tier.shibboleth.admin.ui.controller import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects +import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorRepository +import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService import groovy.json.JsonOutput import net.shibboleth.ext.spring.resource.ResourceHelper +import net.shibboleth.utilities.java.support.resolver.CriteriaSet + import org.joda.time.DateTime +import org.opensaml.core.criterion.EntityIdCriterion import org.opensaml.saml.metadata.resolver.ChainingMetadataResolver import org.opensaml.saml.metadata.resolver.MetadataResolver import org.opensaml.saml.metadata.resolver.filter.MetadataFilterChain import org.opensaml.saml.metadata.resolver.impl.FilesystemMetadataResolver import org.opensaml.saml.metadata.resolver.impl.ResourceBackedMetadataResolver +import org.spockframework.spring.SpringBean import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest import org.springframework.boot.test.context.TestConfiguration @@ -35,11 +41,26 @@ class EntitiesControllerIntegrationTests extends Specification { @Autowired private WebTestClient webClient - /*def setup() { - // yeah, don't ask... this is just shenanigans - // The API is changed. Doesn't work anymore. Not sure if we need it here - this.webClient.webClient.uriBuilderFactory.encodingMode = DefaultUriBuilderFactory.EncodingMode.NONE - }*/ + def openSamlObjects = new OpenSamlObjects().with { + init() + it + } + + def resource = ResourceHelper.of(new ClassPathResource("/metadata/aggregate.xml")) + + def metadataResolver = new ResourceBackedMetadataResolver(resource).with { + it.id = 'test' + it.parserPool = openSamlObjects.parserPool + initialize() + it + } + + // This stub will spit out the results from the resolver instead of actually finding them in the DB + @SpringBean + EntityDescriptorRepository edr = Stub(EntityDescriptorRepository) { + findByEntityID("http://test.scaldingspoon.org/test1") >> metadataResolver.resolveSingle(new CriteriaSet(new EntityIdCriterion("http://test.scaldingspoon.org/test1"))) + findByEntityID("test") >> metadataResolver.resolveSingle(new CriteriaSet(new EntityIdCriterion("test"))) + } //todo review def "GET /api/entities returns the proper json"() { diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntitiesControllerTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntitiesControllerTests.groovy index d7f41536b..48e3bc8ae 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntitiesControllerTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntitiesControllerTests.groovy @@ -37,14 +37,11 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. @EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) @EntityScan("edu.internet2.tier.shibboleth.admin.ui") class EntitiesControllerTests extends Specification { - - // Controller needs this to spit out the data def openSamlObjects = new OpenSamlObjects().with { init() it } - // resource will load the ED from the aggregate.xml file for testing def resource = ResourceHelper.of(new ClassPathResource("/metadata/aggregate.xml")) def metadataResolver = new ResourceBackedMetadataResolver(resource).with {