Skip to content

Commit e345bec

Browse files
committed
PYTHON-606 Adding integation tests for udt default values
1 parent ab33518 commit e345bec

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

tests/integration/cqlengine/model/test_udts.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,3 +527,38 @@ class User(UserType):
527527
u = User()
528528
u.age = 20
529529
self.assertEqual(20, u.age)
530+
531+
def test_default_values(self):
532+
"""
533+
Test that default types are set on object creation for UDTs
534+
535+
@since 3.7.0
536+
@jira_ticket PYTHON-606
537+
@expected_result Default values should be set.
538+
539+
@test_category data_types:udt
540+
"""
541+
542+
class NestedUdt(UserType):
543+
544+
test_id = columns.UUID(default=uuid4)
545+
something = columns.Text()
546+
default_text = columns.Text(default="default text")
547+
548+
class OuterModel(Model):
549+
550+
name = columns.Text(primary_key=True)
551+
first_name = columns.Text()
552+
nested = columns.List(columns.UserDefinedType(NestedUdt))
553+
simple = columns.UserDefinedType(NestedUdt)
554+
555+
sync_table(OuterModel)
556+
557+
t = OuterModel.create(name='test1')
558+
t.nested = [NestedUdt(something='test')]
559+
t.simple = NestedUdt(something="")
560+
t.save()
561+
self.assertIsNotNone(t.nested[0].test_id)
562+
self.assertEqual(t.nested[0].default_text, "default text")
563+
self.assertIsNotNone(t.simple.test_id)
564+
self.assertEqual(t.simple.default_text, "default text")

0 commit comments

Comments
 (0)