MCPcopy
hub / github.com/psycopg/psycopg / test_fetchone

Method test_fetchone

tests/dbapi20.py:494–535  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

492 con.close()
493
494 def test_fetchone(self):
495 con = self._connect()
496 try:
497 cur = con.cursor()
498
499 # cursor.fetchone should raise an Error if called before
500 # executing a select-type query
501 self.assertRaises(self.driver.Error,cur.fetchone)
502
503 # cursor.fetchone should raise an Error if called after
504 # executing a query that cannot return rows
505 self.executeDDL1(cur)
506 self.assertRaises(self.driver.Error,cur.fetchone)
507
508 cur.execute('select name from %sbooze' % self.table_prefix)
509 self.assertEqual(cur.fetchone(),None,
510 'cursor.fetchone should return None if a query retrieves '
511 'no rows'
512 )
513 self.assertTrue(cur.rowcount in (-1,0))
514
515 # cursor.fetchone should raise an Error if called after
516 # executing a query that cannot return rows
517 cur.execute("insert into %sbooze values ('Victoria Bitter')" % (
518 self.table_prefix
519 ))
520 self.assertRaises(self.driver.Error,cur.fetchone)
521
522 cur.execute('select name from %sbooze' % self.table_prefix)
523 r = cur.fetchone()
524 self.assertEqual(len(r),1,
525 'cursor.fetchone should have retrieved a single row'
526 )
527 self.assertEqual(r[0],'Victoria Bitter',
528 'cursor.fetchone retrieved incorrect data'
529 )
530 self.assertEqual(cur.fetchone(),None,
531 'cursor.fetchone should return None if no more rows available'
532 )
533 self.assertTrue(cur.rowcount in (-1,1))
534 finally:
535 con.close()
536
537 samples = [
538 'Carlton Cold',

Callers

nothing calls this directly

Calls 6

_connectMethod · 0.95
executeDDL1Method · 0.95
cursorMethod · 0.45
executeMethod · 0.45
fetchoneMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected