Skip to content

Commit

Permalink
SHIBUI-1880
Browse files Browse the repository at this point in the history
Fixes for all unit testing that was broken
  • Loading branch information
chasegawa committed May 18, 2021
1 parent 77d5789 commit 75c3657
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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"() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down

0 comments on commit 75c3657

Please sign in to comment.