Browse Source

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

pull/351/head
Oliver Drotbohm 7 years ago
parent
commit
0a85e44dc9
  1. 38
      src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java

38
src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java

@ -18,12 +18,19 @@ package org.springframework.data.auditing;
import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
import java.time.Instant;
import java.util.List;
import java.util.Optional; import java.util.Optional;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; 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.domain.AuditorAware;
import org.springframework.data.mapping.context.PersistentEntities; import org.springframework.data.mapping.context.PersistentEntities;
import org.springframework.data.mapping.context.SampleMappingContext;
/** /**
* Unit test for {@code AuditingHandler}. * Unit test for {@code AuditingHandler}.
@ -152,4 +159,35 @@ public class AuditingHandlerUnitTests {
verify(provider, times(1)).getNow(); 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 {}
} }

Loading…
Cancel
Save