diff --git a/.travis.yml b/.travis.yml
index c92655515..6098a2842 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,23 @@
language: java
-jdk:
- - oraclejdk8
+matrix:
+ include:
+ - jdk: oraclejdk8
+ env: JDK='Oracle JDK 8'
+ - jdk: oraclejdk9
+ env: JDK='Oracle JDK 9'
+ - env:
+ - JDK='Oracle JDK 10'
+ - NO_JACOCO='true'
+ before_install: wget https://github.com/sormuras/bach/raw/master/install-jdk.sh && . ./install-jdk.sh -F 10 -L BCL
+ - env:
+ - JDK='Oracle JDK 11'
+ - NO_JACOCO='true'
+ before_install: wget https://github.com/sormuras/bach/raw/master/install-jdk.sh && . ./install-jdk.sh -F 11 -L BCL
+ allow_failures:
+ - env:
+ - JDK='Oracle JDK 11'
+ - NO_JACOCO='true'
addons:
apt:
@@ -19,4 +35,6 @@ services:
install: true
-script: "mvn clean dependency:list test -Pall-dbs -Dsort -U"
+script:
+ - "mvn -version"
+ - "mvn clean dependency:list test -Pall-dbs${NO_JACOCO:+',no-jacoco'} -Dsort -U"
diff --git a/pom.xml b/pom.xml
index 4016f901e..9801ae443 100644
--- a/pom.xml
+++ b/pom.xml
@@ -78,6 +78,25 @@
+
+ no-jacoco
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
+ jacoco-initialize
+ none
+
+
+
+
+
+
+
+
all-dbs
@@ -273,6 +292,11 @@
maven-surefire-plugin
2.12
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.1.0
+
diff --git a/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java b/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java
index 16e566a37..779ce24f4 100644
--- a/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java
+++ b/src/test/java/org/springframework/data/jdbc/repository/config/EnableJdbcAuditingHsqlIntegrationTests.java
@@ -33,7 +33,6 @@ import org.springframework.context.annotation.AnnotationConfigApplicationContext
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Primary;
-import org.springframework.context.annotation.Profile;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.Id;
@@ -70,13 +69,19 @@ public class EnableJdbcAuditingHsqlIntegrationTests {
AuditingAnnotatedDummyEntity entity = repository.save(new AuditingAnnotatedDummyEntity());
- softly.assertThat(entity.id).isNotNull();
- softly.assertThat(entity.getCreatedBy()).isEqualTo("user01");
- softly.assertThat(entity.getCreatedDate()).isAfter(now);
- softly.assertThat(entity.getLastModifiedBy()).isEqualTo("user01");
- softly.assertThat(entity.getLastModifiedDate()).isAfterOrEqualTo(entity.getCreatedDate());
- softly.assertThat(entity.getLastModifiedDate()).isAfter(now);
- softly.assertThat(repository.findById(entity.id).get()).isEqualTo(entity);
+ softly.assertThat(entity.id).as("id not null").isNotNull();
+ softly.assertThat(entity.getCreatedBy()).as("created by set").isEqualTo("user01");
+ softly.assertThat(entity.getCreatedDate()).as("created date set").isAfter(now);
+ softly.assertThat(entity.getLastModifiedBy()).as("modified by set").isEqualTo("user01");
+ softly.assertThat(entity.getLastModifiedDate()).as("modified date set").isAfterOrEqualTo(entity.getCreatedDate());
+ softly.assertThat(entity.getLastModifiedDate()).as("modified date after instance creation").isAfter(now);
+
+ AuditingAnnotatedDummyEntity reloaded = repository.findById(entity.id).get();
+
+ softly.assertThat(reloaded.getCreatedBy()).as("reload created by").isNotNull();
+ softly.assertThat(reloaded.getCreatedDate()).as("reload created date").isNotNull();
+ softly.assertThat(reloaded.getLastModifiedBy()).as("reload modified by").isNotNull();
+ softly.assertThat(reloaded.getLastModifiedDate()).as("reload modified date").isNotNull();
LocalDateTime beforeCreatedDate = entity.getCreatedDate();
LocalDateTime beforeLastModifiedDate = entity.getLastModifiedDate();
@@ -89,11 +94,19 @@ public class EnableJdbcAuditingHsqlIntegrationTests {
entity = repository.save(entity);
- softly.assertThat(entity.getCreatedBy()).isEqualTo("user01");
- softly.assertThat(entity.getCreatedDate()).isEqualTo(beforeCreatedDate);
- softly.assertThat(entity.getLastModifiedBy()).isEqualTo("user02");
- softly.assertThat(entity.getLastModifiedDate()).isAfter(beforeLastModifiedDate);
- softly.assertThat(repository.findById(entity.id).get()).isEqualTo(entity);
+ softly.assertThat(entity.getCreatedBy()).as("created by unchanged").isEqualTo("user01");
+ softly.assertThat(entity.getCreatedDate()).as("created date unchanged").isEqualTo(beforeCreatedDate);
+ softly.assertThat(entity.getLastModifiedBy()).as("modified by updated").isEqualTo("user02");
+ softly.assertThat(entity.getLastModifiedDate()).as("modified date updated").isAfter(beforeLastModifiedDate);
+
+ reloaded = repository.findById(entity.id).get();
+
+ softly.assertThat(reloaded.getCreatedBy()).as("2. reload created by").isNotNull();
+ softly.assertThat(reloaded.getCreatedDate()).as("2. reload created date").isNotNull();
+ softly.assertThat(reloaded.getLastModifiedBy()).as("2. reload modified by").isNotNull();
+ softly.assertThat(reloaded.getLastModifiedDate()).as("2. reload modified date").isNotNull();
+
+ softly.assertAll();
});
}