Path: blob/main/singlestoredb/mysql/tests/test_converters.py
469 views
# type: ignore1import datetime2from unittest import TestCase34from singlestoredb import converters5from singlestoredb.mysql.converters import escape_string678__all__ = ['TestConverter']91011class TestConverter(TestCase):1213def test_escape_string(self):14self.assertEqual(escape_string('foo\nbar'), 'foo\\nbar')1516def test_convert_datetime(self):17expected = datetime.datetime(2007, 2, 24, 23, 6, 20)18dt = converters.datetime_or_none('2007-02-24 23:06:20')19self.assertEqual(dt, expected)2021def test_convert_datetime_with_fsp(self):22expected = datetime.datetime(2007, 2, 24, 23, 6, 20, 511581)23dt = converters.datetime_or_none('2007-02-24 23:06:20.511581')24self.assertEqual(dt, expected)2526def _test_convert_timedelta(self, with_negate=False, with_fsp=False):27d = {'hours': 789, 'minutes': 12, 'seconds': 34}28s = '%(hours)s:%(minutes)s:%(seconds)s' % d29if with_fsp:30d['microseconds'] = 51158131s += '.%(microseconds)s' % d3233expected = datetime.timedelta(**d)34if with_negate:35expected = -expected36s = '-' + s3738tdelta = converters.timedelta_or_none(s)39self.assertEqual(tdelta, expected)4041def test_convert_timedelta(self):42self._test_convert_timedelta(with_negate=False, with_fsp=False)43self._test_convert_timedelta(with_negate=True, with_fsp=False)4445def test_convert_timedelta_with_fsp(self):46self._test_convert_timedelta(with_negate=False, with_fsp=True)47self._test_convert_timedelta(with_negate=False, with_fsp=True)4849def test_convert_time(self):50expected = datetime.time(23, 6, 20)51time_obj = converters.time_or_none('23:06:20')52self.assertEqual(time_obj, expected)5354def test_convert_time_with_fsp(self):55expected = datetime.time(23, 6, 20, 511581)56time_obj = converters.time_or_none('23:06:20.511581')57self.assertEqual(time_obj, expected)585960