From 4678866c1e5a3c9d108d09a873a679326fdfc140 Mon Sep 17 00:00:00 2001 From: Dmitriy Kopylenko Date: Fri, 7 Jun 2019 15:02:45 -0400 Subject: [PATCH] SHIBUI-1262 optimize tests --- .../EntityDescriptorEnversVersioningTests.groovy | 11 +---------- .../ui/repository/envers/EnversTestsSupport.groovy | 6 ++++-- .../EnversEntityDescriptorVersionServiceTests.groovy | 3 +-- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/EntityDescriptorEnversVersioningTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/EntityDescriptorEnversVersioningTests.groovy index c71cd55a8..af2047eae 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/EntityDescriptorEnversVersioningTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/EntityDescriptorEnversVersioningTests.groovy @@ -16,7 +16,6 @@ import org.springframework.data.jpa.repository.config.EnableJpaRepositories import org.springframework.test.annotation.DirtiesContext import org.springframework.test.context.ContextConfiguration import org.springframework.transaction.PlatformTransactionManager -import spock.lang.Ignore import spock.lang.Specification import javax.persistence.EntityManager @@ -32,7 +31,7 @@ import static org.opensaml.saml.saml2.metadata.ContactPersonTypeEnumeration.OTHE @ContextConfiguration(classes = [CoreShibUiConfiguration, InternationalizationConfiguration, TestConfiguration, SearchConfiguration]) @EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) @EntityScan("edu.internet2.tier.shibboleth.admin.ui") -@Ignore +@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) class EntityDescriptorEnversVersioningTests extends Specification { @Autowired @@ -50,7 +49,6 @@ class EntityDescriptorEnversVersioningTests extends Specification { @Autowired OpenSamlObjects openSamlObjects - @DirtiesContext def "test versioning with contact persons"() { setup: def expectedModifiedPersistentEntities = [EntityDescriptor.name, ContactPerson.name, GivenName.name, EmailAddress.name] @@ -122,7 +120,6 @@ class EntityDescriptorEnversVersioningTests extends Specification { } - @DirtiesContext def "test versioning with organization"() { setup: def expectedModifiedPersistentEntities = [EntityDescriptor.name, @@ -176,7 +173,6 @@ class EntityDescriptorEnversVersioningTests extends Specification { getRevisionEntityForRevisionIndex(entityDescriptorHistory, 1).timestamp > 0L } - @DirtiesContext def "test versioning with sp sso descriptor"() { setup: def expectedModifiedPersistentEntities = [EntityDescriptor.name, @@ -238,7 +234,6 @@ class EntityDescriptorEnversVersioningTests extends Specification { getRevisionEntityForRevisionIndex(entityDescriptorHistory, 0).timestamp > 0L } - @DirtiesContext def "test versioning with uiInfo"() { setup: def expectedModifiedPersistentEntities = [EntityDescriptor.name, @@ -330,7 +325,6 @@ class EntityDescriptorEnversVersioningTests extends Specification { uiinfoInitialRevision.logos[0].width == 30 } - @DirtiesContext def "test versioning with security"() { setup: def expectedModifiedPersistentEntities = [EntityDescriptor.name, @@ -425,7 +419,6 @@ class EntityDescriptorEnversVersioningTests extends Specification { x509cert.value == 'signingValue' } - @DirtiesContext def "test versioning ACS"() { setup: def expectedModifiedPersistentEntities = [EntityDescriptor.name, @@ -495,7 +488,6 @@ class EntityDescriptorEnversVersioningTests extends Specification { acs.binding == 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' } - @DirtiesContext def "test versioning logout"() { setup: def expectedModifiedPersistentEntities = [EntityDescriptor.name, @@ -558,7 +550,6 @@ class EntityDescriptorEnversVersioningTests extends Specification { slo.binding == 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' } - @DirtiesContext def "test versioning relying party overrides"() { setup: def expectedModifiedPersistentEntities = [EntityDescriptor.name, diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/EnversTestsSupport.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/EnversTestsSupport.groovy index 3d2632f6b..ca447e7f0 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/EnversTestsSupport.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/repository/envers/EnversTestsSupport.groovy @@ -5,6 +5,7 @@ import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRe import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorRepository import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorService import org.hibernate.envers.AuditReaderFactory +import org.hibernate.envers.query.AuditEntity import org.hibernate.envers.query.AuditQuery import org.springframework.transaction.PlatformTransactionManager import org.springframework.transaction.support.DefaultTransactionDefinition @@ -36,14 +37,15 @@ class EnversTestsSupport { edr.save(ed) } - getRevisionHistoryForEntityType(em, EntityDescriptor) + getRevisionHistoryForEntityType(em, EntityDescriptor, ed.resourceId) } - static getRevisionHistoryForEntityType(EntityManager em, Class entityType) { + static getRevisionHistoryForEntityType(EntityManager em, Class entityType, String resourceId) { def auditReader = AuditReaderFactory.get(em) AuditQuery auditQuery = auditReader .createQuery() .forRevisionsOfEntity(entityType, false, false) + .add(AuditEntity.property("resourceId").eq(resourceId)) auditQuery.resultList } diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/EnversEntityDescriptorVersionServiceTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/EnversEntityDescriptorVersionServiceTests.groovy index 7a28fcd7b..37e6113a0 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/EnversEntityDescriptorVersionServiceTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/service/EnversEntityDescriptorVersionServiceTests.groovy @@ -6,6 +6,7 @@ import edu.internet2.tier.shibboleth.admin.ui.repository.EntityDescriptorReposit 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.boot.test.context.SpringBootTest import org.springframework.data.jpa.repository.config.EnableJpaRepositories import org.springframework.test.annotation.DirtiesContext import org.springframework.test.context.ContextConfiguration @@ -21,7 +22,6 @@ import static edu.internet2.tier.shibboleth.admin.ui.repository.envers.EnversTes @ContextConfiguration(classes = [CoreShibUiConfiguration, InternationalizationConfiguration, TestConfiguration, SearchConfiguration, EntitiesVersioningConfiguration]) @EnableJpaRepositories(basePackages = ["edu.internet2.tier.shibboleth.admin.ui"]) @EntityScan("edu.internet2.tier.shibboleth.admin.ui") -@Ignore class EnversEntityDescriptorVersionServiceTests extends Specification { @Autowired @@ -36,7 +36,6 @@ class EnversEntityDescriptorVersionServiceTests extends Specification { @Autowired PlatformTransactionManager txMgr - @DirtiesContext def "versioning service returns correct number of versions sorted by modified date in natural order"() { when: 'Initial version' EntityDescriptor ed = new EntityDescriptor(entityID: 'ed', serviceProviderName: 'SP1')