@@ -58,7 +58,7 @@ def test_execute_with_converter(self):
58
58
# Use the set of data type converters from `DefaultTypeConverter`
59
59
# and add another custom converter.
60
60
converter = Cursor .get_default_converter ()
61
- converter .set (CrateDatatypeIdentifier .BIT , lambda value : int (value [2 :- 1 ], 2 ))
61
+ converter .set (CrateDatatypeIdentifier .BIT , lambda value : value is not None and int (value [2 :- 1 ], 2 ) or None )
62
62
63
63
# Create a `Cursor` object with converter.
64
64
c = conn .cursor (converter = converter )
@@ -68,18 +68,29 @@ def test_execute_with_converter(self):
68
68
conn .client .set_next_response ({
69
69
"col_types" : [4 , 5 , 11 , 25 ],
70
70
"cols" : ["name" , "address" , "timestamp" , "bitmask" ],
71
- "rows" : [["foo" , "10.10.10.1" , 1658167836758 , "B'0110'" ]],
71
+ "rows" : [
72
+ ["foo" , "10.10.10.1" , 1658167836758 , "B'0110'" ],
73
+ [None , None , None , None ],
74
+ ],
72
75
"rowcount" : 1 ,
73
76
"duration" : 123
74
77
})
75
78
76
79
c .execute ("" )
77
- result = c .fetchone ()
80
+ result = c .fetchall ()
78
81
self .assertEqual (result , [
79
- 'foo' ,
80
- IPv4Address ('10.10.10.1' ),
81
- datetime (2022 , 7 , 18 , 18 , 10 , 36 , 758000 ),
82
- 6
82
+ [
83
+ 'foo' ,
84
+ IPv4Address ('10.10.10.1' ),
85
+ datetime (2022 , 7 , 18 , 18 , 10 , 36 , 758000 ),
86
+ 6 ,
87
+ ],
88
+ [
89
+ None ,
90
+ None ,
91
+ None ,
92
+ None ,
93
+ ],
83
94
])
84
95
85
96
# When removing the converters, all values are forwarded 1:1.
0 commit comments