From e345becabbec0edc19f07a47b8169a3ad37b5d37 Mon Sep 17 00:00:00 2001 From: GregBestland Date: Wed, 17 Aug 2016 16:15:43 -0500 Subject: [PATCH] PYTHON-606 Adding integation tests for udt default values --- .../integration/cqlengine/model/test_udts.py | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tests/integration/cqlengine/model/test_udts.py b/tests/integration/cqlengine/model/test_udts.py index dc7eb134c0..bb876d800d 100644 --- a/tests/integration/cqlengine/model/test_udts.py +++ b/tests/integration/cqlengine/model/test_udts.py @@ -527,3 +527,38 @@ class User(UserType): u = User() u.age = 20 self.assertEqual(20, u.age) + + def test_default_values(self): + """ + Test that default types are set on object creation for UDTs + + @since 3.7.0 + @jira_ticket PYTHON-606 + @expected_result Default values should be set. + + @test_category data_types:udt + """ + + class NestedUdt(UserType): + + test_id = columns.UUID(default=uuid4) + something = columns.Text() + default_text = columns.Text(default="default text") + + class OuterModel(Model): + + name = columns.Text(primary_key=True) + first_name = columns.Text() + nested = columns.List(columns.UserDefinedType(NestedUdt)) + simple = columns.UserDefinedType(NestedUdt) + + sync_table(OuterModel) + + t = OuterModel.create(name='test1') + t.nested = [NestedUdt(something='test')] + t.simple = NestedUdt(something="") + t.save() + self.assertIsNotNone(t.nested[0].test_id) + self.assertEqual(t.nested[0].default_text, "default text") + self.assertIsNotNone(t.simple.test_id) + self.assertEqual(t.simple.default_text, "default text")