#57 - Added tests for the exception message.

Original pull request: #97.
This commit is contained in:
Jens Schauder
2019-04-23 16:05:05 +02:00
parent e161476d1c
commit f7d3124c63
2 changed files with 39 additions and 4 deletions

View File

@@ -111,6 +111,11 @@ public abstract class AbstractFallbackR2dbcExceptionTranslator implements R2dbcE
* @return the message {@code String} to use.
*/
protected String buildMessage(String task, @Nullable String sql, R2dbcException ex) {
return task + "; " + (sql != null ? "SQL [" + sql + "]; " : "") + ex.getMessage();
return task + "; " + //
(sql != null //
? "SQL [" + sql + "]; " //
: "" //
) + ex.getMessage();
}
}

View File

@@ -27,7 +27,6 @@ import io.r2dbc.spi.R2dbcTimeoutException;
import io.r2dbc.spi.R2dbcTransientResourceException;
import org.junit.Test;
import org.springframework.dao.ConcurrencyFailureException;
import org.springframework.dao.DataAccessResourceFailureException;
import org.springframework.dao.DataIntegrityViolationException;
@@ -49,9 +48,10 @@ public class R2dbcExceptionSubclassTranslatorUnitTests {
@Test // gh-57
public void shouldTranslateTransientResourceException() {
Exception exception = translator.translate("", "", new R2dbcTransientResourceException());
Exception exception = translator.translate("", "", new R2dbcTransientResourceException(""));
assertThat(exception).isInstanceOf(TransientDataAccessResourceException.class);
assertThat(exception)
.isInstanceOf(TransientDataAccessResourceException.class);
}
@Test // gh-57
@@ -110,5 +110,35 @@ public class R2dbcExceptionSubclassTranslatorUnitTests {
assertThat(exception).isInstanceOf(BadSqlGrammarException.class);
}
@Test // gh-57
public void messageGeneration() {
Exception exception = translator.translate("TASK", "SOME-SQL", new R2dbcTransientResourceException("MESSAGE"));
assertThat(exception) //
.isInstanceOf(TransientDataAccessResourceException.class) //
.hasMessage("TASK; SQL [SOME-SQL]; MESSAGE; nested exception is io.r2dbc.spi.R2dbcTransientResourceException: MESSAGE");
}
@Test // gh-57
public void messageGenerationNullSQL() {
Exception exception = translator.translate("TASK", null, new R2dbcTransientResourceException("MESSAGE"));
assertThat(exception) //
.isInstanceOf(TransientDataAccessResourceException.class) //
.hasMessage("TASK; MESSAGE; nested exception is io.r2dbc.spi.R2dbcTransientResourceException: MESSAGE");
}
@Test // gh-57
public void messageGenerationNullMessage() {
Exception exception = translator.translate("TASK", "SOME-SQL", new R2dbcTransientResourceException());
assertThat(exception) //
.isInstanceOf(TransientDataAccessResourceException.class) //
.hasMessage("TASK; SQL [SOME-SQL]; null; nested exception is io.r2dbc.spi.R2dbcTransientResourceException");
}
private static class MyTransientExceptions extends R2dbcException {}
}