MCPcopy Index your code
hub / github.com/PyMySQL/PyMySQL / test_issue_321

Method test_issue_321

pymysql/tests/test_issues.py:398–424  ·  view source on GitHub ↗

Test iterable as query argument.

(self)

Source from the content-addressed store, hash-verified

396 cur.execute("drop table if exists test_field_count")
397
398 def test_issue_321(self):
399 """Test iterable as query argument."""
400 conn = pymysql.connect(charset="utf8", **self.databases[0])
401 self.safe_create_table(
402 conn,
403 "issue321",
404 "create table issue321 (value_1 varchar(1), value_2 varchar(1))",
405 )
406
407 sql_insert = "insert into issue321 (value_1, value_2) values (%s, %s)"
408 sql_dict_insert = (
409 "insert into issue321 (value_1, value_2) values (%(value_1)s, %(value_2)s)"
410 )
411 sql_select = "select * from issue321 where value_1 in %s and value_2=%s"
412 data = [
413 [("a",), "\u0430"],
414 [["b"], "\u0430"],
415 {"value_1": [["c"]], "value_2": "\u0430"},
416 ]
417 cur = conn.cursor()
418 self.assertEqual(cur.execute(sql_insert, data[0]), 1)
419 self.assertEqual(cur.execute(sql_insert, data[1]), 1)
420 self.assertEqual(cur.execute(sql_dict_insert, data[2]), 1)
421 self.assertEqual(cur.execute(sql_select, [("a", "b", "c"), "\u0430"]), 3)
422 self.assertEqual(cur.fetchone(), ("a", "\u0430"))
423 self.assertEqual(cur.fetchone(), ("b", "\u0430"))
424 self.assertEqual(cur.fetchone(), ("c", "\u0430"))
425
426 def test_issue_364(self):
427 """Test mixed unicode/binary arguments in executemany."""

Callers

nothing calls this directly

Calls 5

safe_create_tableMethod · 0.80
cursorMethod · 0.80
executeMethod · 0.80
connectMethod · 0.45
fetchoneMethod · 0.45

Tested by

no test coverage detected