@Override public String getMessage() { String base = super.getMessage(); StatementContext ctx = getStatementContext(); if (ctx == null) { return base; } else { return String.format("%s [statement:\"%s\", rewritten:\"%s\", parsed:\"%s\", arguments:%s]", base, ctx.getRawSql(), ctx.getRenderedSql(), ctx.getParsedSql(), ctx.getBinding()); } } }
@Test public void testFoo() { assertThatExceptionOfType(StatementException.class) .isThrownBy(() -> dbRule.openHandle().execute("WOOF", 7, "Tom")) .satisfies(e -> assertThat(e.getStatementContext().getRawSql()).isEqualTo("WOOF")); } }
@Test public void testScriptAsSetOfSeparateStatements() { assertThatExceptionOfType(StatementException.class) .isThrownBy(() -> { Handle h = dbRule.openHandle(); Script script = h.createScript(getResourceOnClasspath("script/malformed-sql-script.sql")); script.executeAsSeparateStatements(); }) .satisfies(e -> assertThat(e.getStatementContext().getRawSql().trim()) .isEqualTo("insert into something(id, name) values (2, eric)")); } }
@Override public String getMessage() { String base = super.getMessage(); StatementContext ctx = getStatementContext(); if (ctx == null) { return base; } else { return String.format("%s [statement:\"%s\", rewritten:\"%s\", parsed:\"%s\", arguments:%s]", base, ctx.getRawSql(), ctx.getRenderedSql(), ctx.getParsedSql(), ctx.getBinding()); } } }