diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/DynamicHttpMetadataResolverRepository.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/DynamicHttpMetadataResolverRepository.java deleted file mode 100644 index c4a08804f..000000000 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/DynamicHttpMetadataResolverRepository.java +++ /dev/null @@ -1,18 +0,0 @@ -package edu.internet2.tier.shibboleth.admin.ui.repository; - -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver; -import org.springframework.data.repository.CrudRepository; - -/** - * Spring Data CRUD repository for instances of {@link DynamicHttpMetadataResolver}s. - * - * @author Bill Smith (wsmith@unicon.net) - */ -public interface DynamicHttpMetadataResolverRepository extends CrudRepository { - - DynamicHttpMetadataResolver findByName(String name); - - boolean deleteByResourceId(String resourceId); - - DynamicHttpMetadataResolver findByResourceId(String resourceId); -} \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/EntityRoleWhiteListFilterRepository.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/EntityRoleWhiteListFilterRepository.java deleted file mode 100644 index afa830773..000000000 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/EntityRoleWhiteListFilterRepository.java +++ /dev/null @@ -1,16 +0,0 @@ -package edu.internet2.tier.shibboleth.admin.ui.repository; - -import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityRoleWhiteListFilter; -import org.springframework.data.repository.CrudRepository; - -/** - * Spring Data CRUD repository for instances of {@link EntityRoleWhiteListFilter}s. - */ -public interface EntityRoleWhiteListFilterRepository extends CrudRepository { - - EntityRoleWhiteListFilter findByName(String name); - - EntityRoleWhiteListFilter findByResourceId(String resourceId); - - boolean deleteByResourceId(String resourceId); -} diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/FileBackedHttpMetadataResolverRepository.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/FileBackedHttpMetadataResolverRepository.java deleted file mode 100644 index 97d069173..000000000 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/FileBackedHttpMetadataResolverRepository.java +++ /dev/null @@ -1,14 +0,0 @@ -package edu.internet2.tier.shibboleth.admin.ui.repository; - -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver; -import org.springframework.data.repository.CrudRepository; - -/** - * Spring Data CRUD repository for instances of {@link FileBackedHttpMetadataResolver}s. - */ -public interface FileBackedHttpMetadataResolverRepository extends CrudRepository { - - FileBackedHttpMetadataResolver findByName(String name); - boolean deleteByResourceId(String resourceId); - FileBackedHttpMetadataResolver findByResourceId(String resourceId); -} diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/LocalDynamicMetadataResolverRepository.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/LocalDynamicMetadataResolverRepository.java deleted file mode 100644 index 323b470d5..000000000 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/LocalDynamicMetadataResolverRepository.java +++ /dev/null @@ -1,16 +0,0 @@ -package edu.internet2.tier.shibboleth.admin.ui.repository; - -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.LocalDynamicMetadataResolver; -import org.springframework.data.repository.CrudRepository; - -/** - * Spring Data CRUD repository for instances of {@link LocalDynamicMetadataResolver}s. - */ -public interface LocalDynamicMetadataResolverRepository extends CrudRepository { - - LocalDynamicMetadataResolver findByName(String name); - - boolean deleteByResourceId(String resourceId); - - LocalDynamicMetadataResolver findByResourceId(String resourceId); -} diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/RoleDescriptorResolverRepository.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/RoleDescriptorResolverRepository.java deleted file mode 100644 index c2cbef436..000000000 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/RoleDescriptorResolverRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package edu.internet2.tier.shibboleth.admin.ui.repository; - -import edu.internet2.tier.shibboleth.admin.ui.domain.RoleDescriptorResolver; -import org.springframework.data.repository.CrudRepository; - - -/** - * Repository to manage {@link RoleDescriptorResolver} instances. - */ -public interface RoleDescriptorResolverRepository extends CrudRepository { - -} diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/SignatureValidationFilterRepository.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/SignatureValidationFilterRepository.java deleted file mode 100644 index 7b1c70e0f..000000000 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/SignatureValidationFilterRepository.java +++ /dev/null @@ -1,16 +0,0 @@ -package edu.internet2.tier.shibboleth.admin.ui.repository; - -import edu.internet2.tier.shibboleth.admin.ui.domain.filters.SignatureValidationFilter; -import org.springframework.data.repository.CrudRepository; - -/** - * Spring Data CRUD repository for instances of {@link SignatureValidationFilter}s. - */ -public interface SignatureValidationFilterRepository extends CrudRepository { - - SignatureValidationFilter findByName(String name); - - SignatureValidationFilter findByResourceId(String resourceId); - - boolean deleteByResourceId(String resourceId); -} diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/FileBackedHttpMetadataResolverRepositoryTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/FileBackedHttpMetadataResolverRepositoryTests.groovy deleted file mode 100644 index 46f582501..000000000 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/FileBackedHttpMetadataResolverRepositoryTests.groovy +++ /dev/null @@ -1,130 +0,0 @@ -package edu.internet2.tier.shibboleth.admin.ui.repository - -import com.fasterxml.jackson.databind.ObjectMapper -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration -import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter -import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilterTarget -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.HttpMetadataResolverAttributes -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ReloadableMetadataResolverAttributes -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 -import org.springframework.test.annotation.DirtiesContext -import org.springframework.test.context.ContextConfiguration -import spock.lang.Specification - -import javax.persistence.EntityManager - -import static edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilterTarget.EntityAttributesFilterTargetType.ENTITY -import static edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.HttpMetadataResolverAttributes.HttpCachingType.memory - -@DataJpaTest -@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -@DirtiesContext(methodMode = DirtiesContext.MethodMode.BEFORE_METHOD) -class FileBackedHttpMetadataResolverRepositoryTests extends Specification { - - @Autowired - MetadataResolverRepository repositoryUnderTest - - @Autowired - EntityManager entityManager - - def "file backed http metadata resolver instances persist OK"() { - when: - def mdr = new FileBackedHttpMetadataResolver().with { - it.name = "FileBackedHttpMetadata" - - it.httpMetadataResolverAttributes = new HttpMetadataResolverAttributes().with { - it.connectionRequestTimeout = "PT05" - it.disregardTLSCertificate = true - it.httpCaching = memory - it - } - it.reloadableMetadataResolverAttributes = new ReloadableMetadataResolverAttributes().with { - it.indexesRef = "indexesSpringBeanId" - it - } - - it.metadataFilters.add(new EntityAttributesFilter().with { - it.entityAttributesFilterTarget = new EntityAttributesFilterTarget().with { - it.entityAttributesFilterTargetType = ENTITY - it.setValue(["hola"]) - it - } - it - }) - it - } - repositoryUnderTest.save(mdr) - - then: - repositoryUnderTest.findAll().size() > 0 - FileBackedHttpMetadataResolver item = repositoryUnderTest.findByName("FileBackedHttpMetadata") - - item.name == "FileBackedHttpMetadata" - item.metadataFilters.size() == 1 - item.metadataFilters[0].entityAttributesFilterTarget.entityAttributesFilterTargetType == ENTITY - item.metadataFilters[0].entityAttributesFilterTarget.value.size() == 1 - item.metadataFilters[0].entityAttributesFilterTarget.value.get(0) == "hola" - item.httpMetadataResolverAttributes.connectionRequestTimeout == "PT05" - item.httpMetadataResolverAttributes.disregardTLSCertificate - item.httpMetadataResolverAttributes.httpCaching == memory - item.reloadableMetadataResolverAttributes.indexesRef == "indexesSpringBeanId" - } - - def "FileBackedHttpMetadataResolver hashcode works as desired"() { - given: - // TODO: There is weirdness here if reloadableMetadataResolverAttributes is empty. - // I suspect similar weirdness if httpMetadataResolverAttributes is an empty object, too. - def resolverJson = '''{ - "name": "name", - "@type": "FileBackedHttpMetadataResolver", - "requireValidMetadata": true, - "failFastInitialization": true, - "sortKey": 7, - "criterionPredicateRegistryRef": "criterionPredicateRegistryRef", - "useDefaultPredicateRegistry": true, - "satisfyAnyPredicates": true, - "metadataFilters": [], - "reloadableMetadataResolverAttributes": { - "parserPoolRef": "parserPoolRef" - }, - "httpMetadataResolverAttributes": { - "httpClientRef": "httpClientRef", - "connectionRequestTimeout": "connectionRequestTimeout", - "connectionTimeout": "connectionTimeout", - "socketTimeout": "socketTimeout", - "disregardTLSCertificate": true, - "tlsTrustEngineRef": "tlsTrustEngineRef", - "httpClientSecurityParametersRef": "httpClientSecurityParametersRef", - "proxyHost": "proxyHost", - "proxyPort": "proxyPort", - "proxyUser": "proxyUser", - "proxyPassword": "proxyPassword", - "httpCaching": "none", - "httpCacheDirectory": "httpCacheDirectory", - "httpMaxCacheEntries": 1, - "httpMaxCacheEntrySize": 2 - } -}''' - - when: - def resolver = new ObjectMapper().readValue(resolverJson.bytes, FileBackedHttpMetadataResolver) - def persistedResolver = repositoryUnderTest.save(resolver) - entityManager.flush() - - then: - def item1 = repositoryUnderTest.findByName(persistedResolver.name) - entityManager.clear() - def item2 = repositoryUnderTest.findByName(persistedResolver.name) - - item1.hashCode() == item2.hashCode() - } -} diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/LocalDynamicMetadataResolverRepositoryTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/LocalDynamicMetadataResolverRepositoryTests.groovy deleted file mode 100644 index 63ae7018c..000000000 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/LocalDynamicMetadataResolverRepositoryTests.groovy +++ /dev/null @@ -1,78 +0,0 @@ -package edu.internet2.tier.shibboleth.admin.ui.repository - -import edu.internet2.tier.shibboleth.admin.ui.configuration.CoreShibUiConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.InternationalizationConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.SearchConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration -import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter -import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilterTarget -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicMetadataResolverAttributes -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.LocalDynamicMetadataResolver -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 -import org.springframework.test.context.ContextConfiguration -import spock.lang.Specification - -import javax.persistence.EntityManager - -import static edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilterTarget.EntityAttributesFilterTargetType.ENTITY - -@DataJpaTest -@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -class LocalDynamicMetadataResolverRepositoryTests extends Specification { - - @Autowired - LocalDynamicMetadataResolverRepository repositoryUnderTest - - @Autowired - EntityManager entityManager - - def "local dynamic metadata resolver instances persist OK"() { - when: - def mdr = new LocalDynamicMetadataResolver().with { - it.name = 'LocalDynamicMetadataResolver' - it.sourceDirectory = '/etc/shibui' - it.sourceKeyGeneratorRef = 'sourceKeyGeneratorBean' - it.sourceManagerRef = 'sourceManagerBean' - it.dynamicMetadataResolverAttributes = new DynamicMetadataResolverAttributes().with { - it.cleanupTaskInterval = 'PT5H' - it.maxCacheDuration = 'PT8H' - it.initializeFromPersistentCacheInBackground = true - it - } - - it.metadataFilters.add(new EntityAttributesFilter().with { - it.entityAttributesFilterTarget = new EntityAttributesFilterTarget().with { - it.entityAttributesFilterTargetType = ENTITY - it.setValue(['hola']) - it - } - it - }) - - it - } - repositoryUnderTest.save(mdr) - - then: - repositoryUnderTest.findAll().size() > 0 - def item = repositoryUnderTest.findByName("LocalDynamicMetadataResolver") - - item.name == "LocalDynamicMetadataResolver" - item.metadataFilters.size() == 1 - item.metadataFilters[0].entityAttributesFilterTarget.entityAttributesFilterTargetType == ENTITY - item.metadataFilters[0].entityAttributesFilterTarget.value.size() == 1 - item.metadataFilters[0].entityAttributesFilterTarget.value.get(0) == "hola" - item.sourceDirectory == '/etc/shibui' - item.sourceKeyGeneratorRef == 'sourceKeyGeneratorBean' - item.sourceManagerRef == 'sourceManagerBean' - item.dynamicMetadataResolverAttributes.cleanupTaskInterval == 'PT5H' - item.dynamicMetadataResolverAttributes.maxCacheDuration == 'PT8H' - item.dynamicMetadataResolverAttributes.initializeFromPersistentCacheInBackground - } - -}