This is an automated email from the ASF dual-hosted git repository.

jdaugherty pushed a commit to branch grails-geb
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit c9b1a76cfa09768a127d13ef622dba256097a4b5
Author: James Daugherty <[email protected]>
AuthorDate: Sun Apr 20 20:26:32 2025 -0400

    Remove ignore and add test cleanup
---
 .../datastore/gorm/CustomAutoTimestampSpec.groovy      | 11 +++++++----
 .../gorm/events/AutoTimestampEventListener.java        | 18 +++++++-----------
 2 files changed, 14 insertions(+), 15 deletions(-)

diff --git 
a/grails-datamapping-core-test/src/test/groovy/org/grails/datastore/gorm/CustomAutoTimestampSpec.groovy
 
b/grails-datamapping-core-test/src/test/groovy/org/grails/datastore/gorm/CustomAutoTimestampSpec.groovy
index 9fac49178d..7a06a67344 100644
--- 
a/grails-datamapping-core-test/src/test/groovy/org/grails/datastore/gorm/CustomAutoTimestampSpec.groovy
+++ 
b/grails-datamapping-core-test/src/test/groovy/org/grails/datastore/gorm/CustomAutoTimestampSpec.groovy
@@ -4,15 +4,15 @@ import grails.gorm.annotation.AutoTimestamp
 import grails.gorm.tests.GormDatastoreSpec
 import grails.persistence.Entity
 import org.grails.datastore.gorm.events.AutoTimestampEventListener
-import spock.lang.Ignore
+import spock.lang.Isolated
+import spock.lang.Stepwise
 
 import static grails.gorm.annotation.AutoTimestamp.EventType.CREATED
 
+@Isolated
+@Stepwise
 class CustomAutoTimestampSpec extends GormDatastoreSpec {
 
-    // TODO: This test fails randomly in a parallel run.  See 
https://github.com/apache/grails-data-mapping/issues/1877
-    // for the likely cause
-    @Ignore
     void "Test when the auto timestamp properties are customized, they are 
correctly set"() {
         when:"An entity is persisted"
             def r = new RecordCustom(name: "Test")
@@ -93,6 +93,9 @@ class CustomAutoTimestampSpec extends GormDatastoreSpec {
         then:"the custom lastUpdated property is updated and dateCreated is 
not"
         r.modified != null && previousModified < r.modified
         previousCreated.time == r.created.time
+
+        cleanup:
+        (RecordCustom.gormPersistentEntity.mappingContext.eventListeners.find 
{ it.class == AutoTimestampEventListener} as 
AutoTimestampEventListener).insertOverwrite = true
     }
 
     @Override
diff --git 
a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/events/AutoTimestampEventListener.java
 
b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/events/AutoTimestampEventListener.java
index fbae03f0a1..7715851a41 100644
--- 
a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/events/AutoTimestampEventListener.java
+++ 
b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/events/AutoTimestampEventListener.java
@@ -14,11 +14,6 @@
  */
 package org.grails.datastore.gorm.events;
 
-import java.lang.reflect.Field;
-import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentLinkedQueue;
-
 import grails.gorm.annotation.AutoTimestamp;
 import org.grails.datastore.gorm.timestamp.DefaultTimestampProvider;
 import org.grails.datastore.gorm.timestamp.TimestampProvider;
@@ -26,11 +21,7 @@ import org.grails.datastore.mapping.config.Entity;
 import org.grails.datastore.mapping.config.Settings;
 import org.grails.datastore.mapping.core.Datastore;
 import org.grails.datastore.mapping.engine.EntityAccess;
-import org.grails.datastore.mapping.engine.event.AbstractPersistenceEvent;
-import 
org.grails.datastore.mapping.engine.event.AbstractPersistenceEventListener;
-import org.grails.datastore.mapping.engine.event.EventType;
-import org.grails.datastore.mapping.engine.event.PreInsertEvent;
-import org.grails.datastore.mapping.engine.event.PreUpdateEvent;
+import org.grails.datastore.mapping.engine.event.*;
 import org.grails.datastore.mapping.model.ClassMapping;
 import org.grails.datastore.mapping.model.MappingContext;
 import org.grails.datastore.mapping.model.PersistentEntity;
@@ -38,6 +29,11 @@ import org.grails.datastore.mapping.model.PersistentProperty;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.ApplicationEvent;
 
+import java.lang.reflect.Field;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
 /**
  * An event listener that adds support for GORM-style auto-timestamping
  *
@@ -48,7 +44,7 @@ public class AutoTimestampEventListener extends 
AbstractPersistenceEventListener
 
     // if false, will not set timestamp on insert event if value is not null
     @Value("${" + Settings.SETTING_AUTO_TIMESTAMP_INSERT_OVERWRITE + ":true}")
-    boolean insertOverwrite = true;
+    public boolean insertOverwrite = true;
 
     public static final String DATE_CREATED_PROPERTY = "dateCreated";
     public static final String LAST_UPDATED_PROPERTY = "lastUpdated";

Reply via email to