Browse Source

Polishing.

Using records in tests.
Removing "public" modifier in tests.

See #1924
pull/1925/head
Jens Schauder 1 year ago
parent
commit
a351a66fcb
No known key found for this signature in database
GPG Key ID: 74F6C554AE971567
  1. 138
      spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java

138
spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIdGenerationIntegrationTests.java

@ -17,6 +17,7 @@ package org.springframework.data.jdbc.repository; @@ -17,6 +17,7 @@ package org.springframework.data.jdbc.repository;
import static org.assertj.core.api.Assertions.*;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicLong;
@ -35,6 +36,7 @@ import org.springframework.data.jdbc.testing.TestConfiguration; @@ -35,6 +36,7 @@ import org.springframework.data.jdbc.testing.TestConfiguration;
import org.springframework.data.relational.core.mapping.NamingStrategy;
import org.springframework.data.relational.core.mapping.event.BeforeConvertCallback;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.ListCrudRepository;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
/**
@ -44,29 +46,29 @@ import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; @@ -44,29 +46,29 @@ import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
* @author Greg Turnquist
*/
@IntegrationTest
public class JdbcRepositoryIdGenerationIntegrationTests {
class JdbcRepositoryIdGenerationIntegrationTests {
@Autowired NamedParameterJdbcTemplate template;
@Autowired ReadOnlyIdEntityRepository readOnlyIdrepository;
@Autowired ReadOnlyIdEntityRepository readOnlyIdRepository;
@Autowired PrimitiveIdEntityRepository primitiveIdRepository;
@Autowired ImmutableWithManualIdEntityRepository immutableWithManualIdEntityRepository;
@Test // DATAJDBC-98
public void idWithoutSetterGetsSet() {
void idWithoutSetterGetsSet() {
ReadOnlyIdEntity entity = readOnlyIdrepository.save(new ReadOnlyIdEntity(null, "Entity Name"));
ReadOnlyIdEntity entity = readOnlyIdRepository.save(new ReadOnlyIdEntity(null, "Entity Name"));
assertThat(entity.getId()).isNotNull();
assertThat(entity.id()).isNotNull();
assertThat(readOnlyIdrepository.findById(entity.getId())).hasValueSatisfying(it -> {
assertThat(readOnlyIdRepository.findById(entity.id())).hasValueSatisfying(it -> {
assertThat(it.getId()).isEqualTo(entity.getId());
assertThat(it.getName()).isEqualTo(entity.getName());
assertThat(it.id()).isEqualTo(entity.id());
assertThat(it.name()).isEqualTo(entity.name());
});
}
@Test // DATAJDBC-98
public void primitiveIdGetsSet() {
void primitiveIdGetsSet() {
PrimitiveIdEntity entity = new PrimitiveIdEntity();
entity.setName("Entity Name");
@ -83,68 +85,23 @@ public class JdbcRepositoryIdGenerationIntegrationTests { @@ -83,68 +85,23 @@ public class JdbcRepositoryIdGenerationIntegrationTests {
}
@Test // DATAJDBC-393
public void manuallyGeneratedId() {
void manuallyGeneratedId() {
ImmutableWithManualIdEntity entity = new ImmutableWithManualIdEntity(null, "immutable");
ImmutableWithManualIdEntity saved = immutableWithManualIdEntityRepository.save(entity);
assertThat(saved.getId()).isNotNull();
assertThat(saved.id()).isNotNull();
assertThat(immutableWithManualIdEntityRepository.findAll()).hasSize(1);
}
private interface PrimitiveIdEntityRepository extends CrudRepository<PrimitiveIdEntity, Long> {}
private interface PrimitiveIdEntityRepository extends ListCrudRepository<PrimitiveIdEntity, Long> {}
public interface ReadOnlyIdEntityRepository extends CrudRepository<ReadOnlyIdEntity, Long> {}
private interface ReadOnlyIdEntityRepository extends ListCrudRepository<ReadOnlyIdEntity, Long> {}
private interface ImmutableWithManualIdEntityRepository extends CrudRepository<ImmutableWithManualIdEntity, Long> {}
private interface ImmutableWithManualIdEntityRepository extends ListCrudRepository<ImmutableWithManualIdEntity, Long> {}
static final class ReadOnlyIdEntity {
@Id private final Long id;
private final String name;
public ReadOnlyIdEntity(Long id, String name) {
this.id = id;
this.name = name;
}
public Long getId() {
return this.id;
}
public String getName() {
return this.name;
}
public boolean equals(final Object o) {
if (o == this)
return true;
if (!(o instanceof final ReadOnlyIdEntity other))
return false;
final Object this$id = this.getId();
final Object other$id = other.getId();
if (!Objects.equals(this$id, other$id))
return false;
final Object this$name = this.getName();
final Object other$name = other.getName();
return Objects.equals(this$name, other$name);
}
public int hashCode() {
final int PRIME = 59;
int result = 1;
final Object $id = this.getId();
result = result * PRIME + ($id == null ? 43 : $id.hashCode());
final Object $name = this.getName();
result = result * PRIME + ($name == null ? 43 : $name.hashCode());
return result;
}
public String toString() {
return "JdbcRepositoryIdGenerationIntegrationTests.ReadOnlyIdEntity(id=" + this.getId() + ", name="
+ this.getName() + ")";
}
record ReadOnlyIdEntity(@Id Long id, String name) {
}
static class PrimitiveIdEntity {
@ -169,61 +126,22 @@ public class JdbcRepositoryIdGenerationIntegrationTests { @@ -169,61 +126,22 @@ public class JdbcRepositoryIdGenerationIntegrationTests {
}
}
static final class ImmutableWithManualIdEntity {
@Id private final Long id;
private final String name;
record ImmutableWithManualIdEntity(@Id Long id, String name) {
public ImmutableWithManualIdEntity(Long id, String name) {
this.id = id;
this.name = name;
}
public Long getId() {
return this.id;
}
public String getName() {
return this.name;
}
@Override
public Long id() {
return this.id;
}
public boolean equals(final Object o) {
if (o == this)
return true;
if (!(o instanceof final ImmutableWithManualIdEntity other))
return false;
final Object this$id = this.getId();
final Object other$id = other.getId();
if (!Objects.equals(this$id, other$id))
return false;
final Object this$name = this.getName();
final Object other$name = other.getName();
return Objects.equals(this$name, other$name);
}
public ImmutableWithManualIdEntity withId(Long id) {
return this.id == id ? this : new ImmutableWithManualIdEntity(id, this.name);
}
public int hashCode() {
final int PRIME = 59;
int result = 1;
final Object $id = this.getId();
result = result * PRIME + ($id == null ? 43 : $id.hashCode());
final Object $name = this.getName();
result = result * PRIME + ($name == null ? 43 : $name.hashCode());
return result;
public ImmutableWithManualIdEntity withName(String name) {
return this.name == name ? this : new ImmutableWithManualIdEntity(this.id, name);
}
}
public String toString() {
return "JdbcRepositoryIdGenerationIntegrationTests.ImmutableWithManualIdEntity(id=" + this.getId() + ", name="
+ this.getName() + ")";
}
public ImmutableWithManualIdEntity withId(Long id) {
return this.id == id ? this : new ImmutableWithManualIdEntity(id, this.name);
}
public ImmutableWithManualIdEntity withName(String name) {
return this.name == name ? this : new ImmutableWithManualIdEntity(this.id, name);
}
}
@Configuration
@EnableJdbcRepositories(considerNestedRepositories = true,
includeFilters = @ComponentScan.Filter(value = CrudRepository.class, type = FilterType.ASSIGNABLE_TYPE))

Loading…
Cancel
Save