1 22 package org.jboss.test.jca.test; 23 24 import java.net.URL ; 25 import java.sql.Connection ; 26 import java.sql.DatabaseMetaData ; 27 import java.sql.Statement ; 28 import java.sql.ResultSet ; 29 import java.sql.ResultSetMetaData ; 30 31 import junit.framework.Test; 32 import javax.naming.InitialContext ; 33 import javax.sql.DataSource ; 34 35 import org.jboss.test.JBossTestCase; 36 37 42 public class RemoteDSUnitTestCase extends JBossTestCase 43 { 44 public RemoteDSUnitTestCase (String name) 45 { 46 super(name); 47 } 48 49 50 public void testStatement() throws Exception 51 { 52 log.info("+++ testStatement"); 53 InitialContext ctx = super.getInitialContext(); 54 DataSource ds = (DataSource ) ctx.lookup("RemoteDS"); 55 Connection conn = ds.getConnection("sa", ""); 56 DatabaseMetaData dmd = conn.getMetaData(); 57 log.info(dmd); 58 Statement stmt = conn.createStatement(); 59 stmt.executeUpdate("CREATE TABLE COFFEES " + 61 "(NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, SALES INTEGER, TOTAL INTEGER)"); 62 stmt.executeUpdate("INSERT INTO COFFEES VALUES ('Colombian', 100, 7.99, 0, 0)"); 64 stmt.executeUpdate("INSERT INTO COFFEES VALUES ('FrenchRoast', 101, 8.99, 0, 0)"); 65 stmt.executeUpdate("INSERT INTO COFFEES VALUES ('JavaBean', 102, 6.99, 0, 0)"); 66 ResultSet rs = stmt.executeQuery("SELECT * FROM COFFEES where NAME = 'Colombian'"); 68 ResultSetMetaData rsmd = rs.getMetaData(); 69 assertTrue("ResultSetMetaData.getColumnCount == 5", 70 rsmd.getColumnCount() == 5); 71 int nameIndex = rs.findColumn("NAME"); 72 String cname = rsmd.getColumnName(nameIndex); 73 assertTrue("NAME column maps", cname.equalsIgnoreCase("NAME")); 74 75 assertTrue("ResultSet.next == true", 76 rs.next() == true ); 77 String name = rs.getString("NAME"); 78 assertTrue("name == Colombian", name.equals("Colombian")); 79 int id = rs.getInt("SUP_ID"); 80 assertTrue("id == 100", id == 100); 81 float price = rs.getFloat("PRICE"); 82 int iprice = Math.round(100 * price); 83 log.info("iprice = "+iprice); 84 assertTrue("price == 7.99", 799 == iprice); 85 int sales = rs.getInt("SALES"); 86 assertTrue("sales == 0", sales == 0); 87 int total = rs.getInt("TOTAL"); 88 assertTrue("total == 0", total == 0); 89 rs.close(); 90 91 stmt.executeUpdate("DROP TABLE COFFEES"); 93 stmt.close(); 94 conn.close(); 95 } 96 97 public static Test suite() throws Exception 98 { 99 ClassLoader loader = Thread.currentThread().getContextClassLoader(); 100 URL resURL = loader.getResource("jca/remote-jdbc/remote-ds.xml"); 101 return getDeploySetup(RemoteDSUnitTestCase.class, resURL.toString()); 102 } 103 } 104 | Popular Tags |