MCPcopy Create free account
hub / github.com/PyMySQL/PyMySQL / TestConversion

Class TestConversion

pymysql/tests/test_basic.py:13–202  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11
12
13class TestConversion(base.PyMySQLTestCase):
14 def test_datatypes(self):
15 """test every data type"""
16 conn = self.connect()
17 c = conn.cursor()
18 c.execute(
19 """
20create table test_datatypes (
21 b bit,
22 i int,
23 l bigint,
24 f real,
25 s varchar(32),
26 u varchar(32),
27 bb blob,
28 d date,
29 dt datetime,
30 ts timestamp,
31 td time,
32 t time,
33 st datetime)
34"""
35 )
36 try:
37 # insert values
38
39 v = (
40 True,
41 -3,
42 123456789012,
43 5.7,
44 "hello'\" world",
45 "Espa\xc3\xb1ol",
46 "binary\x00data".encode(conn.encoding),
47 datetime.date(1988, 2, 2),
48 datetime.datetime(2014, 5, 15, 7, 45, 57),
49 datetime.timedelta(5, 6),
50 datetime.time(16, 32),
51 time.localtime(),
52 )
53 c.execute(
54 "insert into test_datatypes (b,i,l,f,s,u,bb,d,dt,td,t,st) values"
55 " (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",
56 v,
57 )
58 c.execute("select b,i,l,f,s,u,bb,d,dt,td,t,st from test_datatypes")
59 r = c.fetchone()
60 self.assertEqual(b"\x01", r[0])
61 self.assertEqual(v[1:10], r[1:10])
62 self.assertEqual(
63 datetime.timedelta(0, 60 * (v[10].hour * 60 + v[10].minute)), r[10]
64 )
65 self.assertEqual(datetime.datetime(*v[-1][:6]), r[-1])
66
67 c.execute("delete from test_datatypes")
68
69 # check nulls
70 c.execute(

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected