[Task-3]-updated java11 and junit5
This commit is contained in:
parent
ccd7320be5
commit
e8fb5b6181
28 changed files with 873 additions and 798 deletions
|
|
@ -1,7 +1,8 @@
|
|||
package net.forwardfire.tpquery.store.executor.jdbc;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
|
|
@ -11,20 +12,17 @@ import java.sql.SQLException;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import net.forwardfire.tpquery.TPQManager;
|
||||
import net.forwardfire.tpquery.TPQFactory;
|
||||
import net.forwardfire.tpquery.store.executor.jdbc.SQLExceptionRuntime;
|
||||
import net.forwardfire.tpquery.store.executor.jdbc.TPQExecutorJdbc;
|
||||
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import ch.qos.logback.classic.LoggerContext;
|
||||
import net.forwardfire.tpquery.TPQFactory;
|
||||
import net.forwardfire.tpquery.TPQManager;
|
||||
|
||||
public class TPQExecutorJdbcTest {
|
||||
|
||||
@BeforeClass
|
||||
@BeforeEach
|
||||
public static void setupLogging() {
|
||||
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
|
||||
lc.reset(); // disable logging
|
||||
|
|
@ -84,94 +82,104 @@ public class TPQExecutorJdbcTest {
|
|||
}
|
||||
}
|
||||
|
||||
@Test(expected=SQLExceptionRuntime.class)
|
||||
@Test
|
||||
public void testExecuteUpdateFail() throws Exception {
|
||||
try (Connection connection = DriverManager.getConnection("jdbc:h2:mem:test;")) {
|
||||
TPQManager store = TPQFactory
|
||||
.createManagerBuilder()
|
||||
.createQuerySet("junit", "jar:junit:mem")
|
||||
.setLanguage(TPQFactory.StatementLanguage.SQL)
|
||||
.createQuery("createTable").appendText("CREATE TABLE test_table (id serial,data int)").build()
|
||||
.createQuery("insertData").appendText("INSERT INTO test_table (data) VALUES (0)").build()
|
||||
.createQuery("queryFail").appendText("update test_table tt set tt.data=10/(SELECT sum(t1.data) FROM test_table t1)").build()
|
||||
.build()
|
||||
.build();
|
||||
|
||||
TPQExecutorJdbc exe = new TPQExecutorJdbc(store.getQueryExecutorContext());
|
||||
exe.executeUpdate(connection, "junit.createTable");
|
||||
exe.executeUpdate(connection, "junit.insertData");
|
||||
exe.executeUpdate(connection, "junit.queryFail"); // runtime data failure, as prepared will go correctly
|
||||
assertThrows(SQLExceptionRuntime.class, () -> {
|
||||
try (Connection connection = DriverManager.getConnection("jdbc:h2:mem:test;")) {
|
||||
TPQManager store = TPQFactory
|
||||
.createManagerBuilder()
|
||||
.createQuerySet("junit", "jar:junit:mem")
|
||||
.setLanguage(TPQFactory.StatementLanguage.SQL)
|
||||
.createQuery("createTable").appendText("CREATE TABLE test_table (id serial,data int)").build()
|
||||
.createQuery("insertData").appendText("INSERT INTO test_table (data) VALUES (0)").build()
|
||||
.createQuery("queryFail").appendText("update test_table tt set tt.data=10/(SELECT sum(t1.data) FROM test_table t1)").build()
|
||||
.build()
|
||||
.build();
|
||||
|
||||
TPQExecutorJdbc exe = new TPQExecutorJdbc(store.getQueryExecutorContext());
|
||||
exe.executeUpdate(connection, "junit.createTable");
|
||||
exe.executeUpdate(connection, "junit.insertData");
|
||||
exe.executeUpdate(connection, "junit.queryFail"); // runtime data failure, as prepared will go correctly
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test(expected=SQLExceptionRuntime.class)
|
||||
@Test
|
||||
public void testExecuteSelectFail() throws Exception {
|
||||
try (Connection connection = DriverManager.getConnection("jdbc:h2:mem:test;")) {
|
||||
|
||||
TPQManager store = TPQFactory
|
||||
.createManagerBuilder()
|
||||
.createQuerySet("junit", "jar:junit:mem")
|
||||
.setLanguage(TPQFactory.StatementLanguage.SQL)
|
||||
.createQuery("createTable").appendText("CREATE TABLE test_table (id serial,data int)").build()
|
||||
.createQuery("insertData").appendText("INSERT INTO test_table (data) VALUES (0)").build()
|
||||
.createQuery("queryFail").appendText("select tt.* from test_table tt where tt.data=10/(SELECT sum(t1.data) FROM test_table t1)").build()
|
||||
.build()
|
||||
.build();
|
||||
|
||||
TPQExecutorJdbc exe = new TPQExecutorJdbc(store.getQueryExecutorContext());
|
||||
exe.executeUpdate(connection, "junit.createTable");
|
||||
exe.executeUpdate(connection, "junit.insertData");
|
||||
exe.execute(connection, "junit.queryFail"); // runtime data failure, as prepared will go correctly
|
||||
}
|
||||
assertThrows(SQLExceptionRuntime.class, () -> {
|
||||
try (Connection connection = DriverManager.getConnection("jdbc:h2:mem:test;")) {
|
||||
|
||||
TPQManager store = TPQFactory
|
||||
.createManagerBuilder()
|
||||
.createQuerySet("junit", "jar:junit:mem")
|
||||
.setLanguage(TPQFactory.StatementLanguage.SQL)
|
||||
.createQuery("createTable").appendText("CREATE TABLE test_table (id serial,data int)").build()
|
||||
.createQuery("insertData").appendText("INSERT INTO test_table (data) VALUES (0)").build()
|
||||
.createQuery("queryFail").appendText("select tt.* from test_table tt where tt.data=10/(SELECT sum(t1.data) FROM test_table t1)").build()
|
||||
.build()
|
||||
.build();
|
||||
|
||||
TPQExecutorJdbc exe = new TPQExecutorJdbc(store.getQueryExecutorContext());
|
||||
exe.executeUpdate(connection, "junit.createTable");
|
||||
exe.executeUpdate(connection, "junit.insertData");
|
||||
exe.execute(connection, "junit.queryFail"); // runtime data failure, as prepared will go correctly
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test(expected=SQLExceptionRuntime.class)
|
||||
@Test
|
||||
public void testExecuteSelectFailPrepare() throws Exception {
|
||||
try (Connection connection = DriverManager.getConnection("jdbc:h2:mem:test;")) {
|
||||
TPQManager store = TPQFactory.createManagerBuilder()
|
||||
.createQuerySet("junit", "jar:junit:mem:testcaseFail")
|
||||
.setLanguage(TPQFactory.StatementLanguage.SQL)
|
||||
.createQuery("sql-fail").appendText("select * from article").build()
|
||||
.build()
|
||||
.build();
|
||||
TPQExecutorJdbc exe = new TPQExecutorJdbc(store.getQueryExecutorContext());
|
||||
exe.execute(connection, "junit.sql-fail");
|
||||
}
|
||||
assertThrows(SQLExceptionRuntime.class, () -> {
|
||||
try (Connection connection = DriverManager.getConnection("jdbc:h2:mem:test;")) {
|
||||
TPQManager store = TPQFactory.createManagerBuilder()
|
||||
.createQuerySet("junit", "jar:junit:mem:testcaseFail")
|
||||
.setLanguage(TPQFactory.StatementLanguage.SQL)
|
||||
.createQuery("sql-fail").appendText("select * from article").build()
|
||||
.build()
|
||||
.build();
|
||||
TPQExecutorJdbc exe = new TPQExecutorJdbc(store.getQueryExecutorContext());
|
||||
exe.execute(connection, "junit.sql-fail");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test(expected=SQLExceptionRuntime.class)
|
||||
@Test
|
||||
public void testTimeoutFail() throws Exception {
|
||||
try (Connection connection = DriverManager.getConnection("jdbc:h2:mem:test;")) {
|
||||
TPQManager store = TPQFactory.createManagerBuilder()
|
||||
.createQuerySet("junit", "jar:junit:mem:test")
|
||||
.setLanguage(TPQFactory.StatementLanguage.SQL)
|
||||
.createQuery("createTable").appendText("CREATE TABLE test_table (id serial,data int)").build()
|
||||
.createQuery("test").appendText("select * from test_table").build()
|
||||
.build()
|
||||
.build();
|
||||
TPQExecutorJdbc exe = new TPQExecutorJdbc(store.getQueryExecutorContext());
|
||||
exe.executeUpdate(connection, "junit.createTable");
|
||||
PreparedStatement ps = exe.createPreparedStatement(connection, "junit.test", null);
|
||||
ps.close();
|
||||
exe.prepareTimeout(ps, 123);
|
||||
}
|
||||
assertThrows(SQLExceptionRuntime.class, () -> {
|
||||
try (Connection connection = DriverManager.getConnection("jdbc:h2:mem:test;")) {
|
||||
TPQManager store = TPQFactory.createManagerBuilder()
|
||||
.createQuerySet("junit", "jar:junit:mem:test")
|
||||
.setLanguage(TPQFactory.StatementLanguage.SQL)
|
||||
.createQuery("createTable").appendText("CREATE TABLE test_table (id serial,data int)").build()
|
||||
.createQuery("test").appendText("select * from test_table").build()
|
||||
.build()
|
||||
.build();
|
||||
TPQExecutorJdbc exe = new TPQExecutorJdbc(store.getQueryExecutorContext());
|
||||
exe.executeUpdate(connection, "junit.createTable");
|
||||
PreparedStatement ps = exe.createPreparedStatement(connection, "junit.test", null);
|
||||
ps.close();
|
||||
exe.prepareTimeout(ps, 123);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test(expected=SQLExceptionRuntime.class)
|
||||
@Test
|
||||
public void testParameterFail() throws Exception {
|
||||
try (Connection connection = DriverManager.getConnection("jdbc:h2:mem:test;")) {
|
||||
TPQManager store = TPQFactory.createManagerBuilder()
|
||||
.createQuerySet("junit", "jar:junit:mem:test")
|
||||
.setLanguage(TPQFactory.StatementLanguage.SQL)
|
||||
.createQuery("createTable").appendText("CREATE TABLE test_table (id serial,data int)").build()
|
||||
.createQuery("test").appendText("select * from test_table").build()
|
||||
.build()
|
||||
.build();
|
||||
TPQExecutorJdbc exe = new TPQExecutorJdbc(store.getQueryExecutorContext());
|
||||
exe.executeUpdate(connection, "junit.createTable");
|
||||
PreparedStatement ps = exe.createPreparedStatement(connection, "junit.test", null);
|
||||
exe.prepareParameterValue(ps, 1, 123);
|
||||
}
|
||||
assertThrows(SQLExceptionRuntime.class, () -> {
|
||||
try (Connection connection = DriverManager.getConnection("jdbc:h2:mem:test;")) {
|
||||
TPQManager store = TPQFactory.createManagerBuilder()
|
||||
.createQuerySet("junit", "jar:junit:mem:test")
|
||||
.setLanguage(TPQFactory.StatementLanguage.SQL)
|
||||
.createQuery("createTable").appendText("CREATE TABLE test_table (id serial,data int)").build()
|
||||
.createQuery("test").appendText("select * from test_table").build()
|
||||
.build()
|
||||
.build();
|
||||
TPQExecutorJdbc exe = new TPQExecutorJdbc(store.getQueryExecutorContext());
|
||||
exe.executeUpdate(connection, "junit.createTable");
|
||||
PreparedStatement ps = exe.createPreparedStatement(connection, "junit.test", null);
|
||||
exe.prepareParameterValue(ps, 1, 123);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue