Move generated code to use pydantic · danger/python@4cd53b7 · GitHub
Skip to content

Commit 4cd53b7

Browse files
committed
Move generated code to use pydantic
1 parent 68d3e36 commit 4cd53b7

3 files changed

Lines changed: 17 additions & 16 deletions

File tree

‎danger_python/generator/templates/dsl.py.jinja‎

Lines changed: 4 additions & 3 deletions

‎tests/generator/test_renderer.py‎

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,18 @@ def test_renderer_renders_definitions_correctly():
3737
rendered_code = render_classes(to_render)
3838

3939
assert rendered_code == (
40-
"from dataclasses import dataclass\n"
4140
"from enum import Enum\n"
4241
"from typing import Any, List, Optional\n"
4342
"\n"
43+
"from pydantic import BaseModel\n"
44+
"\n"
4445
"\n"
4546
"class SomeNiceEnum(Enum):\n"
4647
' FIRST_VALUE = "first_value"\n'
4748
' SECOND_VALUE = "second_value"\n'
4849
"\n"
4950
"\n"
50-
"@dataclass\n"
51-
"class APythonClass:\n"
51+
"class APythonClass(BaseModel):\n"
5252
" string_val: str\n"
5353
" int_val: int\n"
5454
"\n"
@@ -67,17 +67,17 @@ def test_renderer_handles_empty_classes_and_enums():
6767
rendered_code = render_classes(to_render)
6868

6969
assert rendered_code == (
70-
"from dataclasses import dataclass\n"
7170
"from enum import Enum\n"
7271
"from typing import Any, List, Optional\n"
7372
"\n"
73+
"from pydantic import BaseModel\n"
74+
"\n"
7475
"\n"
7576
"class EmptyEnum(Enum):\n"
7677
" pass\n"
7778
"\n"
7879
"\n"
79-
"@dataclass\n"
80-
"class EmptyClass:\n"
80+
"class EmptyClass(BaseModel):\n"
8181
" pass\n"
8282
"\n"
8383
)
@@ -120,13 +120,13 @@ def test_renderer_renders_custom_attributes_correctly():
120120
rendered_code = render_classes(to_render)
121121

122122
assert rendered_code == (
123-
"from dataclasses import dataclass\n"
124123
"from enum import Enum\n"
125124
"from typing import Any, List, Optional\n"
126125
"\n"
126+
"from pydantic import BaseModel\n"
127127
"\n"
128-
"@dataclass\n"
129-
"class ClassWithUnknownTypes:\n"
128+
"\n"
129+
"class ClassWithUnknownTypes(BaseModel):\n"
130130
' first_prop: "FirstUnknownType"\n'
131131
' second_prop: List["SecondUnknownType"]\n'
132132
' third_prop: Optional["ThirdUnknownType"]\n'
@@ -163,13 +163,13 @@ def test_renderer_aliases_properties():
163163
rendered_code = render_classes(to_render)
164164

165165
assert rendered_code == (
166-
"from dataclasses import dataclass\n"
167166
"from enum import Enum\n"
168167
"from typing import Any, List, Optional\n"
169168
"\n"
169+
"from pydantic import BaseModel\n"
170+
"\n"
170171
"\n"
171-
"@dataclass\n"
172-
"class ClassWithAliases:\n"
172+
"class ClassWithAliases(BaseModel):\n"
173173
" self_: str\n"
174174
" from_: int\n"
175175
" non_aliased: Optional[str]\n"

‎tests/test_model.py‎

Lines changed: 1 addition & 1 deletion

0 commit comments

Comments
 (0)