Skip to content

Commit

Permalink
[SHIBUI-517]
Browse files Browse the repository at this point in the history
Updated/fixed tests WIP.
  • Loading branch information
Bill Smith committed Jun 11, 2018
1 parent f940fc0 commit 8c4221c
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,11 @@ import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver
import edu.internet2.tier.shibboleth.admin.ui.repository.FileBackedHttpMetadataResolverRepository
import edu.internet2.tier.shibboleth.admin.ui.util.RandomGenerator
import edu.internet2.tier.shibboleth.admin.ui.util.TestObjectGenerator
import edu.internet2.tier.shibboleth.admin.util.AttributeUtility
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.autoconfigure.domain.EntityScan
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest
import org.springframework.data.jpa.repository.config.EnableJpaRepositories
Expand All @@ -30,14 +33,19 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
@EntityScan("edu.internet2.tier.shibboleth.admin.ui")
class FileBackedHttpMetadataProviderControllerTests extends Specification {
RandomGenerator randomGenerator
TestObjectGenerator testObjectGenerator
ObjectMapper mapper

@Autowired
AttributeUtility attributeUtility

def repository = Mock(FileBackedHttpMetadataResolverRepository)
def controller
def mockMvc

def setup() {
randomGenerator = new RandomGenerator()
testObjectGenerator = new TestObjectGenerator(attributeUtility)
mapper = new ObjectMapper()

controller = new FileBackedHttpMetadataProviderController (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,28 @@ class TestObjectGenerator {
this.attributeUtility = attributeUtility
}

HttpMetadataResolverAttributes buildHttpMetadataResolverAttributes() {
def attributes = new HttpMetadataResolverAttributes().with {
it.disregardTLSCertificate = generator.randomBoolean()
it.connectionRequestTimeout = generator.randomString(10)
it.httpClientRef = generator.randomString(10)
it.httpCacheDirectory = generator.randomString(10)
it.httpCaching = randomHttpCachingType()
it.httpClientSecurityParametersRef = generator.randomString(10)
it.httpMaxCacheEntries = generator.randomInt(1, 10)
it.httpMaxCacheEntrySize = generator.randomInt(100, 10000)
it.proxyHost = generator.randomString(10)
it.proxyPassword = generator.randomString(10)
it.proxyPort = generator.randomString(5)
it.proxyUser = generator.randomString(10)
it.requestTimeout = generator.randomString(10)
it.socketTimeout = generator.randomString(10)
it.tlsTrustEngineRef = generator.randomString(10)
it
}
return attributes
}

List<EntityAttributesFilter> buildFilterList() {
List<EntityAttributesFilter> filterList = new ArrayList<>()
(1..generator.randomInt(4, 10)).each {
Expand Down Expand Up @@ -212,6 +234,34 @@ class TestObjectGenerator {
}
}

FileBackedHttpMetadataResolver buildFileBackedHttpMetadataResolver() {
def resolver = new FileBackedHttpMetadataResolver()
resolver.name = generator.randomString(10)
resolver.requireValidMetadata = generator.randomBoolean()
resolver.failFastInitialization = generator.randomBoolean()
resolver.sortKey = generator.randomInt(0, 10)
resolver.criterionPredicateRegistryRef = generator.randomString(10)
resolver.useDefaultPredicateRegistry = generator.randomBoolean()
resolver.satisfyAnyPredicates = generator.randomBoolean()
resolver.metadataFilters = buildFilterList()
resolver.reloadableMetadataResolverAttributes = buildReloadableMetadataResolverAttributes()
resolver.httpMetadataResolverAttributes = buildHttpMetadataResolverAttributes()
return resolver
}

ReloadableMetadataResolverAttributes buildReloadableMetadataResolverAttributes() {
def attributes = new ReloadableMetadataResolverAttributes()
attributes.parserPoolRef = generator.randomString(10)
attributes.taskTimerRef = generator.randomString(10)
attributes.minRefreshDelay = generator.randomString(5)
attributes.maxRefreshDelay = generator.randomString(5)
attributes.refreshDelayFactor = generator.randomInt(0, 5)
attributes.indexesRef = generator.randomString(10)
attributes.resolveViaPredicatesOnly = generator.randomBoolean()
attributes.expirationWarningThreshold = generator.randomString(10)
return attributes
}

/**
* This method takes a type and a size and builds a List of that size containing objects of that type. This is
* intended to be used with things that extend LocalizedName such as {@link OrganizationName}, {@link OrganizationDisplayName},
Expand Down

0 comments on commit 8c4221c

Please sign in to comment.