DATACMNS-1438 - Integration test showing that auditing is working in general.

This commit is contained in:
Oliver Drotbohm
2018-12-06 10:35:49 +01:00
parent 75c9ab0a63
commit e6213135e2

View File

@@ -18,12 +18,19 @@ package org.springframework.data.auditing;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.time.Instant;
import java.util.List;
import java.util.Optional;
import org.junit.Before;
import org.junit.Test;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.domain.AuditorAware;
import org.springframework.data.mapping.context.PersistentEntities;
import org.springframework.data.mapping.context.SampleMappingContext;
/**
* Unit test for {@code AuditingHandler}.
@@ -152,4 +159,35 @@ public class AuditingHandlerUnitTests {
verify(provider, times(1)).getNow();
}
@Test
public void setsAuditingInfoOnEntityUsingInheritance() {
AuditingHandler handler = new AuditingHandler(PersistentEntities.of(new SampleMappingContext()));
handler.setModifyOnCreation(false);
MyDocument result = handler.markCreated(new MyDocument());
assertThat(result.created).isNotNull();
assertThat(result.modified).isNull();
result = handler.markModified(result);
assertThat(result.created).isNotNull();
assertThat(result.modified).isNotNull();
}
static abstract class AbstractModel {
@CreatedDate Instant created;
@CreatedBy String creator;
@LastModifiedDate Instant modified;
@LastModifiedBy String modifier;
}
static class MyModel extends AbstractModel {
List<MyModel> models;
}
static class MyDocument extends MyModel {}
}