File tree Expand file tree Collapse file tree
tests/integration/cqlengine/model Expand file tree Collapse file tree Original file line number Diff line number Diff 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" )
You can’t perform that action at this time.
0 commit comments