From: brian z. <bz...@us...> - 2002-05-09 01:03:40
|
Update of /cvsroot/jython/jython/Lib/test/zxjdbc In directory usw-pr-cvs1:/tmp/cvs-serv20877/Lib/test/zxjdbc Modified Files: zxtest.py test.xml sptest.py runner.py Log Message: added public Java API for Fetch; fetch[many|all] return empty list on completion Index: zxtest.py =================================================================== RCS file: /cvsroot/jython/jython/Lib/test/zxjdbc/zxtest.py,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** zxtest.py 19 Apr 2002 19:47:45 -0000 1.15 --- zxtest.py 9 May 2002 01:03:37 -0000 1.16 *************** *** 298,304 **** def _test_scrolling(self, dynamic=0): ! if self.vendor.name == "oracle": c = self.cursor(dynamic, ! rstype=zxJDBC.TYPE_SCROLL_INSENSITIVE, rsconcur=zxJDBC.CONCUR_READ_ONLY ) --- 298,304 ---- def _test_scrolling(self, dynamic=0): ! if self.vendor.scroll: c = self.cursor(dynamic, ! rstype=getattr(zxJDBC, self.vendor.scroll), rsconcur=zxJDBC.CONCUR_READ_ONLY ) *************** *** 340,346 **** def _test_rownumber(self, dynamic=0): ! if self.vendor.name == "oracle": c = self.cursor(dynamic, ! rstype=zxJDBC.TYPE_SCROLL_INSENSITIVE, rsconcur=zxJDBC.CONCUR_READ_ONLY ) --- 340,346 ---- def _test_rownumber(self, dynamic=0): ! if self.vendor.scroll: c = self.cursor(dynamic, ! rstype=getattr(zxJDBC, self.vendor.scroll), rsconcur=zxJDBC.CONCUR_READ_ONLY ) *************** *** 379,385 **** def _test_rowcount(self, dynamic=0): ! if self.vendor.name == "oracle": c = self.cursor(dynamic, ! rstype=zxJDBC.TYPE_SCROLL_INSENSITIVE, rsconcur=zxJDBC.CONCUR_READ_ONLY ) --- 379,385 ---- def _test_rowcount(self, dynamic=0): ! if self.vendor.scroll: c = self.cursor(dynamic, ! rstype=getattr(zxJDBC, self.vendor.scroll), rsconcur=zxJDBC.CONCUR_READ_ONLY ) *************** *** 811,817 **** c = self.cursor(dynamic) try: ! # make sure None is result from an empty result set c.execute("select * from zxtesting where 1<0") ! self.assertEquals(None, c.fetchall()) # test some arraysize features c.execute("select * from zxtesting") --- 811,823 ---- c = self.cursor(dynamic) try: ! # make sure None if the result is an empty result set c.execute("select * from zxtesting where 1<0") ! self.assertEquals(None, c.fetchone()) ! # make sure an empty sequence if the result is an empty result set ! c.execute("select * from zxtesting where 1<0") ! self.assertEquals([], c.fetchmany()) ! # make sure an empty sequence if the result is an empty result set ! c.execute("select * from zxtesting where 1<0") ! self.assertEquals([], c.fetchall()) # test some arraysize features c.execute("select * from zxtesting") *************** *** 842,846 **** try: f = c.fetchall() ! assert f is None, "expecting no results since no execute*() has been called" finally: c.close() --- 848,852 ---- try: f = c.fetchall() ! assert not f, "expecting no results since no execute*() has been called" finally: c.close() *************** *** 908,912 **** c.close() ! class LOBTest(zxJDBCTestCase): def _test_blob(self, obj=0): --- 914,957 ---- c.close() ! def _test_fetchapi(self, dynamic=0): ! """Test the public Java API for Fetch""" ! from com.ziclix.python.sql import Fetch, WarningListener ! cur = self.cursor() ! try: ! c = self.db.__connection__ ! stmt = c.prepareStatement("select * from zxtesting where id < ?") ! stmt.setInt(1, 5) ! rs = stmt.executeQuery() ! fetch = Fetch.newFetch(cur.datahandler, dynamic) ! class WL(WarningListener): ! def warning(self, event): ! raise event.getWarning() ! wl = WL() ! fetch.addWarningListener(wl) ! # the RS is closed by Fetch ! fetch.add(rs) ! ! if not dynamic: ! self.assertEquals(4, fetch.getRowCount()) ! assert fetch.fetchone() ! assert fetch.fetchmany(2) ! assert fetch.fetchall() ! assert not fetch.fetchall() ! self.assertEquals(4, fetch.getRowCount()) ! assert fetch.removeWarningListener(wl) ! fetch.close() ! stmt.close() ! finally: ! cur.close() ! ! def testStaticFetchAPI(self): ! """Test static Java Fetch API""" ! self._test_fetchapi(0) ! ! def testDynamicFetchAPI(self): ! """Test dynamic Java Fetch API""" ! self._test_fetchapi(1) ! ! class LOBTestCase(zxJDBCTestCase): def _test_blob(self, obj=0): Index: test.xml =================================================================== RCS file: /cvsroot/jython/jython/Lib/test/zxjdbc/test.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** test.xml 21 Apr 2002 14:22:15 -0000 1.7 --- test.xml 9 May 2002 01:03:37 -0000 1.8 *************** *** 24,27 **** --- 24,28 ---- </testcase> <testcase from="zxtest" import="BCPTestCase"/> + <!--<testcase from="zxtest" import="LOBTestCase"/>--> <testcase from="dbextstest" import="dbextsTestCase"/> </test> *************** *** 83,86 **** --- 84,88 ---- </testcase> <testcase from="zxtest" import="BCPTestCase"/> + <!--<testcase from="zxtest" import="LOBTestCase"/>--> <testcase from="dbextstest" import="dbextsTestCase"/> </test> *************** *** 97,100 **** --- 99,103 ---- <ignore name="testBestRow"/> </testcase> + <!--<testcase from="zxtest" import="LOBTestCase"/>--> <testcase from="zxtest" import="BCPTestCase"/> </test> *************** *** 135,139 **** </vendor> <vendor name="oracle" ! datahandler="com.ziclix.python.sql.handler.OracleDataHandler"> <test name="driver" os="java"> <factory class="com.ziclix.python.sql.zxJDBC" method="connect"> --- 138,143 ---- </vendor> <vendor name="oracle" ! datahandler="com.ziclix.python.sql.handler.OracleDataHandler" ! scroll="TYPE_SCROLL_INSENSITIVE"> <test name="driver" os="java"> <factory class="com.ziclix.python.sql.zxJDBC" method="connect"> *************** *** 146,149 **** --- 150,154 ---- <ignore name="testRowid"/> </testcase> + <!--<testcase from="zxtest" import="LOBTestCase"/>--> <testcase from="zxtest" import="BCPTestCase"/> <testcase from="dbextstest" import="dbextsTestCase"/> *************** *** 162,165 **** --- 167,171 ---- </testcase> <testcase from="zxtest" import="BCPTestCase"/> + <testcase from="zxtest" import="LOBTestCase"/> <testcase from="sptest" import="OracleSPTest"/> </test> *************** *** 190,241 **** </table> </vendor> ! <vendor name="microsoft" ! datahandler="com.ziclix.python.sql.handler.SQLServerDataHandler"> ! <!-- ! <test name="freetds" os="java"> ! <factory class="com.ziclix.python.sql.zxJDBC" method="connect"> ! <argument name="url" value="jdbc:freetds:sqlserver://localhost:1433/ziclix"/> ! <argument name="usr" value="jython"/> ! <argument name="pwd" value="jython"/> ! <argument name="driver" value="com.internetcds.jdbc.tds.Driver"/> ! </factory> ! <testcase from="zxtest" import="zxAPITestCase"> ! <ignore name="testRowid"/> ! </testcase> ! <testcase from="dbextstest" import="dbextsTestCase"> ! <ignore name="testBulkcopy"/> ! <ignore name="testBulkcopyWithDynamicColumns"/> ! </testcase> ! </test> ! --> ! <test name="opta driver" os="java"> ! <factory class="com.ziclix.python.sql.zxJDBC" method="connect"> ! <argument name="url" value="jdbc:inetdae7:localhost:1433?database=ziclix"/> ! <argument name="usr" value="jython"/> ! <argument name="pwd" value="jython"/> ! <argument name="driver" value="com.inet.tds.TdsDriver"/> ! </factory> ! <testcase from="zxtest" import="zxAPITestCase"> ! <ignore name="testRowid"/> ! </testcase> ! <testcase from="dbextstest" import="dbextsTestCase"> ! <ignore name="testBulkcopy"/> ! <ignore name="testBulkcopyWithDynamicColumns"/> ! </testcase> ! <!-- ! <testcase from="sptest" import="SQLServerSPTest"/> ! --> ! </test> <!-- ! <test name="microsoft driver" os="java"> <factory class="com.ziclix.python.sql.zxJDBC" method="connect"> ! <argument name="url" value="jdbc:microsoft:sqlserver://localhost:1433"/> <argument name="usr" value="jython"/> <argument name="pwd" value="jython"/> ! <argument name="driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/> </factory> <testcase from="zxtest" import="zxAPITestCase"> <ignore name="testRowid"/> </testcase> <testcase from="zxtest" import="BCPTestCase"/> <testcase from="dbextstest" import="dbextsTestCase"/> --- 196,214 ---- </table> </vendor> ! <vendor name="netdirect" ! datahandler="com.ziclix.python.sql.handler.SQLServerDataHandler" ! scroll="TYPE_SCROLL_INSENSITIVE"> <!-- ! <test name="driver" os="java"> <factory class="com.ziclix.python.sql.zxJDBC" method="connect"> ! <argument name="url" value="jdbc:JSQLConnect://127.0.0.1:1433/ziclix"/> <argument name="usr" value="jython"/> <argument name="pwd" value="jython"/> ! <argument name="driver" value="com.jnetdirect.jsql.JSQLDriver"/> </factory> <testcase from="zxtest" import="zxAPITestCase"> <ignore name="testRowid"/> </testcase> + <testcase from="zxtest" import="LOBTestCase"/> <testcase from="zxtest" import="BCPTestCase"/> <testcase from="dbextstest" import="dbextsTestCase"/> *************** *** 359,362 **** --- 332,336 ---- </testcase> <testcase from="zxtest" import="BCPTestCase"/> + <!--<testcase from="zxtest" import="LOBTestCase"/>--> <testcase from="dbextstest" import="dbextsTestCase"> <ignore name="testQueryWithMaxRows"/> Index: sptest.py =================================================================== RCS file: /cvsroot/jython/jython/Lib/test/zxjdbc/sptest.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** sptest.py 29 Dec 2001 07:16:55 -0000 1.3 --- sptest.py 9 May 2002 01:03:37 -0000 1.4 *************** *** 49,54 **** errors = c.fetchall() try: ! assert errors is None, "found errors" except AssertionError, e: for a in errors: print a --- 49,55 ---- errors = c.fetchall() try: ! assert not errors, "found errors" except AssertionError, e: + print "printing errors:" for a in errors: print a *************** *** 103,107 **** params = ["testProcin"] c.callproc("procin", params) ! self.assertEquals(None, c.fetchall()) c.execute("select * from sptest") self.assertEquals(1, len(c.fetchall())) --- 104,108 ---- params = ["testProcin"] c.callproc("procin", params) ! self.assertEquals([], c.fetchall()) c.execute("select * from sptest") self.assertEquals(1, len(c.fetchall())) Index: runner.py =================================================================== RCS file: /cvsroot/jython/jython/Lib/test/zxjdbc/runner.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** runner.py 19 Apr 2002 19:01:06 -0000 1.3 --- runner.py 9 May 2002 01:03:37 -0000 1.4 *************** *** 49,52 **** --- 49,53 ---- def __init__(self, name, datahandler=None): self.name = name + self.scroll = None self.datahandler = datahandler self.tests = [] *************** *** 94,97 **** --- 95,100 ---- else: v = Vendor(attrs['name']) + if attrs.has_key('scroll'): + v.scroll = attrs['scroll'] self.vendors.append(v) |