Author: dkeeney
(2009/04/12 06:14) About 3 years ago
test bugfixes
511
self.assertEqual(cur.fetchone(),None,
512
'cursor.fetchone should return None if no more rows available'
513
)
514
self.failUnless(cur.rowcount in (-1,1))
self.failUnless(cur.rowcount in (-1,1),cur.rowcount)
515
finally:
516
con.close()
517
...
567
'cursor.fetchmany should return an empty sequence after '
568
'results are exhausted'
569
570
self.failUnless(cur.rowcount in (-1,6))
self.failUnless(cur.rowcount in (-1,6),cur.rowcount)
571
572
# Same as above, using cursor.arraysize
573
cur.arraysize=4
580
self.assertEqual(len(r),2)
581
r = cur.fetchmany() # Should be an empty sequence
582
self.assertEqual(len(r),0)
583
584
585
cur.arraysize=6
586
cur.execute('select name from %sbooze' % self.table_prefix)
587
rows = cur.fetchmany() # Should get all rows
588
589
self.assertEqual(len(rows),6)
590
591
rows = [r[0] for r in rows]
602
'cursor.fetchmany should return an empty sequence if '
603
'called after the whole result set has been fetched'
604
605
606
607
self.executeDDL2(cur)
608
cur.execute('select name from %sbarflys' % self.table_prefix)
611
612
'query retrieved no rows'
613
614
self.failUnless(cur.rowcount in (-1,0))
self.failUnless(cur.rowcount in (-1,0),cur.rowcount)
615
616
617
635
636
637
rows = cur.fetchall()
638
self.failUnless(cur.rowcount in (-1,len(self.samples)))
self.failUnless(cur.rowcount in (-1,len(self.samples)),cur.rowcount)
639
self.assertEqual(len(rows),len(self.samples),
640
'cursor.fetchall did not retrieve all rows'
641
651
'cursor.fetchall should return an empty list if called '
652
'after the whole result set has been fetched'
653
654
655
656
657
159
def test_grant_privilege(self):
160
con = self._connect()
161
cur = con.cursor()
162
q = "GRANT ALL ON weather to s000015"
q = "GRANT ALL ON %sweather to s000043" % self.table_prefix
163
self.assertRaises(self.driver.ProgrammingError, cur.execute, q)
164
165
def test_closed_connection(self):
166
167
168
self.executeDDL1(cur)
169
q = "SELECT * FROM dbexctest_weather"
q = "SELECT * FROM %sweather" % self.table_prefix
170
171
172
174
175
176
177
178
179
self.assertRaises(self.driver.ProgrammingError, con.commit)
180
187
188
189
190
q="INSERT INTO weather VALUE ('San Francisco', 46, 50, 0.25, '1994-11-27');"
q="INSERT INTO %sweather VALUE ('San Francisco', 46, 50, 0.25, '1994-11-27');"%\
191
self.table_prefix
self.assertRaises(self.driver.ProgrammingError, cur.execute,q)
192
193
def test_fetchone_before_select_query(self):
194
209
210
211
212
q="INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');"
213
q="INSERT INTO %sweather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');"%\
214
cur.execute(q)
215
self.assertRaises(self.driver.ProgrammingError,cur.fetchone)
216
217
219
218
220
221
222
223
224
self.assertRaises(self.driver.ProgrammingError,cur.fetchmany, 10)
225
226
228
229
227
230
231
232
233
self.assertRaises(self.driver.ProgrammingError,cur.fetchall)
234
235
265
269
266
270
267
271
268
q="CREATE TABLE dbexctest_weather (city varchar(80);"
272
q="CREATE TABLE %sweather (city varchar(80);"%self.table_prefix
self.assertRaises(self.driver.ProgrammingError,cur.execute,q)
273
274
def test_copy_table_to_file(self):
275
276
277
278
q="COPY weather TO 'xxx';"
279
q="COPY %sweather TO 'xxx';"%self.table_prefix
280
281
def test_copy_table_from_file(self):
282
283
284
285
q="COPY weather FROM 'xxx';"
286
q="COPY %sweather FROM 'xxx';"%self.table_prefix
287
14
15
connect_args = ()
16
connect_kw_args = {
17
'role' : 's000015',
'role' : 's000043',
18
'authcode' : "KF7IUQPlwfSth4sBvjdqqanHkojAZzEjMshrkfEV0O53yz6w6v" }
'authcode' : "AAGDKHnL4VEAPoeFhtNLDXtdOjRxfo0dAePFgPReSpED0aCOhL" }
19
20
lower_func = 'lower' # For stored procedure test
21
10
driver = rdbhdb
11
12
13
table_prefix = 'extras_' # If you need to specify a prefix for tables
self.failUnless(cur.rowcount in (-1,1),cur.rowcount)self.failUnless(cur.rowcount in (-1,6),cur.rowcount)self.failUnless(cur.rowcount in (-1,6),cur.rowcount)cur.execute('select name from %sbooze' % self.table_prefix)cur.execute('select name from %sbooze' % self.table_prefix)self.failUnless(cur.rowcount in (-1,6),cur.rowcount)self.failUnless(cur.rowcount in (-1,6),cur.rowcount)cur.execute('select name from %sbarflys' % self.table_prefix)cur.execute('select name from %sbarflys' % self.table_prefix)self.failUnless(cur.rowcount in (-1,0),cur.rowcount)cur.execute('select name from %sbooze' % self.table_prefix)cur.execute('select name from %sbooze' % self.table_prefix)self.failUnless(cur.rowcount in (-1,len(self.samples)),cur.rowcount)self.failUnless(cur.rowcount in (-1,len(self.samples)),cur.rowcount)cur.execute('select name from %sbarflys' % self.table_prefix)cur.execute('select name from %sbarflys' % self.table_prefix)q = "GRANT ALL ON weather to s000015"q = "GRANT ALL ON %sweather to s000043" % self.table_prefixq = "SELECT * FROM dbexctest_weather"q = "SELECT * FROM %sweather" % self.table_prefixq = "SELECT * FROM dbexctest_weather"q = "SELECT * FROM %sweather" % self.table_prefixq="INSERT INTO weather VALUE ('San Francisco', 46, 50, 0.25, '1994-11-27');"q="INSERT INTO %sweather VALUE ('San Francisco', 46, 50, 0.25, '1994-11-27');"%\self.table_prefixq="INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');"q="INSERT INTO %sweather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');"%\self.table_prefixq="INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');"q="INSERT INTO %sweather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');"%\self.table_prefixq="INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');"q="INSERT INTO %sweather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');"%\self.table_prefixq="CREATE TABLE dbexctest_weather (city varchar(80);"q="CREATE TABLE %sweather (city varchar(80);"%self.table_prefixq="COPY weather TO 'xxx';"q="COPY %sweather TO 'xxx';"%self.table_prefixq="COPY weather FROM 'xxx';"q="COPY %sweather FROM 'xxx';"%self.table_prefixconnect_kw_args = {connect_kw_args = {'role' : 's000015','role' : 's000043','authcode' : "KF7IUQPlwfSth4sBvjdqqanHkojAZzEjMshrkfEV0O53yz6w6v" }'authcode' : "AAGDKHnL4VEAPoeFhtNLDXtdOjRxfo0dAePFgPReSpED0aCOhL" }connect_kw_args = {connect_kw_args = {'role' : 's000015','role' : 's000043','authcode' : "KF7IUQPlwfSth4sBvjdqqanHkojAZzEjMshrkfEV0O53yz6w6v" }'authcode' : "AAGDKHnL4VEAPoeFhtNLDXtdOjRxfo0dAePFgPReSpED0aCOhL" }connect_kw_args = {connect_kw_args = {'role' : 's000015','role' : 's000043','authcode' : "KF7IUQPlwfSth4sBvjdqqanHkojAZzEjMshrkfEV0O53yz6w6v" }'authcode' : "AAGDKHnL4VEAPoeFhtNLDXtdOjRxfo0dAePFgPReSpED0aCOhL" }connect_kw_args = {connect_kw_args = {'role' : 's000015','role' : 's000043','authcode' : "KF7IUQPlwfSth4sBvjdqqanHkojAZzEjMshrkfEV0O53yz6w6v" }'authcode' : "AAGDKHnL4VEAPoeFhtNLDXtdOjRxfo0dAePFgPReSpED0aCOhL" }connect_kw_args = {connect_kw_args = {'role' : 's000015','role' : 's000043','authcode' : "KF7IUQPlwfSth4sBvjdqqanHkojAZzEjMshrkfEV0O53yz6w6v" }'authcode' : "AAGDKHnL4VEAPoeFhtNLDXtdOjRxfo0dAePFgPReSpED0aCOhL" }connect_kw_args = {connect_kw_args = {'role' : 's000015','role' : 's000043','authcode' : "KF7IUQPlwfSth4sBvjdqqanHkojAZzEjMshrkfEV0O53yz6w6v" }'authcode' : "AAGDKHnL4VEAPoeFhtNLDXtdOjRxfo0dAePFgPReSpED0aCOhL" }connect_kw_args = {connect_kw_args = {'role' : 's000015','role' : 's000043','authcode' : "KF7IUQPlwfSth4sBvjdqqanHkojAZzEjMshrkfEV0O53yz6w6v" }'authcode' : "AAGDKHnL4VEAPoeFhtNLDXtdOjRxfo0dAePFgPReSpED0aCOhL" }