From 518880ffc47525f09ad572109a38f66a950b6dce Mon Sep 17 00:00:00 2001 From: Jj! Date: Wed, 3 Nov 2021 13:48:46 -0500 Subject: [PATCH] [SHIBUI-2249] fix concurrent modification problem in test --- .../domain/frontend/EntityDescriptorRepresentation.java | 5 +++-- .../ui/controller/EntityDescriptorControllerTests.groovy | 8 +++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/frontend/EntityDescriptorRepresentation.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/frontend/EntityDescriptorRepresentation.java index ffc8cd5ca..61d24652e 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/frontend/EntityDescriptorRepresentation.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/frontend/EntityDescriptorRepresentation.java @@ -11,6 +11,7 @@ import java.io.Serializable; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -133,7 +134,7 @@ public String getModifiedDate() { @JsonIgnore public LocalDateTime getModifiedDateAsDate() { // we shouldn't have an ED without either modified or created date, so this is mostly for testing where data can be odd - return modifiedDate != null ? modifiedDate : createdDate != null ? createdDate : LocalDateTime.now(); + return modifiedDate != null ? modifiedDate : createdDate != null ? createdDate : LocalDateTime.now().truncatedTo(ChronoUnit.MILLIS); } public OrganizationRepresentation getOrganization() { @@ -246,4 +247,4 @@ public void setServiceProviderSsoDescriptor(ServiceProviderSsoDescriptorRepresen public void setVersion(int version) { this.version = version; } -} \ No newline at end of file +} diff --git a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy index 5f14adf1c..8861d1613 100644 --- a/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy +++ b/backend/src/test/groovy/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorControllerTests.groovy @@ -596,12 +596,14 @@ class EntityDescriptorControllerTests extends AbstractBaseDataJpaTest { @WithMockAdmin def "PUT /EntityDescriptor updates entity descriptors properly as admin"() { given: - def entityDescriptorTwo = new EntityDescriptor(resourceId: 'uuid-2', entityID: 'eid2', serviceProviderName: 'sp2', serviceEnabled: false, idOfOwner: Group.ADMIN_GROUP.getOwnerId()) + def entityDescriptorToSave = new EntityDescriptor(resourceId: 'uuid-2', entityID: 'eid2', serviceProviderName: 'sp2', serviceEnabled: false, idOfOwner: Group.ADMIN_GROUP.getOwnerId()) - entityDescriptorTwo = entityDescriptorRepository.save(entityDescriptorTwo) + entityDescriptorRepository.save(entityDescriptorToSave) entityManager.flush() entityManager.clear() + def entityDescriptorTwo = entityDescriptorRepository.findByResourceId('uuid-2') + def updatedEntityDescriptorRepresentation = jpaEntityDescriptorService.createRepresentationFromDescriptor(entityDescriptorTwo) updatedEntityDescriptorRepresentation.setServiceProviderName("newName") def postedJsonBody = mapper.writeValueAsString(updatedEntityDescriptorRepresentation) @@ -689,4 +691,4 @@ class EntityDescriptorControllerTests extends AbstractBaseDataJpaTest { e instanceof ConcurrentModificationException } } -} \ No newline at end of file +}