Remove unnecessary auditorAwareRef from test config. (#1189)
Remove unnecessary auditorAwareRef from test config as it causes confusion. The property does not need to be preset for the auditorAwareRef bean to be used. The dateTimeProviderRef must be present for the provided dateTimeProviderRef bean to be used. Closes #1052.
This commit is contained in:
@@ -38,6 +38,7 @@ import org.springframework.dao.DuplicateKeyException;
|
||||
import org.springframework.data.couchbase.core.ExecutableRemoveByIdOperation.ExecutableRemoveById;
|
||||
import org.springframework.data.couchbase.core.ExecutableReplaceByIdOperation.ExecutableReplaceById;
|
||||
import org.springframework.data.couchbase.core.support.OneAndAllEntity;
|
||||
import org.springframework.data.couchbase.domain.NaiveAuditorAware;
|
||||
import org.springframework.data.couchbase.domain.PersonValue;
|
||||
import org.springframework.data.couchbase.domain.User;
|
||||
import org.springframework.data.couchbase.domain.UserAnnotated;
|
||||
@@ -77,16 +78,31 @@ class CouchbaseTemplateKeyValueIntegrationTests extends JavaIntegrationTests {
|
||||
User user = new User(UUID.randomUUID().toString(), "firstname", "lastname");
|
||||
User modified = couchbaseTemplate.upsertById(User.class).one(user);
|
||||
assertEquals(user, modified);
|
||||
// create a new object so that the object returned by replaceById() is a different object from the original user
|
||||
// don't need to copy the ModifiedDate/ModifiedTime as they are not read and are overwritten.
|
||||
User modifying = new User(user.getId(), user.getFirstname(), user.getLastname());
|
||||
modifying.setCreatedDate(user.getCreatedDate());
|
||||
modifying.setCreatedBy(user.getCreatedBy());
|
||||
modifying.setVersion(user.getVersion());
|
||||
modified = couchbaseTemplate.replaceById(User.class).one(modifying);
|
||||
assertEquals(modifying, modified);
|
||||
if(user == modified){
|
||||
throw new RuntimeException ( " user == modified ");
|
||||
}
|
||||
assertNotEquals(user, modified);
|
||||
assertEquals(NaiveAuditorAware.AUDITOR, modified.getCreatedBy());
|
||||
assertEquals(NaiveAuditorAware.AUDITOR, modified.getLastModifiedBy());
|
||||
assertNotEquals(0, modified.getCreatedDate());
|
||||
assertNotEquals(0, modified.getLastModifiedDate());
|
||||
// The FixedDateTimeService of the AuditingDateTimeProvider will guarantee these are equal
|
||||
assertEquals(user.getLastModifiedDate(), modified.getLastModifiedDate());
|
||||
|
||||
modified = couchbaseTemplate.replaceById(User.class).one(user);
|
||||
assertEquals(user, modified);
|
||||
|
||||
user.setVersion(12345678);
|
||||
assertThrows(DataIntegrityViolationException.class, () -> couchbaseTemplate.replaceById(User.class).one(user));
|
||||
User badUser = new User(user.getId(), user.getFirstname(), user.getLastname());
|
||||
badUser.setVersion(12345678);
|
||||
assertThrows(DataIntegrityViolationException.class, () -> couchbaseTemplate.replaceById(User.class).one(badUser));
|
||||
|
||||
User found = couchbaseTemplate.findById(User.class).one(user.getId());
|
||||
user.setVersion(found.getVersion());
|
||||
assertEquals(user, found);
|
||||
assertEquals(modified, found);
|
||||
|
||||
couchbaseTemplate.removeById().one(user.getId());
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ class CouchbaseTemplateQueryCollectionIntegrationTests extends CollectionAwareIn
|
||||
|
||||
for (User u : foundUsers) {
|
||||
assertTrue(u.equals(user1) || u.equals(user2));
|
||||
assertEquals(auditUser, u.getCreator());
|
||||
assertEquals(auditUser, u.getCreatedBy());
|
||||
assertEquals(auditMillis, u.getCreatedDate());
|
||||
assertEquals(auditUser, u.getLastModifiedBy());
|
||||
assertEquals(auditMillis, u.getLastModifiedDate());
|
||||
|
||||
@@ -99,7 +99,7 @@ class CouchbaseTemplateQueryIntegrationTests extends JavaIntegrationTests {
|
||||
|
||||
for (User u : foundUsers) {
|
||||
assertTrue(u.equals(user1) || u.equals(user2));
|
||||
assertEquals(auditUser, u.getCreator());
|
||||
assertEquals(auditUser, u.getCreatedBy());
|
||||
assertEquals(auditMillis, u.getCreatedDate());
|
||||
assertEquals(auditUser, u.getLastModifiedBy());
|
||||
assertEquals(auditMillis, u.getLastModifiedDate());
|
||||
|
||||
@@ -37,7 +37,9 @@ import org.springframework.dao.DataIntegrityViolationException;
|
||||
import org.springframework.dao.DuplicateKeyException;
|
||||
import org.springframework.data.couchbase.core.ExecutableRemoveByIdOperation.ExecutableRemoveById;
|
||||
import org.springframework.data.couchbase.core.support.OneAndAllEntityReactive;
|
||||
import org.springframework.data.couchbase.domain.NaiveAuditorAware;
|
||||
import org.springframework.data.couchbase.domain.PersonValue;
|
||||
import org.springframework.data.couchbase.domain.ReactiveNaiveAuditorAware;
|
||||
import org.springframework.data.couchbase.domain.User;
|
||||
import org.springframework.data.couchbase.domain.UserAnnotated;
|
||||
import org.springframework.data.couchbase.domain.UserAnnotated2;
|
||||
@@ -72,17 +74,33 @@ class ReactiveCouchbaseTemplateKeyValueIntegrationTests extends JavaIntegrationT
|
||||
User user = new User(UUID.randomUUID().toString(), "firstname", "lastname");
|
||||
User modified = reactiveCouchbaseTemplate.upsertById(User.class).one(user).block();
|
||||
assertEquals(user, modified);
|
||||
// create a new object so that the object returned by replaceById() is a different object from the original user
|
||||
// don't need to copy the ModifiedDate/ModifiedTime as they are not read and are overwritten.
|
||||
User modifying = new User(user.getId(), user.getFirstname(), user.getLastname());
|
||||
modifying.setCreatedDate(user.getCreatedDate());
|
||||
modifying.setCreatedBy(user.getCreatedBy());
|
||||
modifying.setVersion(user.getVersion());
|
||||
modified = reactiveCouchbaseTemplate.replaceById(User.class).one(modifying).block();
|
||||
assertEquals(modifying, modified);
|
||||
if(user == modified){
|
||||
throw new RuntimeException ( " user == modified ");
|
||||
}
|
||||
assertNotEquals(user, modified);
|
||||
assertEquals(ReactiveNaiveAuditorAware.AUDITOR, modified.getCreatedBy());
|
||||
assertEquals(ReactiveNaiveAuditorAware.AUDITOR, modified.getLastModifiedBy());
|
||||
assertNotEquals(0, modified.getCreatedDate());
|
||||
assertNotEquals(0, modified.getLastModifiedDate());
|
||||
// The FixedDateTimeService of the AuditingDateTimeProvider will guarantee these are equal
|
||||
assertEquals(user.getLastModifiedDate(), modified.getLastModifiedDate());
|
||||
|
||||
modified = reactiveCouchbaseTemplate.replaceById(User.class).one(user).block();
|
||||
assertEquals(user, modified);
|
||||
|
||||
user.setVersion(12345678);
|
||||
User badUser = new User(user.getId(), user.getFirstname(), user.getLastname());
|
||||
badUser.setVersion(12345678);
|
||||
assertThrows(DataIntegrityViolationException.class,
|
||||
() -> reactiveCouchbaseTemplate.replaceById(User.class).one(user).block());
|
||||
() -> reactiveCouchbaseTemplate.replaceById(User.class).one(badUser).block());
|
||||
|
||||
User found = reactiveCouchbaseTemplate.findById(User.class).one(user.getId()).block();
|
||||
user.setVersion(found.getVersion());
|
||||
assertEquals(user, found);
|
||||
assertEquals(modified, found);
|
||||
|
||||
reactiveCouchbaseTemplate.removeById().one(user.getId()).block();
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ class ReactiveCouchbaseTemplateQueryCollectionIntegrationTests extends Collectio
|
||||
|
||||
for (User u : foundUsers) {
|
||||
assertTrue(u.equals(user1) || u.equals(user2));
|
||||
assertEquals(auditUser, u.getCreator());
|
||||
assertEquals(auditUser, u.getCreatedBy());
|
||||
assertEquals(auditMillis, u.getCreatedDate());
|
||||
assertEquals(auditUser, u.getLastModifiedBy());
|
||||
assertEquals(auditMillis, u.getLastModifiedDate());
|
||||
|
||||
@@ -54,9 +54,8 @@ import com.couchbase.client.java.json.JacksonTransformers;
|
||||
@Configuration
|
||||
@EnableCouchbaseRepositories
|
||||
@EnableReactiveCouchbaseRepositories
|
||||
@EnableCouchbaseAuditing(auditorAwareRef = "auditorAwareRef", dateTimeProviderRef = "dateTimeProviderRef")
|
||||
@EnableReactiveCouchbaseAuditing(auditorAwareRef = "reactiveAuditorAwareRef",
|
||||
dateTimeProviderRef = "dateTimeProviderRef")
|
||||
@EnableCouchbaseAuditing(dateTimeProviderRef = "dateTimeProviderRef")
|
||||
@EnableReactiveCouchbaseAuditing(dateTimeProviderRef = "dateTimeProviderRef")
|
||||
|
||||
public class Config extends AbstractCouchbaseConfiguration {
|
||||
String bucketname = "travel-sample";
|
||||
@@ -128,11 +127,11 @@ public class Config extends AbstractCouchbaseConfiguration {
|
||||
try {
|
||||
// comment out references to 'protected' and 'mybucket' - they are only to show how multi-bucket would work
|
||||
// ReactiveCouchbaseTemplate personTemplate = myReactiveCouchbaseTemplate(myCouchbaseClientFactory("protected"),
|
||||
// (MappingCouchbaseConverter) (baseMapping.getDefault().getConverter()));
|
||||
// (MappingCouchbaseConverter) (baseMapping.getDefault().getConverter()));
|
||||
// baseMapping.mapEntity(Person.class, personTemplate); // Person goes in "protected" bucket
|
||||
// ReactiveCouchbaseTemplate userTemplate = myReactiveCouchbaseTemplate(myCouchbaseClientFactory("mybucket"),
|
||||
// (MappingCouchbaseConverter) (baseMapping.getDefault().getConverter()));
|
||||
//baseMapping.mapEntity(User.class, userTemplate); // User goes in "mybucket"
|
||||
// (MappingCouchbaseConverter) (baseMapping.getDefault().getConverter()));
|
||||
// baseMapping.mapEntity(User.class, userTemplate); // User goes in "mybucket"
|
||||
// everything else goes in getBucketName() ( which is travel-sample )
|
||||
} catch (Exception e) {
|
||||
throw e;
|
||||
@@ -144,11 +143,11 @@ public class Config extends AbstractCouchbaseConfiguration {
|
||||
try {
|
||||
// comment out references to 'protected' and 'mybucket' - they are only to show how multi-bucket would work
|
||||
// CouchbaseTemplate personTemplate = myCouchbaseTemplate(myCouchbaseClientFactory("protected"),
|
||||
// (MappingCouchbaseConverter) (baseMapping.getDefault().getConverter()));
|
||||
// (MappingCouchbaseConverter) (baseMapping.getDefault().getConverter()));
|
||||
// baseMapping.mapEntity(Person.class, personTemplate); // Person goes in "protected" bucket
|
||||
// MappingCouchbaseConverter cvtr = (MappingCouchbaseConverter)baseMapping.getDefault().getConverter();
|
||||
// CouchbaseTemplate userTemplate = myCouchbaseTemplate(myCouchbaseClientFactory("mybucket"),
|
||||
// (MappingCouchbaseConverter) (baseMapping.getDefault().getConverter()));
|
||||
// (MappingCouchbaseConverter) (baseMapping.getDefault().getConverter()));
|
||||
// baseMapping.mapEntity(User.class, userTemplate); // User goes in "mybucket"
|
||||
// everything else goes in getBucketName() ( which is travel-sample )
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -32,7 +32,7 @@ import org.springframework.data.domain.AuditorAware;
|
||||
*/
|
||||
public class NaiveAuditorAware implements AuditorAware<String> {
|
||||
|
||||
static public final String AUDITOR = "auditor";
|
||||
static public final String AUDITOR = "nonreactive_auditor";
|
||||
private Optional<String> auditor = Optional.of(AUDITOR);
|
||||
|
||||
@Override
|
||||
|
||||
@@ -71,10 +71,18 @@ public class User extends ComparableEntity {
|
||||
return createdDate;
|
||||
}
|
||||
|
||||
public String getCreator() {
|
||||
public void setCreatedDate(long createdDate) {
|
||||
this.createdDate = createdDate;
|
||||
}
|
||||
|
||||
public String getCreatedBy() {
|
||||
return createdBy;
|
||||
}
|
||||
|
||||
public void setCreatedBy(String createdBy) {
|
||||
this.createdBy = createdBy;
|
||||
}
|
||||
|
||||
public long getLastModifiedDate() {
|
||||
return lastModifiedDate;
|
||||
}
|
||||
|
||||
@@ -636,7 +636,7 @@ public class CouchbaseRepositoryQueryIntegrationTests extends ClusterAwareIntegr
|
||||
|
||||
@Configuration
|
||||
@EnableCouchbaseRepositories("org.springframework.data.couchbase")
|
||||
@EnableCouchbaseAuditing(auditorAwareRef = "auditorAwareRef", dateTimeProviderRef = "dateTimeProviderRef")
|
||||
@EnableCouchbaseAuditing(dateTimeProviderRef = "dateTimeProviderRef")
|
||||
static class Config extends AbstractCouchbaseConfiguration {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -82,7 +82,7 @@ public class ReactiveCouchbaseRepositoryKeyValueIntegrationTests extends Cluster
|
||||
|
||||
@Configuration
|
||||
@EnableReactiveCouchbaseRepositories("org.springframework.data.couchbase")
|
||||
@EnableReactiveCouchbaseAuditing
|
||||
@EnableReactiveCouchbaseAuditing(dateTimeProviderRef = "dateTimeProviderRef")
|
||||
static class Config extends AbstractCouchbaseConfiguration {
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user