Merge pull request #530 from datastax/273-test
PYTHON-273 adding simple test for datetime microsecond truncation
This commit is contained in:
@@ -105,6 +105,29 @@ class TestDatetime(BaseCassEngTestCase):
|
|||||||
dt2 = self.DatetimeTest.objects(test_id=6).first()
|
dt2 = self.DatetimeTest.objects(test_id=6).first()
|
||||||
assert dt2.created_at == dt_value
|
assert dt2.created_at == dt_value
|
||||||
|
|
||||||
|
def test_datetime_truncate_microseconds(self):
|
||||||
|
"""
|
||||||
|
Test to ensure that truncate microseconds works as expected.
|
||||||
|
This will be default behavior in the future and we will need to modify the tests to comply
|
||||||
|
with new behavior
|
||||||
|
|
||||||
|
@since 3.2
|
||||||
|
@jira_ticket PYTHON-273
|
||||||
|
@expected_result microseconds should be to the nearest thousand when truncate is set.
|
||||||
|
|
||||||
|
@test_category object_mapper
|
||||||
|
"""
|
||||||
|
DateTime.truncate_microseconds = True
|
||||||
|
try:
|
||||||
|
dt_value = datetime(2024, 12, 31, 10, 10, 10, 923567)
|
||||||
|
dt_truncated = datetime(2024, 12, 31, 10, 10, 10, 923000)
|
||||||
|
self.DatetimeTest.objects.create(test_id=6, created_at=dt_value)
|
||||||
|
dt2 = self.DatetimeTest.objects(test_id=6).first()
|
||||||
|
self.assertEqual(dt2.created_at,dt_truncated)
|
||||||
|
finally:
|
||||||
|
# We need to always return behavior to default
|
||||||
|
DateTime.truncate_microseconds = False
|
||||||
|
|
||||||
|
|
||||||
class TestBoolDefault(BaseCassEngTestCase):
|
class TestBoolDefault(BaseCassEngTestCase):
|
||||||
class BoolDefaultValueTest(Model):
|
class BoolDefaultValueTest(Model):
|
||||||
@@ -122,6 +145,7 @@ class TestBoolDefault(BaseCassEngTestCase):
|
|||||||
tmp2 = self.BoolDefaultValueTest.get(test_id=1)
|
tmp2 = self.BoolDefaultValueTest.get(test_id=1)
|
||||||
self.assertEqual(True, tmp2.stuff)
|
self.assertEqual(True, tmp2.stuff)
|
||||||
|
|
||||||
|
|
||||||
class TestBoolValidation(BaseCassEngTestCase):
|
class TestBoolValidation(BaseCassEngTestCase):
|
||||||
class BoolValidationTest(Model):
|
class BoolValidationTest(Model):
|
||||||
|
|
||||||
@@ -138,6 +162,7 @@ class TestBoolValidation(BaseCassEngTestCase):
|
|||||||
test_obj.validate()
|
test_obj.validate()
|
||||||
self.assertIsNone(test_obj.bool_column)
|
self.assertIsNone(test_obj.bool_column)
|
||||||
|
|
||||||
|
|
||||||
class TestVarInt(BaseCassEngTestCase):
|
class TestVarInt(BaseCassEngTestCase):
|
||||||
class VarIntTest(Model):
|
class VarIntTest(Model):
|
||||||
|
|
||||||
@@ -228,6 +253,7 @@ class TestDecimal(BaseCassEngTestCase):
|
|||||||
dt2 = self.DecimalTest.objects(test_id=0).first()
|
dt2 = self.DecimalTest.objects(test_id=0).first()
|
||||||
assert dt2.dec_val == D('5')
|
assert dt2.dec_val == D('5')
|
||||||
|
|
||||||
|
|
||||||
class TestUUID(BaseCassEngTestCase):
|
class TestUUID(BaseCassEngTestCase):
|
||||||
class UUIDTest(Model):
|
class UUIDTest(Model):
|
||||||
|
|
||||||
@@ -261,6 +287,7 @@ class TestUUID(BaseCassEngTestCase):
|
|||||||
t1 = self.UUIDTest.get(test_id=0)
|
t1 = self.UUIDTest.get(test_id=0)
|
||||||
assert a_uuid == t1.a_uuid
|
assert a_uuid == t1.a_uuid
|
||||||
|
|
||||||
|
|
||||||
class TestTimeUUID(BaseCassEngTestCase):
|
class TestTimeUUID(BaseCassEngTestCase):
|
||||||
class TimeUUIDTest(Model):
|
class TimeUUIDTest(Model):
|
||||||
|
|
||||||
@@ -285,6 +312,7 @@ class TestTimeUUID(BaseCassEngTestCase):
|
|||||||
|
|
||||||
assert t1.timeuuid.time == t1.timeuuid.time
|
assert t1.timeuuid.time == t1.timeuuid.time
|
||||||
|
|
||||||
|
|
||||||
class TestInteger(BaseCassEngTestCase):
|
class TestInteger(BaseCassEngTestCase):
|
||||||
class IntegerTest(Model):
|
class IntegerTest(Model):
|
||||||
|
|
||||||
@@ -296,6 +324,7 @@ class TestInteger(BaseCassEngTestCase):
|
|||||||
it = self.IntegerTest()
|
it = self.IntegerTest()
|
||||||
it.validate()
|
it.validate()
|
||||||
|
|
||||||
|
|
||||||
class TestBigInt(BaseCassEngTestCase):
|
class TestBigInt(BaseCassEngTestCase):
|
||||||
class BigIntTest(Model):
|
class BigIntTest(Model):
|
||||||
|
|
||||||
@@ -307,6 +336,7 @@ class TestBigInt(BaseCassEngTestCase):
|
|||||||
it = self.BigIntTest()
|
it = self.BigIntTest()
|
||||||
it.validate()
|
it.validate()
|
||||||
|
|
||||||
|
|
||||||
class TestText(BaseCassEngTestCase):
|
class TestText(BaseCassEngTestCase):
|
||||||
|
|
||||||
def test_min_length(self):
|
def test_min_length(self):
|
||||||
@@ -352,8 +382,6 @@ class TestText(BaseCassEngTestCase):
|
|||||||
Text().validate(None)
|
Text().validate(None)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TestExtraFieldsRaiseException(BaseCassEngTestCase):
|
class TestExtraFieldsRaiseException(BaseCassEngTestCase):
|
||||||
class TestModel(Model):
|
class TestModel(Model):
|
||||||
|
|
||||||
@@ -363,6 +391,7 @@ class TestExtraFieldsRaiseException(BaseCassEngTestCase):
|
|||||||
with self.assertRaises(ValidationError):
|
with self.assertRaises(ValidationError):
|
||||||
self.TestModel.create(bacon=5000)
|
self.TestModel.create(bacon=5000)
|
||||||
|
|
||||||
|
|
||||||
class TestPythonDoesntDieWhenExtraFieldIsInCassandra(BaseCassEngTestCase):
|
class TestPythonDoesntDieWhenExtraFieldIsInCassandra(BaseCassEngTestCase):
|
||||||
class TestModel(Model):
|
class TestModel(Model):
|
||||||
|
|
||||||
@@ -376,6 +405,7 @@ class TestPythonDoesntDieWhenExtraFieldIsInCassandra(BaseCassEngTestCase):
|
|||||||
execute("ALTER TABLE {0} add blah int".format(self.TestModel.column_family_name(include_keyspace=True)))
|
execute("ALTER TABLE {0} add blah int".format(self.TestModel.column_family_name(include_keyspace=True)))
|
||||||
self.TestModel.objects().all()
|
self.TestModel.objects().all()
|
||||||
|
|
||||||
|
|
||||||
class TestTimeUUIDFromDatetime(BaseCassEngTestCase):
|
class TestTimeUUIDFromDatetime(BaseCassEngTestCase):
|
||||||
def test_conversion_specific_date(self):
|
def test_conversion_specific_date(self):
|
||||||
dt = datetime(1981, 7, 11, microsecond=555000)
|
dt = datetime(1981, 7, 11, microsecond=555000)
|
||||||
@@ -391,6 +421,7 @@ class TestTimeUUIDFromDatetime(BaseCassEngTestCase):
|
|||||||
# checks that we created a UUID1 with the proper timestamp
|
# checks that we created a UUID1 with the proper timestamp
|
||||||
assert new_dt == dt
|
assert new_dt == dt
|
||||||
|
|
||||||
|
|
||||||
class TestInet(BaseCassEngTestCase):
|
class TestInet(BaseCassEngTestCase):
|
||||||
|
|
||||||
class InetTestModel(Model):
|
class InetTestModel(Model):
|
||||||
|
|||||||
Reference in New Issue
Block a user