diff --git a/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java b/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java index 5d8830a..a8fa1b2 100755 --- a/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java +++ b/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java @@ -182,7 +182,7 @@ public class EnversRevisionRepositoryImpl { + static class QueryResult { private final T entity; private final Object metadata; diff --git a/src/test/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImplUnitTests.java b/src/test/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImplUnitTests.java new file mode 100644 index 0000000..7ed684e --- /dev/null +++ b/src/test/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImplUnitTests.java @@ -0,0 +1,60 @@ +/* + * Copyright 2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.envers.repository.support; + +import static org.assertj.core.api.Assertions.*; +import static org.mockito.Mockito.*; + +import org.hibernate.envers.DefaultRevisionEntity; +import org.hibernate.envers.RevisionType; +import org.junit.Test; +import org.springframework.data.history.AnnotationRevisionMetadata; +import org.springframework.data.history.RevisionMetadata; + +/** + * Unit tests for {@link EnversRevisionRepositoryImpl}. + * + * @author Jens Schauder + */ +public class EnversRevisionRepositoryImplUnitTests { + + @Test // gh-215 + public void revisionTypeOfAnnotationRevisionMetadataIsProperlySet() { + + Object[] data = new Object[] { "a", "some metadata", RevisionType.DEL }; + + EnversRevisionRepositoryImpl.QueryResult result = new EnversRevisionRepositoryImpl.QueryResult<>(data); + + RevisionMetadata revisionMetadata = result.createRevisionMetadata(); + + assertThat(revisionMetadata).isInstanceOf(AnnotationRevisionMetadata.class); + assertThat(revisionMetadata.getRevisionType()).isEqualTo(RevisionMetadata.RevisionType.DELETE); + } + + @Test // gh-215 + public void revisionTypeOfDefaultRevisionMetadataIsProperlySet() { + + Object[] data = new Object[] { "a", mock(DefaultRevisionEntity.class), RevisionType.DEL }; + + EnversRevisionRepositoryImpl.QueryResult result = new EnversRevisionRepositoryImpl.QueryResult<>(data); + + RevisionMetadata revisionMetadata = result.createRevisionMetadata(); + + assertThat(revisionMetadata).isInstanceOf(DefaultRevisionMetadata.class); + assertThat(revisionMetadata.getRevisionType()).isEqualTo(RevisionMetadata.RevisionType.DELETE); + } + +} \ No newline at end of file diff --git a/src/test/java/org/springframework/data/envers/repository/support/RepositoryIntegrationTests.java b/src/test/java/org/springframework/data/envers/repository/support/RepositoryIntegrationTests.java index 7a8eade..c35b754 100755 --- a/src/test/java/org/springframework/data/envers/repository/support/RepositoryIntegrationTests.java +++ b/src/test/java/org/springframework/data/envers/repository/support/RepositoryIntegrationTests.java @@ -36,7 +36,6 @@ import org.springframework.data.envers.sample.CountryRepository; import org.springframework.data.envers.sample.License; import org.springframework.data.envers.sample.LicenseRepository; import org.springframework.data.history.Revision; -import org.springframework.data.history.RevisionMetadata; import org.springframework.data.history.RevisionSort; import org.springframework.data.history.Revisions; import org.springframework.test.context.ContextConfiguration;