|
|
|
@ -46,7 +46,7 @@ import org.springframework.jdbc.core.JdbcOperations; |
|
|
|
* @author Chirag Tailor |
|
|
|
* @author Chirag Tailor |
|
|
|
* @author Sergey Korotaev |
|
|
|
* @author Sergey Korotaev |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
class SqlParametersFactoryTest { |
|
|
|
class SqlParametersFactoryUnitTests { |
|
|
|
|
|
|
|
|
|
|
|
RelationalMappingContext context = new JdbcMappingContext(); |
|
|
|
RelationalMappingContext context = new JdbcMappingContext(); |
|
|
|
RelationResolver relationResolver = mock(RelationResolver.class); |
|
|
|
RelationResolver relationResolver = mock(RelationResolver.class); |
|
|
|
@ -88,8 +88,7 @@ class SqlParametersFactoryTest { |
|
|
|
assertThat(sqlParameterSource.getValue("DUMMYENTITYROOT")).isEqualTo(rawId); |
|
|
|
assertThat(sqlParameterSource.getValue("DUMMYENTITYROOT")).isEqualTo(rawId); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test // DATAJDBC-146
|
|
|
|
// DATAJDBC-146
|
|
|
|
|
|
|
|
void identifiersGetAddedAsParameters() { |
|
|
|
void identifiersGetAddedAsParameters() { |
|
|
|
|
|
|
|
|
|
|
|
long id = 4711L; |
|
|
|
long id = 4711L; |
|
|
|
@ -103,8 +102,7 @@ class SqlParametersFactoryTest { |
|
|
|
assertThat(sqlParameterSource.getValue("reference")).isEqualTo(reference); |
|
|
|
assertThat(sqlParameterSource.getValue("reference")).isEqualTo(reference); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test // DATAJDBC-146
|
|
|
|
// DATAJDBC-146
|
|
|
|
|
|
|
|
void additionalIdentifierForIdDoesNotLeadToDuplicateParameters() { |
|
|
|
void additionalIdentifierForIdDoesNotLeadToDuplicateParameters() { |
|
|
|
|
|
|
|
|
|
|
|
long id = 4711L; |
|
|
|
long id = 4711L; |
|
|
|
@ -116,8 +114,7 @@ class SqlParametersFactoryTest { |
|
|
|
assertThat(sqlParameterSource.getValue("id")).isEqualTo(id); |
|
|
|
assertThat(sqlParameterSource.getValue("id")).isEqualTo(id); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test // DATAJDBC-235
|
|
|
|
// DATAJDBC-235
|
|
|
|
|
|
|
|
void considersConfiguredWriteConverter() { |
|
|
|
void considersConfiguredWriteConverter() { |
|
|
|
|
|
|
|
|
|
|
|
SqlParametersFactory sqlParametersFactory = createSqlParametersFactoryWithConverters( |
|
|
|
SqlParametersFactory sqlParametersFactory = createSqlParametersFactoryWithConverters( |
|
|
|
@ -131,8 +128,7 @@ class SqlParametersFactoryTest { |
|
|
|
assertThat(sqlParameterSource.getValue("flag")).isEqualTo("T"); |
|
|
|
assertThat(sqlParameterSource.getValue("flag")).isEqualTo("T"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test // DATAJDBC-412
|
|
|
|
// DATAJDBC-412
|
|
|
|
|
|
|
|
void considersConfiguredWriteConverterForIdValueObjects_onWrite() { |
|
|
|
void considersConfiguredWriteConverterForIdValueObjects_onWrite() { |
|
|
|
|
|
|
|
|
|
|
|
SqlParametersFactory sqlParametersFactory = createSqlParametersFactoryWithConverters( |
|
|
|
SqlParametersFactory sqlParametersFactory = createSqlParametersFactoryWithConverters( |
|
|
|
@ -149,8 +145,7 @@ class SqlParametersFactoryTest { |
|
|
|
assertThat(sqlParameterSource.getValue("value")).isEqualTo(value); |
|
|
|
assertThat(sqlParameterSource.getValue("value")).isEqualTo(value); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test // GH-1405
|
|
|
|
// GH-1405
|
|
|
|
|
|
|
|
void parameterNamesGetSanitized() { |
|
|
|
void parameterNamesGetSanitized() { |
|
|
|
|
|
|
|
|
|
|
|
WithIllegalCharacters entity = new WithIllegalCharacters(23L, "aValue"); |
|
|
|
WithIllegalCharacters entity = new WithIllegalCharacters(23L, "aValue"); |
|
|
|
@ -165,8 +160,7 @@ class SqlParametersFactoryTest { |
|
|
|
assertThat(sqlParameterSource.getValue("val&ue")).isNull(); |
|
|
|
assertThat(sqlParameterSource.getValue("val&ue")).isNull(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test // GH-1935
|
|
|
|
// GH-1935
|
|
|
|
|
|
|
|
void enumParameterIsNotNullReturnCorrectSqlTypeFromConverter() { |
|
|
|
void enumParameterIsNotNullReturnCorrectSqlTypeFromConverter() { |
|
|
|
|
|
|
|
|
|
|
|
WithEnumEntity entity = new WithEnumEntity(23L, DummyEnum.ONE); |
|
|
|
WithEnumEntity entity = new WithEnumEntity(23L, DummyEnum.ONE); |
|
|
|
@ -174,38 +168,36 @@ class SqlParametersFactoryTest { |
|
|
|
SqlParametersFactory sqlParametersFactory = createSqlParametersFactoryWithConverters( |
|
|
|
SqlParametersFactory sqlParametersFactory = createSqlParametersFactoryWithConverters( |
|
|
|
singletonList(WritingEnumConverter.INSTANCE)); |
|
|
|
singletonList(WritingEnumConverter.INSTANCE)); |
|
|
|
|
|
|
|
|
|
|
|
SqlIdentifierParameterSource sqlParameterSource = sqlParametersFactory.forInsert(entity, |
|
|
|
SqlIdentifierParameterSource sqlParameterSource = sqlParametersFactory.forInsert(entity, WithEnumEntity.class, |
|
|
|
WithEnumEntity.class, Identifier.empty(), IdValueSource.PROVIDED); |
|
|
|
Identifier.empty(), IdValueSource.PROVIDED); |
|
|
|
|
|
|
|
|
|
|
|
assertThat(sqlParameterSource.getValue("id")).isEqualTo(23L); |
|
|
|
assertThat(sqlParameterSource.getValue("id")).isEqualTo(23L); |
|
|
|
assertThat(sqlParameterSource.getValue("dummy_enum")).isEqualTo(DummyEnum.ONE.name()); |
|
|
|
assertThat(sqlParameterSource.getValue("dummy_enum")).isEqualTo(DummyEnum.ONE.name()); |
|
|
|
assertThat(sqlParameterSource.getSqlType("dummy_enum")).isEqualTo(1111); |
|
|
|
assertThat(sqlParameterSource.getSqlType("dummy_enum")).isEqualTo(1111); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test // GH-1935
|
|
|
|
// GH-1935
|
|
|
|
|
|
|
|
void enumParameterIsNullReturnCorrectSqlTypeFromConverter() { |
|
|
|
void enumParameterIsNullReturnCorrectSqlTypeFromConverter() { |
|
|
|
WithEnumEntity entity = new WithEnumEntity(23L, null); |
|
|
|
WithEnumEntity entity = new WithEnumEntity(23L, null); |
|
|
|
|
|
|
|
|
|
|
|
SqlParametersFactory sqlParametersFactory = createSqlParametersFactoryWithConverters( |
|
|
|
SqlParametersFactory sqlParametersFactory = createSqlParametersFactoryWithConverters( |
|
|
|
singletonList(WritingEnumConverter.INSTANCE)); |
|
|
|
singletonList(WritingEnumConverter.INSTANCE)); |
|
|
|
|
|
|
|
|
|
|
|
SqlIdentifierParameterSource sqlParameterSource = sqlParametersFactory.forInsert(entity, |
|
|
|
SqlIdentifierParameterSource sqlParameterSource = sqlParametersFactory.forInsert(entity, WithEnumEntity.class, |
|
|
|
WithEnumEntity.class, Identifier.empty(), IdValueSource.PROVIDED); |
|
|
|
Identifier.empty(), IdValueSource.PROVIDED); |
|
|
|
|
|
|
|
|
|
|
|
assertThat(sqlParameterSource.getValue("id")).isEqualTo(23L); |
|
|
|
assertThat(sqlParameterSource.getValue("id")).isEqualTo(23L); |
|
|
|
assertThat(sqlParameterSource.getSqlType("dummy_enum")).isEqualTo(JDBCType.NULL.getVendorTypeNumber()); |
|
|
|
assertThat(sqlParameterSource.getSqlType("dummy_enum")).isEqualTo(JDBCType.NULL.getVendorTypeNumber()); |
|
|
|
assertThat(sqlParameterSource.getValue("dummy_enum")).isNull(); |
|
|
|
assertThat(sqlParameterSource.getValue("dummy_enum")).isNull(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test // GH-1935
|
|
|
|
// GH-1935
|
|
|
|
|
|
|
|
void enumParameterIsNotNullReturnCorrectSqlTypeWithoutConverter() { |
|
|
|
void enumParameterIsNotNullReturnCorrectSqlTypeWithoutConverter() { |
|
|
|
|
|
|
|
|
|
|
|
WithEnumEntity entity = new WithEnumEntity(23L, DummyEnum.ONE); |
|
|
|
WithEnumEntity entity = new WithEnumEntity(23L, DummyEnum.ONE); |
|
|
|
|
|
|
|
|
|
|
|
SqlIdentifierParameterSource sqlParameterSource = sqlParametersFactory.forInsert(entity, |
|
|
|
SqlIdentifierParameterSource sqlParameterSource = sqlParametersFactory.forInsert(entity, WithEnumEntity.class, |
|
|
|
WithEnumEntity.class, Identifier.empty(), IdValueSource.PROVIDED); |
|
|
|
Identifier.empty(), IdValueSource.PROVIDED); |
|
|
|
|
|
|
|
|
|
|
|
assertThat(sqlParameterSource.getValue("id")).isEqualTo(23L); |
|
|
|
assertThat(sqlParameterSource.getValue("id")).isEqualTo(23L); |
|
|
|
assertThat(sqlParameterSource.getValue("dummy_enum")).isEqualTo(DummyEnum.ONE.name()); |
|
|
|
assertThat(sqlParameterSource.getValue("dummy_enum")).isEqualTo(DummyEnum.ONE.name()); |
|
|
|
@ -213,14 +205,13 @@ class SqlParametersFactoryTest { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test // GH-1935
|
|
|
|
// GH-1935
|
|
|
|
|
|
|
|
void enumParameterIsNullReturnCorrectSqlTypeWithoutConverter() { |
|
|
|
void enumParameterIsNullReturnCorrectSqlTypeWithoutConverter() { |
|
|
|
|
|
|
|
|
|
|
|
WithEnumEntity entity = new WithEnumEntity(23L, null); |
|
|
|
WithEnumEntity entity = new WithEnumEntity(23L, null); |
|
|
|
|
|
|
|
|
|
|
|
SqlIdentifierParameterSource sqlParameterSource = sqlParametersFactory.forInsert(entity, |
|
|
|
SqlIdentifierParameterSource sqlParameterSource = sqlParametersFactory.forInsert(entity, WithEnumEntity.class, |
|
|
|
WithEnumEntity.class, Identifier.empty(), IdValueSource.PROVIDED); |
|
|
|
Identifier.empty(), IdValueSource.PROVIDED); |
|
|
|
|
|
|
|
|
|
|
|
assertThat(sqlParameterSource.getValue("id")).isEqualTo(23L); |
|
|
|
assertThat(sqlParameterSource.getValue("id")).isEqualTo(23L); |
|
|
|
assertThat(sqlParameterSource.getSqlType("dummy_enum")).isEqualTo(JDBCType.NULL.getVendorTypeNumber()); |
|
|
|
assertThat(sqlParameterSource.getSqlType("dummy_enum")).isEqualTo(JDBCType.NULL.getVendorTypeNumber()); |
|
|
|
@ -291,7 +282,7 @@ class SqlParametersFactoryTest { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String toString() { |
|
|
|
public String toString() { |
|
|
|
return "SqlParametersFactoryTest.IdValue(id=" + this.getId() + ")"; |
|
|
|
return "SqlParametersFactoryUnitTests.IdValue(id=" + this.getId() + ")"; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|