unit test for dateutil and pytz

This commit is contained in:
Stephen J. Fuhry
2014-04-05 15:21:47 -04:00
parent be5487cdb1
commit c34747e8a7

View File

@@ -4,21 +4,18 @@ import sqlalchemy as sa
from sqlalchemy_utils.types import timezone from sqlalchemy_utils.types import timezone
from tests import TestCase from tests import TestCase
import dateutil
try: import pytz
import dateutil
except ImportError:
dateutil = None
@mark.skipif('dateutil is None')
class TestTimezoneType(TestCase): class TestTimezoneType(TestCase):
def create_models(self): def create_models(self):
class Visitor(self.Base): class Visitor(self.Base):
__tablename__ = 'document' __tablename__ = 'document'
id = sa.Column(sa.Integer, primary_key=True) id = sa.Column(sa.Integer, primary_key=True)
timezone = sa.Column(timezone.TimezoneType) timezone_dateutil = sa.Column(timezone.TimezoneType(
backend='dateutil'))
timezone_pytz = sa.Column(timezone.TimezoneType(backend='pytz'))
def __repr__(self): def __repr__(self):
return 'Visitor(%r)' % self.id return 'Visitor(%r)' % self.id
@@ -27,13 +24,17 @@ class TestTimezoneType(TestCase):
def test_parameter_processing(self): def test_parameter_processing(self):
visitor = self.Visitor( visitor = self.Visitor(
timezone=u'America/Los_Angeles' timezone_dateutil=u'America/Los_Angeles',
timezone_pytz=u'America/Los_Angeles'
) )
self.session.add(visitor) self.session.add(visitor)
self.session.commit() self.session.commit()
visitor = self.session.query(self.Visitor).filter_by( visitor_dateutil = self.session.query(self.Visitor).filter_by(
timezone='America/Los_Angeles').first() timezone_dateutil='America/Los_Angeles').first()
visitor_pytz = self.session.query(self.Visitor).filter_by(
timezone_pytz='America/Los_Angeles').first()
assert visitor is not None assert visitor_dateutil is not None
assert visitor_pytz is not None