diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/GroupUpdatedEntityListener.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/GroupUpdatedEntityListener.java index 86d3875ef..c6e56ec62 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/GroupUpdatedEntityListener.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/GroupUpdatedEntityListener.java @@ -1,19 +1,15 @@ package edu.internet2.tier.shibboleth.admin.ui.security.model.listener; -import java.util.Set; +import edu.internet2.tier.shibboleth.admin.ui.security.model.Group; +import edu.internet2.tier.shibboleth.admin.ui.security.model.Ownership; +import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepository; +import org.springframework.beans.factory.annotation.Autowired; import javax.persistence.PostLoad; import javax.persistence.PostPersist; import javax.persistence.PostRemove; import javax.persistence.PostUpdate; - -import org.springframework.beans.factory.annotation.Autowired; - -import edu.internet2.tier.shibboleth.admin.ui.security.model.Group; -import edu.internet2.tier.shibboleth.admin.ui.security.model.Ownership; -import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepository; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; +import java.util.Set; public class GroupUpdatedEntityListener implements ILazyLoaderHelper { private static OwnershipRepository ownershipRepository; @@ -37,7 +33,6 @@ public synchronized void groupSavedOrFetched(Group group) { } @Override - @Transactional(propagation = Propagation.REQUIRES_NEW) public void loadOwnedItems(Group group) { Set ownedItems = ownershipRepository.findAllByOwner(group); group.setOwnedItems(ownedItems); diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/ILazyLoaderHelper.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/ILazyLoaderHelper.java index f2b4df092..689306932 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/ILazyLoaderHelper.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/ILazyLoaderHelper.java @@ -4,7 +4,7 @@ import edu.internet2.tier.shibboleth.admin.ui.security.model.User; public interface ILazyLoaderHelper { - default public void loadOwnedItems(Group g) { } + default void loadOwnedItems(Group g) { } - default public void loadGroups(User u) { } + default void loadGroups(User u) { } } \ No newline at end of file diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/UserUpdatedEntityListener.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/UserUpdatedEntityListener.java index 1d4e54d0c..a53260486 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/UserUpdatedEntityListener.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/security/model/listener/UserUpdatedEntityListener.java @@ -6,8 +6,6 @@ import edu.internet2.tier.shibboleth.admin.ui.security.repository.GroupsRepository; import edu.internet2.tier.shibboleth.admin.ui.security.repository.OwnershipRepository; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import javax.persistence.PostLoad; import javax.persistence.PostPersist; @@ -40,11 +38,12 @@ public synchronized void userSavedOrFetched(User user) { } @Override - @Transactional(propagation = Propagation.REQUIRES_NEW) public void loadGroups(User user) { Set ownerships = ownershipRepository.findAllGroupsForUser(user.getUsername()); HashSet groups = new HashSet<>(); final boolean isAdmin = user.getRole().equals("ROLE_ADMIN"); + + // if the user is an admin, clear out the regex value so it isn't sent out to the UI ownerships.stream().map(ownership -> groupRepository.findByResourceId(ownership.getOwnerId())).forEach(userGroup -> { if (isAdmin) { userGroup.setValidationRegex(null); diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/AbstractBaseDataJpaTest.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/AbstractBaseDataJpaTest.groovy index 1668f757e..29206f86d 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/AbstractBaseDataJpaTest.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/AbstractBaseDataJpaTest.groovy @@ -17,11 +17,16 @@ import spock.lang.Specification import javax.persistence.EntityManager +//@DataJpaTest (properties = ["spring.datasource.url=jdbc:h2:file:/tmp/myApplicationDb;AUTO_SERVER=TRUE", +// "spring.datasource.username=sa", +// "spring.datasource.password=", +// "spring.jpa.hibernate.ddl-auto=create-drop"]) +//@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) @DataJpaTest @ContextConfiguration(classes = [BaseDataJpaTestConfiguration]) @EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) @EntityScan("edu.internet2.tier.shibboleth.admin.ui") -abstract class AbstractBaseDataJpaTest extends Specification { +abstract class AbstractBaseDataJpaTest extends Specification implements ResetsDatabase { @Autowired EntityManager entityManager @@ -43,6 +48,7 @@ abstract class AbstractBaseDataJpaTest extends Specification { // ensure roles are in a known good state and that we have an admin user and group @Transactional def setup() { +// dbsetup() groupService.clearAllForTesting() userRepository.deleteAll() ownershipRepository.deleteAll() @@ -72,6 +78,7 @@ abstract class AbstractBaseDataJpaTest extends Specification { def cleanup() { entityManager.clear() +// dbcleanup() } protected createAdminUser() { diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/ResetDatabase.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/ResetDatabase.groovy new file mode 100644 index 000000000..ded212e42 --- /dev/null +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/ResetDatabase.groovy @@ -0,0 +1,34 @@ +package edu.internet2.tier.shibboleth.admin.ui + +import groovy.sql.Sql + +trait ResetsDatabase { + static final String H2_BACKUP_LOCATION = '/tmp/h2backup.sql' + + void dbsetup() { + if (new File(H2_BACKUP_LOCATION).exists()) { + print "Previous test was interrupted and did not clean up after itself. " + loadH2FromBackup() + } + else { + Sql sql = connectToSql() + sql.execute("SCRIPT TO ?", [H2_BACKUP_LOCATION]) + } + } + + void dbcleanup() { + loadH2FromBackup() + new File(H2_BACKUP_LOCATION).delete() + } + + private void loadH2FromBackup() { + println "Restoring H2 from backup location." + Sql sql = connectToSql() + sql.execute("DROP ALL OBJECTS") + sql.execute("RUNSCRIPT FROM ?", [H2_BACKUP_LOCATION]) + } + + private Sql connectToSql() { + Sql.newInstance('jdbc:h2:file:/tmp/myApplicationDb;AUTO_SERVER=TRUE', 'sa', '', 'org.h2.Driver') + } +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/CustomPropertiesConfigurationTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/CustomPropertiesConfigurationTests.groovy index bcdc666de..4113b372c 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/CustomPropertiesConfigurationTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/CustomPropertiesConfigurationTests.groovy @@ -6,8 +6,6 @@ import edu.internet2.tier.shibboleth.admin.ui.repository.CustomEntityAttributeDe import edu.internet2.tier.shibboleth.admin.ui.service.CustomEntityAttributesDefinitionService import org.springframework.beans.factory.annotation.Autowired -import javax.persistence.EntityManager - /** * Tests for edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration */ @@ -21,9 +19,6 @@ class CustomPropertiesConfigurationTests extends AbstractBaseDataJpaTest { @Autowired CustomEntityAttributeDefinitionRepository repository - - @Autowired - EntityManager entityManager def "Updating Custom Entity Attribute Definitions will update the CustomPropertiesConfiguration automatically"() { given: 'Test defaults loaded (ie no CEADs in DB)' diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/scheduled/EntityDescriptorFilesScheduledTasksTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/scheduled/EntityDescriptorFilesScheduledTasksTests.groovy index 7c1acc5da..b9e9856dd 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/scheduled/EntityDescriptorFilesScheduledTasksTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/scheduled/EntityDescriptorFilesScheduledTasksTests.groovy @@ -1,47 +1,29 @@ package edu.internet2.tier.shibboleth.admin.ui.scheduled -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.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRepresentation import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.OrganizationRepresentation 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.repository.RoleRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.UserRepository -import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService -import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService import edu.internet2.tier.shibboleth.admin.ui.service.FileCheckingFileWritingService import edu.internet2.tier.shibboleth.admin.ui.service.JPAEntityDescriptorServiceImpl -import edu.internet2.tier.shibboleth.admin.ui.service.JPAEntityServiceImpl import edu.internet2.tier.shibboleth.admin.ui.util.RandomGenerator import edu.internet2.tier.shibboleth.admin.util.EntityDescriptorConversionUtils - 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 org.xmlunit.builder.DiffBuilder import org.xmlunit.builder.Input -import spock.lang.Specification /** * @author Bill Smith (wsmith@unicon.net) */ -@DataJpaTest -@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -class EntityDescriptorFilesScheduledTasksTests extends Specification { +class EntityDescriptorFilesScheduledTasksTests extends AbstractBaseDataJpaTest { @Autowired OpenSamlObjects openSamlObjects @Autowired - IGroupService groupService - + JPAEntityDescriptorServiceImpl service + def tempPath = "/tmp/shibui" def directory @@ -51,10 +33,7 @@ class EntityDescriptorFilesScheduledTasksTests extends Specification { def entityDescriptorFilesScheduledTasks def randomGenerator - - - def service - + def setup() { randomGenerator = new RandomGenerator() tempPath = tempPath + randomGenerator.randomRangeInt(10000, 20000) @@ -62,10 +41,10 @@ class EntityDescriptorFilesScheduledTasksTests extends Specification { entityDescriptorFilesScheduledTasks = new EntityDescriptorFilesScheduledTasks(tempPath, entityDescriptorRepository, openSamlObjects, new FileCheckingFileWritingService()) directory = new File(tempPath) directory.mkdir() - - service = new JPAEntityDescriptorServiceImpl() - service.openSamlObjects = openSamlObjects - service.groupService = groupService + } + + def cleanup() { + directory.deleteDir() } def "generateEntityDescriptorFiles properly generates a file from an Entity Descriptor"() { @@ -114,21 +93,6 @@ class EntityDescriptorFilesScheduledTasksTests extends Specification { def "removeDanglingEntityDescriptorFiles properly deletes files"() { given: - def expectedXml = ''' - - - name - display name - http://test.example.org - - - ''' - def entityDescriptor = service.createDescriptorFromRepresentation(new EntityDescriptorRepresentation().with { it.entityId = 'http://test.example.org/test1' it.organization = new OrganizationRepresentation().with { @@ -152,8 +116,4 @@ class EntityDescriptorFilesScheduledTasksTests extends Specification { def files = new File(tempPath, file) files.size() == 0 } - - def cleanup() { - directory.deleteDir() - } } \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/GroupsRepositoryTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/GroupsRepositoryTests.groovy index 2ce75002a..a81443166 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/GroupsRepositoryTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/GroupsRepositoryTests.groovy @@ -80,14 +80,17 @@ class GroupsRepositoryTests extends AbstractBaseDataJpaTest { it.resourceId = "g1" it } - Group savedGroup = groupsRepo.saveAndFlush(group) - Collection all = ownershipRepository.findAllByOwner(savedGroup) + groupsRepo.saveAndFlush(group) + entityManager.clear() + Group groupFromDb = groupsRepo.findByResourceId("g1") + groupFromDb.getOwnedItems() + Collection groupOwnedItems = ownershipRepository.findAllByOwner(groupFromDb) then: - all.size() == 3 - savedGroup.getOwnedItems().size() == 3 - all.each { - savedGroup.ownedItems.contains(it) + groupOwnedItems.size() == 3 + groupFromDb.getOwnedItems().size() == 3 + groupOwnedItems.each { + groupFromDb.ownedItems.contains(it) } } diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/OwnershipRepositoryTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/OwnershipRepositoryTests.groovy index 63d0284a6..e69156b3f 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/OwnershipRepositoryTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/repository/OwnershipRepositoryTests.groovy @@ -11,7 +11,6 @@ import org.springframework.transaction.annotation.Transactional class OwnershipRepositoryTests extends AbstractBaseDataJpaTest { @Transactional def setup() { - ownershipRepository.deleteAll() def ownerships = [ new Ownership().with { it.ownedId = "aaa" diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy index 44e389229..73c56aa91 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/security/service/UserServiceTests.groovy @@ -33,7 +33,7 @@ class UserServiceTests extends AbstractBaseDataJpaTest { then: result.groupId == "testingGroupBBB" result.username == "someUser" - result.userGroups.size() == 1 + result.getUserGroups().size() == 1 // Raw check that the DB is correct for ownership Set users = ownershipRepository.findUsersByOwner(gb) @@ -68,7 +68,7 @@ class UserServiceTests extends AbstractBaseDataJpaTest { then: result.groupId == "testingGroup" result.username == "someUser" - result.userGroups.size() == 1 + result.getUserGroups().size() == 1 // Raw check that the DB is correct for ownership Set users = ownershipRepository.findUsersByOwner(ga) @@ -108,7 +108,7 @@ class UserServiceTests extends AbstractBaseDataJpaTest { then: result.groupId == "testingGroup" result.username == "someUser" - result.userGroups.size() == 1 + result.getUserGroups().size() == 1 result.firstName == "Wilma" } @@ -140,7 +140,7 @@ class UserServiceTests extends AbstractBaseDataJpaTest { def result = userService.save(user) then: - result.userGroups.size() == 2 + result.getUserGroups().size() == 2 // Raw check that the DB is correct for ownership Set users = ownershipRepository.findUsersByOwner(ga) diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/IndexWriterServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/IndexWriterServiceTests.groovy index 65ec74bc1..bb79bf48a 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/IndexWriterServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/IndexWriterServiceTests.groovy @@ -1,25 +1,12 @@ package edu.internet2.tier.shibboleth.admin.ui.service -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.AbstractBaseDataJpaTest 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 /** * @author Bill Smith (wsmith@unicon.net) */ -@DataJpaTest -@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan("edu.internet2.tier.shibboleth.admin.ui") -class IndexWriterServiceTests extends Specification { - +class IndexWriterServiceTests extends AbstractBaseDataJpaTest { @Autowired IndexWriterService service @@ -34,4 +21,4 @@ class IndexWriterServiceTests extends Specification { then: firstIndexWriter == secondIndexWriter } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/UserBootstrapTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/UserBootstrapTests.groovy index 95eb8d09f..9c40b1035 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/UserBootstrapTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/UserBootstrapTests.groovy @@ -1,50 +1,23 @@ package edu.internet2.tier.shibboleth.admin.ui.service -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.AbstractBaseDataJpaTest import edu.internet2.tier.shibboleth.admin.ui.configuration.ShibUIConfiguration -import edu.internet2.tier.shibboleth.admin.ui.configuration.TestConfiguration -import edu.internet2.tier.shibboleth.admin.ui.security.repository.RoleRepository -import edu.internet2.tier.shibboleth.admin.ui.security.repository.UserRepository -import edu.internet2.tier.shibboleth.admin.ui.security.service.IGroupService -import edu.internet2.tier.shibboleth.admin.ui.security.service.UserService 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.context.annotation.ComponentScan import org.springframework.context.annotation.FilterType import org.springframework.core.io.ClassPathResource -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 org.springframework.transaction.annotation.Transactional -@DataJpaTest -@ContextConfiguration(classes=[CoreShibUiConfiguration, SearchConfiguration, TestConfiguration, InternationalizationConfiguration, ShibUIConfiguration]) -@EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) -@EntityScan(["edu.internet2.tier.shibboleth.admin.ui", "edu.internet2.tier.shibboleth.admin.ui.security.model"]) -@DirtiesContext(methodMode = DirtiesContext.MethodMode.AFTER_METHOD, classMode = DirtiesContext.ClassMode.BEFORE_CLASS) @ComponentScan(excludeFilters = [@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = [UserBootstrap])]) -class UserBootstrapTests extends Specification { +class UserBootstrapTests extends AbstractBaseDataJpaTest { @Autowired ShibUIConfiguration shibUIConfiguration - @Autowired - UserRepository userRepository - - @Autowired - RoleRepository roleRepository - - @Autowired - UserService userService - - @Autowired - IGroupService groupService - + @Transactional def setup() { - groupService.ensureAdminGroupExists() roleRepository.deleteAll() + userRepository.deleteAll() + entityManager.flush() } def "simple test"() { @@ -76,4 +49,4 @@ class UserBootstrapTests extends Specification { assert roleRepository.findByName('ROLE_ADMIN').get() assert roleRepository.findByName('ROLE_USER').get() } -} +} \ No newline at end of file diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/util/TestObjectGenerator.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/util/TestObjectGenerator.groovy index 6f8f3f51f..e91271c81 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/util/TestObjectGenerator.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/util/TestObjectGenerator.groovy @@ -1,12 +1,36 @@ package edu.internet2.tier.shibboleth.admin.ui.util import edu.internet2.tier.shibboleth.admin.ui.configuration.CustomPropertiesConfiguration -import edu.internet2.tier.shibboleth.admin.ui.domain.* -import edu.internet2.tier.shibboleth.admin.ui.domain.filters.* +import edu.internet2.tier.shibboleth.admin.ui.domain.Attribute +import edu.internet2.tier.shibboleth.admin.ui.domain.ContactPerson +import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor +import edu.internet2.tier.shibboleth.admin.ui.domain.LocalizedName +import edu.internet2.tier.shibboleth.admin.ui.domain.OrganizationDisplayName +import edu.internet2.tier.shibboleth.admin.ui.domain.OrganizationName +import edu.internet2.tier.shibboleth.admin.ui.domain.OrganizationURL +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.filters.EntityAttributesFilterTarget.EntityAttributesFilterTargetType +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityRoleWhiteListFilter +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.MetadataFilter +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.NameIdFormatFilter +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.NameIdFormatFilterTarget +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.RequiredValidUntilFilter +import edu.internet2.tier.shibboleth.admin.ui.domain.filters.SignatureValidationFilter import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.FilterRepresentation import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.FilterTargetRepresentation -import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.* +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ClasspathMetadataResource +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicMetadataResolverAttributes +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FilesystemMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.HttpMetadataResolverAttributes +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.LocalDynamicMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataQueryProtocolScheme +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ReloadableMetadataResolverAttributes +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ResourceBackedMetadataResolver +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.SvnMetadataResource import edu.internet2.tier.shibboleth.admin.util.AttributeUtility import edu.internet2.tier.shibboleth.admin.util.MDDCConstants import edu.internet2.tier.shibboleth.admin.util.ModelRepresentationConversions @@ -379,10 +403,8 @@ class TestObjectGenerator { EntityAttributesFilterTarget buildEntityAttributesFilterTarget() { EntityAttributesFilterTarget entityAttributesFilterTarget = new EntityAttributesFilterTarget() - - entityAttributesFilterTarget.setEntityAttributesFilterTargetType(randomFilterTargetType()) - entityAttributesFilterTarget.setSingleValue( - buildEntityAttributesFilterTargetValueByType(entityAttributesFilterTarget.getEntityAttributesFilterTargetType())) + entityAttributesFilterTarget.setEntityAttributesFilterTargetType(EntityAttributesFilterTargetType.ENTITY) + entityAttributesFilterTarget.setSingleValue(buildEntityAttributesFilterTargetValueByType(EntityAttributesFilterTargetType.ENTITY)) return entityAttributesFilterTarget } @@ -410,18 +432,12 @@ class TestObjectGenerator { FilterTargetRepresentation buildFilterTargetRepresentation() { FilterTargetRepresentation representation = new FilterTargetRepresentation() - representation.setType(randomFilterTargetType().toString()) - representation.setValue([ - buildEntityAttributesFilterTargetValueByType(EntityAttributesFilterTargetType.valueOf(representation.getType())) - ]) + representation.setType(EntityAttributesFilterTargetType.ENTITY.name()) + representation.setValue([ buildEntityAttributesFilterTargetValueByType(EntityAttributesFilterTargetType.ENTITY) ]) return representation } - EntityAttributesFilterTarget.EntityAttributesFilterTargetType randomFilterTargetType() { - EntityAttributesFilterTarget.EntityAttributesFilterTargetType.values()[generator.randomInt(0, 2)] - } - EntityDescriptor buildEntityDescriptor() { EntityDescriptor entityDescriptor = new EntityDescriptor()