MCPcopy Index your code
hub / github.com/davispuh/MySQL-for-Python-3 / test_executemany

Method test_executemany

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

Source from the content-addressed store, hash-verified

424 )
425
426 def test_executemany(self):
427 con = self._connect()
428 try:
429 cur = con.cursor()
430 self.executeDDL1(cur)
431 largs = [ ("Cooper's",) , ("Boag's",) ]
432 margs = [ {'beer': "Cooper's"}, {'beer': "Boag's"} ]
433 if self.driver.paramstyle == 'qmark':
434 cur.executemany(
435 'insert into %sbooze values ({!s})' % self.table_prefix,
436 largs
437 )
438 elif self.driver.paramstyle == 'numeric':
439 cur.executemany(
440 'insert into %sbooze values ({:1})' % self.table_prefix,
441 largs
442 )
443 elif self.driver.paramstyle == 'named':
444 cur.executemany(
445 'insert into %sbooze values ({beer})' % self.table_prefix,
446 margs
447 )
448 elif self.driver.paramstyle == 'format':
449 cur.executemany(
450 'insert into %sbooze values ({!s})' % self.table_prefix,
451 largs
452 )
453 elif self.driver.paramstyle == 'pyformat':
454 cur.executemany(
455 'insert into %sbooze values ({beer})' % (
456 self.table_prefix
457 ),
458 margs
459 )
460 else:
461 self.fail('Unknown paramstyle')
462 self.assertTrue(cur.rowcount in (-1,2),
463 'insert using cursor.executemany set cursor.rowcount to '
464 'incorrect value %r' % cur.rowcount
465 )
466 cur.execute('select name from %sbooze' % self.table_prefix)
467 res = cur.fetchall()
468 self.assertEqual(len(res),2,
469 'cursor.fetchall retrieved incorrect number of rows'
470 )
471 beers = [res[0][0],res[1][0]]
472 beers.sort()
473 self.assertEqual(beers[0],"Boag's",'incorrect data retrieved')
474 self.assertEqual(beers[1],"Cooper's",'incorrect data retrieved')
475 finally:
476 con.close()
477
478 def test_fetchone(self):
479 con = self._connect()

Callers

nothing calls this directly

Calls 7

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

Tested by

no test coverage detected