Fix Flaky Tests.

Original pull request #1097
This commit is contained in:
Charles
2021-11-21 20:32:08 -06:00
committed by Jens Schauder
parent 9fc74826ff
commit af72307d4b
3 changed files with 49 additions and 23 deletions

View File

@@ -21,6 +21,8 @@ import org.junit.jupiter.api.Test;
import org.springframework.data.relational.core.sql.IdentifierProcessing;
import org.springframework.data.relational.core.sql.SqlIdentifier;
import java.util.Arrays;
/**
* Tests for {@link SqlIdentifierParameterSource}.
*
@@ -95,10 +97,11 @@ public class SqlIdentifierParameterSourceUnitTests {
parameters2.addValue(SqlIdentifier.unquoted("key3"), 222);
parameters.addAll(parameters2);
String[] allKeys = parameters.getParameterNames();
Arrays.sort(allKeys);
assertSoftly(softly -> {
softly.assertThat(parameters.getParameterNames()).isEqualTo(new String[] { "key1", "key2", "key3" });
softly.assertThat(allKeys).isEqualTo(new String[] { "key1", "key2", "key3" });
softly.assertThat(parameters.getValue("key1")).isEqualTo(111);
softly.assertThat(parameters.hasValue("key1")).isTrue();
softly.assertThat(parameters.getSqlType("key1")).isEqualTo(11);

View File

@@ -591,12 +591,22 @@ public class PartTreeJdbcQueryUnitTests {
String expectedSql = BASE_SELECT + " WHERE (" + TABLE + ".\"USER_STREET\" = :user_street AND " + TABLE
+ ".\"USER_CITY\" = :user_city)";
String actualSql = query.getQuery();
assertThat(query.getQuery()).isEqualTo(expectedSql);
assertThat(compareSqlStr(expectedSql, actualSql)).isTrue();
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 {