MCPcopy
hub / github.com/psycopg/psycopg / test_executemany

Method test_executemany

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

Source from the content-addressed store, hash-verified

440 )
441
442 def test_executemany(self):
443 con = self._connect()
444 try:
445 cur = con.cursor()
446 self.executeDDL1(cur)
447 largs = [ ("Cooper's",) , ("Boag's",) ]
448 margs = [ {'beer': "Cooper's"}, {'beer': "Boag's"} ]
449 if self.driver.paramstyle == 'qmark':
450 cur.executemany(
451 'insert into %sbooze values (?)' % self.table_prefix,
452 largs
453 )
454 elif self.driver.paramstyle == 'numeric':
455 cur.executemany(
456 'insert into %sbooze values (:1)' % self.table_prefix,
457 largs
458 )
459 elif self.driver.paramstyle == 'named':
460 cur.executemany(
461 'insert into %sbooze values (:beer)' % self.table_prefix,
462 margs
463 )
464 elif self.driver.paramstyle == 'format':
465 cur.executemany(
466 'insert into %sbooze values (%%s)' % self.table_prefix,
467 largs
468 )
469 elif self.driver.paramstyle == 'pyformat':
470 cur.executemany(
471 'insert into %sbooze values (%%(beer)s)' % (
472 self.table_prefix
473 ),
474 margs
475 )
476 else:
477 self.fail('Unknown paramstyle')
478 self.assertTrue(cur.rowcount in (-1,2),
479 'insert using cursor.executemany set cursor.rowcount to '
480 'incorrect value %r' % cur.rowcount
481 )
482 cur.execute('select name from %sbooze' % self.table_prefix)
483 res = cur.fetchall()
484 self.assertEqual(len(res),2,
485 'cursor.fetchall retrieved incorrect number of rows'
486 )
487 beers = [res[0][0],res[1][0]]
488 beers.sort()
489 self.assertEqual(beers[0],"Boag's",'incorrect data retrieved')
490 self.assertEqual(beers[1],"Cooper's",'incorrect data retrieved')
491 finally:
492 con.close()
493
494 def test_fetchone(self):
495 con = self._connect()

Callers

nothing calls this directly

Calls 8

_connectMethod · 0.95
executeDDL1Method · 0.95
cursorMethod · 0.45
executemanyMethod · 0.45
failMethod · 0.45
executeMethod · 0.45
fetchallMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected