|
26 | 26 |
|
27 | 27 | import javax.sql.DataSource;
|
28 | 28 | import java.io.IOException;
|
| 29 | +import java.io.PrintWriter; |
29 | 30 | import java.io.Reader;
|
| 31 | +import java.io.StringReader; |
| 32 | +import java.io.StringWriter; |
30 | 33 | import java.sql.Connection;
|
31 | 34 | import java.sql.SQLException;
|
32 | 35 | import java.util.List;
|
@@ -121,7 +124,7 @@ public void commentAferStatementDelimiterShouldNotCauseRunnerFail() throws Excep
|
121 | 124 | fail(e.getMessage());
|
122 | 125 | }
|
123 | 126 | }
|
124 |
| - |
| 127 | + |
125 | 128 | @Test
|
126 | 129 | public void shouldReturnWarningIfNotTheCurrentDelimiterUsed() throws Exception {
|
127 | 130 | DataSource ds = createUnpooledDataSource(JPETSTORE_PROPERTIES);
|
@@ -164,6 +167,44 @@ public void changingDelimiterShouldNotCauseRunnerFail() throws Exception {
|
164 | 167 | }
|
165 | 168 | }
|
166 | 169 |
|
| 170 | + @Test |
| 171 | + public void testLogging() throws Exception { |
| 172 | + DataSource ds = createUnpooledDataSource(JPETSTORE_PROPERTIES); |
| 173 | + Connection conn = ds.getConnection(); |
| 174 | + ScriptRunner runner = new ScriptRunner(conn); |
| 175 | + runner.setAutoCommit(true); |
| 176 | + runner.setStopOnError(false); |
| 177 | + runner.setErrorLogWriter(null); |
| 178 | + runner.setSendFullScript(false); |
| 179 | + StringWriter sw = new StringWriter(); |
| 180 | + PrintWriter logWriter = new PrintWriter(sw); |
| 181 | + runner.setLogWriter(logWriter); |
| 182 | + |
| 183 | + Reader reader = new StringReader("select userid from account where userid = 'j2ee';"); |
| 184 | + runner.runScript(reader); |
| 185 | + |
| 186 | + assertEquals("select userid from account where userid = 'j2ee'\n\nUSERID\t\nj2ee\t\n", sw.toString()); |
| 187 | + } |
| 188 | + |
| 189 | + @Test |
| 190 | + public void testLoggingFullScipt() throws Exception { |
| 191 | + DataSource ds = createUnpooledDataSource(JPETSTORE_PROPERTIES); |
| 192 | + Connection conn = ds.getConnection(); |
| 193 | + ScriptRunner runner = new ScriptRunner(conn); |
| 194 | + runner.setAutoCommit(true); |
| 195 | + runner.setStopOnError(false); |
| 196 | + runner.setErrorLogWriter(null); |
| 197 | + runner.setSendFullScript(true); |
| 198 | + StringWriter sw = new StringWriter(); |
| 199 | + PrintWriter logWriter = new PrintWriter(sw); |
| 200 | + runner.setLogWriter(logWriter); |
| 201 | + |
| 202 | + Reader reader = new StringReader("select userid from account where userid = 'j2ee';"); |
| 203 | + runner.runScript(reader); |
| 204 | + |
| 205 | + assertEquals("select userid from account where userid = 'j2ee';\n\nUSERID\t\nj2ee\t\n", sw.toString()); |
| 206 | + } |
| 207 | + |
167 | 208 | private void runJPetStoreScripts(ScriptRunner runner) throws IOException, SQLException {
|
168 | 209 | runScript(runner, JPETSTORE_DDL);
|
169 | 210 | runScript(runner, JPETSTORE_DATA);
|
|
0 commit comments