Browse Source

Polishing.

Original pull request #1097
pull/1111/head
Jens Schauder 4 years ago
parent
commit
ee1f420d81
No known key found for this signature in database
GPG Key ID: 45CC872F17423DBF
  1. 5
      spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/SqlIdentifierParameterSourceUnitTests.java
  2. 18
      spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/PartTreeJdbcQueryUnitTests.java
  3. 55
      spring-data-relational/src/test/java/org/springframework/data/relational/repository/query/RelationalExampleMapperTests.java

5
spring-data-jdbc/src/test/java/org/springframework/data/jdbc/core/convert/SqlIdentifierParameterSourceUnitTests.java

@ -97,11 +97,10 @@ public class SqlIdentifierParameterSourceUnitTests { @@ -97,11 +97,10 @@ public class SqlIdentifierParameterSourceUnitTests {
parameters2.addValue(SqlIdentifier.unquoted("key3"), 222);
parameters.addAll(parameters2);
String[] allKeys = parameters.getParameterNames();
Arrays.sort(allKeys);
assertSoftly(softly -> {
softly.assertThat(allKeys).isEqualTo(new String[] { "key1", "key2", "key3" });
softly.assertThat(parameters.getParameterNames()).containsExactlyInAnyOrder("key1", "key2", "key3");
softly.assertThat(parameters.getValue("key1")).isEqualTo(111);
softly.assertThat(parameters.hasValue("key1")).isTrue();
softly.assertThat(parameters.getSqlType("key1")).isEqualTo(11);

18
spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/PartTreeJdbcQueryUnitTests.java

@ -589,24 +589,18 @@ public class PartTreeJdbcQueryUnitTests { @@ -589,24 +589,18 @@ public class PartTreeJdbcQueryUnitTests {
new Object[] { new Address("Hello", "World") });
ParametrizedQuery query = jdbcQuery.createQuery(accessor, returnedType);
String expectedSql = BASE_SELECT + " WHERE (" + TABLE + ".\"USER_STREET\" = :user_street AND " + TABLE
+ ".\"USER_CITY\" = :user_city)";
String actualSql = query.getQuery();
assertThat(compareSqlStr(expectedSql, actualSql)).isTrue();
assertThat(actualSql) //
.startsWith(BASE_SELECT + " WHERE (" + TABLE + ".\"USER_") //
.endsWith(")") //
.contains(TABLE + ".\"USER_STREET\" = :user_street", //
" AND ", //
TABLE + ".\"USER_CITY\" = :user_city");
assertThat(query.getParameterSource().getValue("user_street")).isEqualTo("Hello");
assertThat(query.getParameterSource().getValue("user_city")).isEqualTo("World");
}
private boolean compareSqlStr(String expectedSql, String actualSql) {
String[] expected = expectedSql.split("WHERE");
String[] actual = actualSql.split("WHERE");
if (!expected[0].equals(actual[0])) return false;
expected[1] = expected[1].trim().substring(1, expected[1].length() - 2);
String[] flakyParts = expected[1].split("AND");
return actual[1].contains(flakyParts[0]) && actual[1].contains(flakyParts[1]);
}
@Test // DATAJDBC-318
public void createsQueryByEmbeddedProperty() throws Exception {

55
spring-data-relational/src/test/java/org/springframework/data/relational/repository/query/RelationalExampleMapperTests.java

@ -25,15 +25,7 @@ import lombok.AllArgsConstructor; @@ -25,15 +25,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@ -41,7 +33,6 @@ import org.springframework.data.annotation.Id; @@ -41,7 +33,6 @@ import org.springframework.data.annotation.Id;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.ExampleMatcher;
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
import org.springframework.data.relational.core.query.CriteriaDefinition;
import org.springframework.data.relational.core.query.Query;
/**
@ -98,9 +89,10 @@ public class RelationalExampleMapperTests { @@ -98,9 +89,10 @@ public class RelationalExampleMapperTests {
Example<Person> example = Example.of(person);
Query query = exampleMapper.getMappedExample(example);
String actual = query.getCriteria().map(Object::toString).get();
String expected = "(firstname = 'Frodo') AND (lastname = 'Baggins')";
assertThat(compareStrWithFlakiness(expected, actual, "AND")).isTrue();
assertThat(query.getCriteria().map(Object::toString).get()) //
.contains("(firstname = 'Frodo')", //
" AND ", //
"(lastname = 'Baggins')");
}
@Test // GH-929
@ -130,9 +122,10 @@ public class RelationalExampleMapperTests { @@ -130,9 +122,10 @@ public class RelationalExampleMapperTests {
Example<Person> example = Example.of(person, matcher);
Query query = exampleMapper.getMappedExample(example);
String actual = query.getCriteria().map(Object::toString).get();
String expected = "(firstname IS NULL OR firstname = 'Bilbo') AND (lastname IS NULL OR lastname = 'Baggins')";
assertThat(compareStrWithFlakiness(expected, actual, "AND")).isTrue();
assertThat(query.getCriteria().map(Object::toString).get()) //
.contains("(firstname IS NULL OR firstname = 'Bilbo')", //
" AND ", //
"(lastname IS NULL OR lastname = 'Baggins')");
}
@Test // GH-929
@ -373,9 +366,10 @@ public class RelationalExampleMapperTests { @@ -373,9 +366,10 @@ public class RelationalExampleMapperTests {
Example<Person> example = Example.of(person, matcher);
Query query = exampleMapper.getMappedExample(example);
String actual = query.getCriteria().map(Object::toString).get();
String expected = "(firstname = 'Frodo') OR (lastname = 'Baggins')";
assertThat(compareStrWithFlakiness(expected, actual, "OR")).isTrue();
assertThat(query.getCriteria().map(Object::toString).get()) //
.contains("(firstname = 'Frodo')", //
" OR ", //
"(lastname = 'Baggins')");
}
@Test // GH-929
@ -388,9 +382,11 @@ public class RelationalExampleMapperTests { @@ -388,9 +382,11 @@ public class RelationalExampleMapperTests {
Example<Person> example = Example.of(person);
Query query = exampleMapper.getMappedExample(example);
String actual = query.getCriteria().map(Object::toString).get();
String expected = "(firstname = 'Frodo') AND (secret = 'I have the ring!')";
assertThat(compareStrWithFlakiness(expected, actual, "AND")).isTrue();
assertThat(query.getCriteria().map(Object::toString).get()) //
.contains("(firstname = 'Frodo')", //
" AND ", //
"(secret = 'I have the ring!')");
}
@Test // GH-929
@ -418,19 +414,12 @@ public class RelationalExampleMapperTests { @@ -418,19 +414,12 @@ public class RelationalExampleMapperTests {
Example<Person> example = Example.of(person, matcher);
Query query = exampleMapper.getMappedExample(example);
String actual = query.getCriteria().map(Object::toString).get();
String expected = "(firstname = 'FRODO') AND (lastname = 'baggins') AND (secret = 'I have the ring!')";
assertThat(compareStrWithFlakiness(expected, actual, "AND")).isTrue();
}
private boolean compareStrWithFlakiness(String expected, String actual, String regex) {
String[] flakyParts = expected.split(regex);
for (String part : flakyParts) {
if (!actual.contains(part)) {
return false;
}
}
return true;
assertThat(query.getCriteria().map(Object::toString).get()) //
.contains("(firstname = 'FRODO')", //
" AND ", //
"(lastname = 'baggins')", //
"(secret = 'I have the ring!')");
}
@Data

Loading…
Cancel
Save