Polishing

This commit is contained in:
Sam Brannen
2024-02-16 11:40:38 +01:00
parent fc9a118406
commit b6df5a677e
8 changed files with 69 additions and 70 deletions

View File

@@ -293,7 +293,8 @@ class NamedParameterUtilsTests {
"SELECT /*:doo*/':foo', :xxx FROM DUAL",
"SELECT ':foo'/*:doo*/, :xxx FROM DUAL",
"SELECT \":foo\"\":doo\", :xxx FROM DUAL",
"SELECT `:foo``:doo`, :xxx FROM DUAL",})
"SELECT `:foo``:doo`, :xxx FROM DUAL"
})
void parseSqlStatementWithParametersInsideQuote(String sql) {
ParsedSql parsedSql = NamedParameterUtils.parseSqlStatement(sql);
assertThat(parsedSql.getTotalParameterCount()).isEqualTo(1);

View File

@@ -36,33 +36,32 @@ import static org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType.
*/
class EmbeddedDatabaseBuilderTests {
private final EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder(new ClassRelativeResourceLoader(
getClass()));
private final EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder(new ClassRelativeResourceLoader(getClass()));
@Test
void addDefaultScripts() {
doTwice(() -> {
EmbeddedDatabase db = new EmbeddedDatabaseBuilder()//
.addDefaultScripts()//
.build();
EmbeddedDatabase db = new EmbeddedDatabaseBuilder()
.addDefaultScripts()
.build();
assertDatabaseCreatedAndShutdown(db);
});
}
@Test
void addScriptWithBogusFileName() {
assertThatExceptionOfType(CannotReadScriptException.class).isThrownBy(
new EmbeddedDatabaseBuilder().addScript("bogus.sql")::build);
assertThatExceptionOfType(CannotReadScriptException.class)
.isThrownBy(new EmbeddedDatabaseBuilder().addScript("bogus.sql")::build);
}
@Test
void addScript() {
doTwice(() -> {
EmbeddedDatabase db = builder//
.addScript("db-schema.sql")//
.addScript("db-test-data.sql")//
.build();
EmbeddedDatabase db = builder
.addScript("db-schema.sql")
.addScript("db-test-data.sql")
.build();
assertDatabaseCreatedAndShutdown(db);
});
}
@@ -70,9 +69,9 @@ class EmbeddedDatabaseBuilderTests {
@Test
void addScripts() {
doTwice(() -> {
EmbeddedDatabase db = builder//
.addScripts("db-schema.sql", "db-test-data.sql")//
.build();
EmbeddedDatabase db = builder
.addScripts("db-schema.sql", "db-test-data.sql")
.build();
assertDatabaseCreatedAndShutdown(db);
});
}
@@ -80,9 +79,9 @@ class EmbeddedDatabaseBuilderTests {
@Test
void addScriptsWithDefaultCommentPrefix() {
doTwice(() -> {
EmbeddedDatabase db = builder//
.addScripts("db-schema-comments.sql", "db-test-data.sql")//
.build();
EmbeddedDatabase db = builder
.addScripts("db-schema-comments.sql", "db-test-data.sql")
.build();
assertDatabaseCreatedAndShutdown(db);
});
}
@@ -90,10 +89,10 @@ class EmbeddedDatabaseBuilderTests {
@Test
void addScriptsWithCustomCommentPrefix() {
doTwice(() -> {
EmbeddedDatabase db = builder//
.addScripts("db-schema-custom-comments.sql", "db-test-data.sql")//
.setCommentPrefix("~")//
.build();
EmbeddedDatabase db = builder
.addScripts("db-schema-custom-comments.sql", "db-test-data.sql")
.setCommentPrefix("~")
.build();
assertDatabaseCreatedAndShutdown(db);
});
}
@@ -101,11 +100,11 @@ class EmbeddedDatabaseBuilderTests {
@Test
void addScriptsWithCustomBlockComments() {
doTwice(() -> {
EmbeddedDatabase db = builder//
.addScripts("db-schema-block-comments.sql", "db-test-data.sql")//
.setBlockCommentStartDelimiter("{*")//
.setBlockCommentEndDelimiter("*}")//
.build();
EmbeddedDatabase db = builder
.addScripts("db-schema-block-comments.sql", "db-test-data.sql")
.setBlockCommentStartDelimiter("{*")
.setBlockCommentEndDelimiter("*}")
.build();
assertDatabaseCreatedAndShutdown(db);
});
}
@@ -113,10 +112,10 @@ class EmbeddedDatabaseBuilderTests {
@Test
void setTypeToH2() {
doTwice(() -> {
EmbeddedDatabase db = builder//
.setType(H2)//
.addScripts("db-schema.sql", "db-test-data.sql")//
.build();
EmbeddedDatabase db = builder
.setType(H2)
.addScripts("db-schema.sql", "db-test-data.sql")
.build();
assertDatabaseCreatedAndShutdown(db);
});
}
@@ -132,7 +131,7 @@ class EmbeddedDatabaseBuilderTests {
super.configureConnectionProperties(properties, databaseName);
}
}))
.addScripts("db-schema.sql", "db-test-data.sql")//
.addScripts("db-schema.sql", "db-test-data.sql")
.build();
assertDatabaseCreatedAndShutdown(db);
});
@@ -141,18 +140,17 @@ class EmbeddedDatabaseBuilderTests {
@Test
void setTypeToDerbyAndIgnoreFailedDrops() {
doTwice(() -> {
EmbeddedDatabase db = builder//
.setType(DERBY)//
.ignoreFailedDrops(true)//
.addScripts("db-schema-derby-with-drop.sql", "db-test-data.sql").build();
EmbeddedDatabase db = builder
.setType(DERBY)
.ignoreFailedDrops(true)
.addScripts("db-schema-derby-with-drop.sql", "db-test-data.sql").build();
assertDatabaseCreatedAndShutdown(db);
});
}
@Test
void createSameSchemaTwiceWithoutUniqueDbNames() {
EmbeddedDatabase db1 = new EmbeddedDatabaseBuilder(new ClassRelativeResourceLoader(getClass()))
.addScripts("db-schema-without-dropping.sql").build();
EmbeddedDatabase db1 = builder.addScripts("db-schema-without-dropping.sql").build();
try {
assertThatExceptionOfType(ScriptStatementFailedException.class).isThrownBy(() ->
new EmbeddedDatabaseBuilder(new ClassRelativeResourceLoader(getClass())).addScripts("db-schema-without-dropping.sql").build());
@@ -164,20 +162,20 @@ class EmbeddedDatabaseBuilderTests {
@Test
void createSameSchemaTwiceWithGeneratedUniqueDbNames() {
EmbeddedDatabase db1 = new EmbeddedDatabaseBuilder(new ClassRelativeResourceLoader(getClass()))//
.addScripts("db-schema-without-dropping.sql", "db-test-data.sql")//
.generateUniqueName(true)//
.build();
EmbeddedDatabase db1 = builder
.addScripts("db-schema-without-dropping.sql", "db-test-data.sql")
.generateUniqueName(true)
.build();
JdbcTemplate template1 = new JdbcTemplate(db1);
assertNumRowsInTestTable(template1, 1);
template1.update("insert into T_TEST (NAME) values ('Sam')");
assertNumRowsInTestTable(template1, 2);
EmbeddedDatabase db2 = new EmbeddedDatabaseBuilder(new ClassRelativeResourceLoader(getClass()))//
.addScripts("db-schema-without-dropping.sql", "db-test-data.sql")//
.generateUniqueName(true)//
.build();
EmbeddedDatabase db2 = new EmbeddedDatabaseBuilder(new ClassRelativeResourceLoader(getClass()))
.addScripts("db-schema-without-dropping.sql", "db-test-data.sql")
.generateUniqueName(true)
.build();
assertDatabaseCreated(db2);
db1.shutdown();