68 lines
2.1 KiB
Python
68 lines
2.1 KiB
Python
#tests the behavior of the column classes
|
|
from datetime import datetime
|
|
from decimal import Decimal as D
|
|
|
|
from cqlengine.tests.base import BaseCassEngTestCase
|
|
|
|
from cqlengine.columns import Column
|
|
from cqlengine.columns import Bytes
|
|
from cqlengine.columns import Ascii
|
|
from cqlengine.columns import Text
|
|
from cqlengine.columns import Integer
|
|
from cqlengine.columns import DateTime
|
|
from cqlengine.columns import UUID
|
|
from cqlengine.columns import Boolean
|
|
from cqlengine.columns import Float
|
|
from cqlengine.columns import Decimal
|
|
|
|
from cqlengine.management import create_column_family, delete_column_family
|
|
from cqlengine.models import Model
|
|
|
|
class TestDatetime(BaseCassEngTestCase):
|
|
class DatetimeTest(Model):
|
|
test_id = Integer(primary_key=True)
|
|
created_at = DateTime()
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super(TestDatetime, cls).setUpClass()
|
|
create_column_family(cls.DatetimeTest)
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
super(TestDatetime, cls).tearDownClass()
|
|
delete_column_family(cls.DatetimeTest)
|
|
|
|
def test_datetime_io(self):
|
|
now = datetime.now()
|
|
dt = self.DatetimeTest.objects.create(test_id=0, created_at=now)
|
|
dt2 = self.DatetimeTest.objects(test_id=0).first()
|
|
assert dt2.created_at.timetuple()[:6] == now.timetuple()[:6]
|
|
|
|
class TestDecimal(BaseCassEngTestCase):
|
|
class DecimalTest(Model):
|
|
test_id = Integer(primary_key=True)
|
|
dec_val = Decimal()
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super(TestDecimal, cls).setUpClass()
|
|
create_column_family(cls.DecimalTest)
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
super(TestDecimal, cls).tearDownClass()
|
|
delete_column_family(cls.DecimalTest)
|
|
|
|
def test_datetime_io(self):
|
|
dt = self.DecimalTest.objects.create(test_id=0, dec_val=D('0.00'))
|
|
dt2 = self.DecimalTest.objects(test_id=0).first()
|
|
assert dt2.dec_val == dt.dec_val
|
|
|
|
dt = self.DecimalTest.objects.create(test_id=0, dec_val=5)
|
|
dt2 = self.DecimalTest.objects(test_id=0).first()
|
|
assert dt2.dec_val == D('5')
|
|
|
|
|
|
|