Skip to content

Commit 4012dbd

Browse files
DanielDaniel
Daniel
authored and
Daniel
committed
Add test case and six.binary_type
1 parent 3bf2b74 commit 4012dbd

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

debug_toolbar/panels/sql/tracking.py

+2
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ def _quote_expr(self, element):
8888
return "'%s'" % force_text(element).replace("'", "''")
8989
except DjangoUnicodeDecodeError:
9090
return repr(element)
91+
elif isinstance(element, six.binary_type):
92+
return '(binary data)'
9193
else:
9294
return repr(element)
9395

tests/panels/test_sql.py

+13
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,19 @@ def test_param_conversion(self):
122122
'["2017-12-22 16:07:01"]'
123123
))
124124

125+
@unittest.skipUnless(connection.vendor != 'sqlite',
126+
'Test invalid for SQLite')
127+
def test_binary_param_force_text(self):
128+
self.assertEqual(len(self.panel._queries), 0)
129+
130+
with connection.cursor() as cursor:
131+
cursor.execute("SELECT * FROM auth_user WHERE username = %s", [b'\xff'])
132+
133+
self.assertEqual(len(self.panel._queries), 1)
134+
135+
self.panel.process_response(self.request, self.response)
136+
self.panel.generate_stats(self.request, self.response)
137+
125138
@unittest.skipUnless(connection.vendor != 'sqlite',
126139
'Test invalid for SQLite')
127140
def test_raw_query_param_conversion(self):

0 commit comments

Comments
 (0)