1 16 package scriptella.driver.h2; 17 18 import scriptella.AbstractTestCase; 19 import scriptella.execution.EtlExecutor; 20 import scriptella.execution.EtlExecutorException; 21 22 import java.io.ByteArrayInputStream ; 23 import java.io.IOException ; 24 import java.sql.Connection ; 25 import java.sql.DriverManager ; 26 import java.sql.ResultSet ; 27 import java.sql.SQLException ; 28 import java.util.ArrayList ; 29 import java.util.Arrays ; 30 import java.util.List ; 31 32 38 public class H2ScriptTest extends AbstractTestCase { 39 46 public void test() throws EtlExecutorException, SQLException , ClassNotFoundException , IOException { 47 Class.forName("org.h2.Driver"); 48 Connection con = DriverManager.getConnection("jdbc:h2:mem:tst"); 50 EtlExecutor se = newEtlExecutor(); 51 se.execute(); 52 ResultSet rs = con.createStatement().executeQuery("SELECT * FROM Test ORDER BY ID"); 53 List actual = new ArrayList (); 54 while (rs.next()) { 55 Integer n = (Integer ) rs.getObject(1); 56 actual.add(n); 57 byte[] expBlob = new byte[4]; 58 Arrays.fill(expBlob, n.byteValue()); 59 ByteArrayInputStream bais = (ByteArrayInputStream ) rs.getObject(2); 60 byte[] actualBlob = new byte[4]; 61 bais.read(actualBlob); 62 assertTrue(bais.read()<0); 64 assertTrue(Arrays.equals(expBlob, actualBlob)); 65 66 } 67 List exp = Arrays.asList(1, 2, 3); 68 assertEquals(exp, actual); 69 70 71 } 72 } 73 | Popular Tags |