|
@@ -81,6 +81,27 @@ class OperationWriterTests(SimpleTestCase):
|
|
|
'),'
|
|
|
)
|
|
|
|
|
|
+ def test_nested_args_signature(self):
|
|
|
+ operation = custom_migration_operations.operations.ArgsOperation(
|
|
|
+ custom_migration_operations.operations.ArgsOperation(1, 2),
|
|
|
+ custom_migration_operations.operations.KwargsOperation(kwarg1=3, kwarg2=4)
|
|
|
+ )
|
|
|
+ buff, imports = OperationWriter(operation, indentation=0).serialize()
|
|
|
+ self.assertEqual(imports, {'import custom_migration_operations.operations'})
|
|
|
+ self.assertEqual(
|
|
|
+ buff,
|
|
|
+ 'custom_migration_operations.operations.ArgsOperation(\n'
|
|
|
+ ' arg1=custom_migration_operations.operations.ArgsOperation(\n'
|
|
|
+ ' arg1=1,\n'
|
|
|
+ ' arg2=2,\n'
|
|
|
+ ' ),\n'
|
|
|
+ ' arg2=custom_migration_operations.operations.KwargsOperation(\n'
|
|
|
+ ' kwarg1=3,\n'
|
|
|
+ ' kwarg2=4,\n'
|
|
|
+ ' ),\n'
|
|
|
+ '),'
|
|
|
+ )
|
|
|
+
|
|
|
def test_multiline_args_signature(self):
|
|
|
operation = custom_migration_operations.operations.ArgsOperation("test\n arg1", "test\narg2")
|
|
|
buff, imports = OperationWriter(operation, indentation=0).serialize()
|
|
@@ -107,6 +128,29 @@ class OperationWriterTests(SimpleTestCase):
|
|
|
'),'
|
|
|
)
|
|
|
|
|
|
+ def test_nested_operation_expand_args_signature(self):
|
|
|
+ operation = custom_migration_operations.operations.ExpandArgsOperation(
|
|
|
+ arg=[
|
|
|
+ custom_migration_operations.operations.KwargsOperation(
|
|
|
+ kwarg1=1,
|
|
|
+ kwarg2=2,
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ )
|
|
|
+ buff, imports = OperationWriter(operation, indentation=0).serialize()
|
|
|
+ self.assertEqual(imports, {'import custom_migration_operations.operations'})
|
|
|
+ self.assertEqual(
|
|
|
+ buff,
|
|
|
+ 'custom_migration_operations.operations.ExpandArgsOperation(\n'
|
|
|
+ ' arg=[\n'
|
|
|
+ ' custom_migration_operations.operations.KwargsOperation(\n'
|
|
|
+ ' kwarg1=1,\n'
|
|
|
+ ' kwarg2=2,\n'
|
|
|
+ ' ),\n'
|
|
|
+ ' ],\n'
|
|
|
+ '),'
|
|
|
+ )
|
|
|
+
|
|
|
|
|
|
class WriterTests(TestCase):
|
|
|
"""
|