From cd0006ba3e1b157209d8c27aafb3a5dc982cb5e6 Mon Sep 17 00:00:00 2001 From: bpsoos Date: Fri, 28 Jun 2024 17:11:27 +0200 Subject: [PATCH] :recycle: refactors csv json yaml and general expectations Signed-off-by: bpsoos --- .../output.py => csv/csv_file_simple.py} | 0 .../output.py => csv/csv_stdin_simple.py} | 0 .../{main_json/output.py => json/general.py} | 0 .../json_array_include_null.py} | 0 .../output.py => json/json_reuse_model.py} | 0 .../json_snake_case_field.py} | 0 .../simple_json_snake_case_field.py} | 0 .../space_and_special_characters.py} | 0 ...yped_dict_space_and_special_characters.py} | 0 .../main/main_custom_template_dir/output.py | 61 --- .../main/main_pattern_msgspec/output.py | 25 -- .../main/main_pattern_pydantic_v2/output.py | 22 - .../main_use_operation_id_as_name/output.py | 73 ---- ...y => space_and_special_characters_dict.py} | 0 .../main/{main_yaml/output.py => yaml.py} | 0 tests/main/jsonschema/test_main_jsonschema.py | 375 +++++++----------- tests/main/openapi/test_main_openapi.py | 287 ++++++-------- tests/main/test_main_csv.py | 5 +- tests/main/test_main_general.py | 4 +- tests/main/test_main_json.py | 28 +- tests/main/test_main_yaml.py | 5 +- 21 files changed, 264 insertions(+), 621 deletions(-) rename tests/data/expected/main/{csv_file_simple/output.py => csv/csv_file_simple.py} (100%) rename tests/data/expected/main/{csv_stdin_simple/output.py => csv/csv_stdin_simple.py} (100%) rename tests/data/expected/main/{main_json/output.py => json/general.py} (100%) rename tests/data/expected/main/{main_json_array_include_null/output.py => json/json_array_include_null.py} (100%) rename tests/data/expected/main/{main_json_reuse_model/output.py => json/json_reuse_model.py} (100%) rename tests/data/expected/main/{main_json_snake_case_field/output.py => json/json_snake_case_field.py} (100%) rename tests/data/expected/main/{simple_json_snake_case_field/output.py => json/simple_json_snake_case_field.py} (100%) rename tests/data/expected/main/{space_and_special_characters/output.py => json/space_and_special_characters.py} (100%) rename tests/data/expected/main/{main_typed_dict_space_and_special_characters/output.py => json/typed_dict_space_and_special_characters.py} (100%) delete mode 100644 tests/data/expected/main/main_custom_template_dir/output.py delete mode 100644 tests/data/expected/main/main_pattern_msgspec/output.py delete mode 100644 tests/data/expected/main/main_pattern_pydantic_v2/output.py delete mode 100644 tests/data/expected/main/main_use_operation_id_as_name/output.py rename tests/data/expected/main/{space_and_special_characters_dict/output.py => space_and_special_characters_dict.py} (100%) rename tests/data/expected/main/{main_yaml/output.py => yaml.py} (100%) diff --git a/tests/data/expected/main/csv_file_simple/output.py b/tests/data/expected/main/csv/csv_file_simple.py similarity index 100% rename from tests/data/expected/main/csv_file_simple/output.py rename to tests/data/expected/main/csv/csv_file_simple.py diff --git a/tests/data/expected/main/csv_stdin_simple/output.py b/tests/data/expected/main/csv/csv_stdin_simple.py similarity index 100% rename from tests/data/expected/main/csv_stdin_simple/output.py rename to tests/data/expected/main/csv/csv_stdin_simple.py diff --git a/tests/data/expected/main/main_json/output.py b/tests/data/expected/main/json/general.py similarity index 100% rename from tests/data/expected/main/main_json/output.py rename to tests/data/expected/main/json/general.py diff --git a/tests/data/expected/main/main_json_array_include_null/output.py b/tests/data/expected/main/json/json_array_include_null.py similarity index 100% rename from tests/data/expected/main/main_json_array_include_null/output.py rename to tests/data/expected/main/json/json_array_include_null.py diff --git a/tests/data/expected/main/main_json_reuse_model/output.py b/tests/data/expected/main/json/json_reuse_model.py similarity index 100% rename from tests/data/expected/main/main_json_reuse_model/output.py rename to tests/data/expected/main/json/json_reuse_model.py diff --git a/tests/data/expected/main/main_json_snake_case_field/output.py b/tests/data/expected/main/json/json_snake_case_field.py similarity index 100% rename from tests/data/expected/main/main_json_snake_case_field/output.py rename to tests/data/expected/main/json/json_snake_case_field.py diff --git a/tests/data/expected/main/simple_json_snake_case_field/output.py b/tests/data/expected/main/json/simple_json_snake_case_field.py similarity index 100% rename from tests/data/expected/main/simple_json_snake_case_field/output.py rename to tests/data/expected/main/json/simple_json_snake_case_field.py diff --git a/tests/data/expected/main/space_and_special_characters/output.py b/tests/data/expected/main/json/space_and_special_characters.py similarity index 100% rename from tests/data/expected/main/space_and_special_characters/output.py rename to tests/data/expected/main/json/space_and_special_characters.py diff --git a/tests/data/expected/main/main_typed_dict_space_and_special_characters/output.py b/tests/data/expected/main/json/typed_dict_space_and_special_characters.py similarity index 100% rename from tests/data/expected/main/main_typed_dict_space_and_special_characters/output.py rename to tests/data/expected/main/json/typed_dict_space_and_special_characters.py diff --git a/tests/data/expected/main/main_custom_template_dir/output.py b/tests/data/expected/main/main_custom_template_dir/output.py deleted file mode 100644 index 535dd20a3..000000000 --- a/tests/data/expected/main/main_custom_template_dir/output.py +++ /dev/null @@ -1,61 +0,0 @@ -# generated by datamodel-codegen: -# filename: api.yaml -# timestamp: 1985-10-26T08:21:00+00:00 - -from __future__ import annotations - -from typing import List, Optional - -from pydantic import AnyUrl, BaseModel, Field - - -class Pet(BaseModel): # 1 2, 1 2, this is just a pet - id: int - name: str - tag: Optional[str] = None - - -class Pets(BaseModel): - __root__: List[Pet] - - -class User(BaseModel): - id: int - name: str - tag: Optional[str] = None - - -class Users(BaseModel): - __root__: List[User] - - -class Id(BaseModel): - __root__: str - - -class Rules(BaseModel): - __root__: List[str] - - -class Error(BaseModel): - code: int - message: str - - -class Api(BaseModel): - apiKey: Optional[str] = None - apiVersionNumber: Optional[str] = None - apiUrl: Optional[AnyUrl] = None - apiDocumentationUrl: Optional[AnyUrl] = None - - -class Apis(BaseModel): - __root__: List[Api] - - -class Event(BaseModel): - name: Optional[str] = None - - -class Result(BaseModel): - event: Optional[Event] = None diff --git a/tests/data/expected/main/main_pattern_msgspec/output.py b/tests/data/expected/main/main_pattern_msgspec/output.py deleted file mode 100644 index ff718d9f7..000000000 --- a/tests/data/expected/main/main_pattern_msgspec/output.py +++ /dev/null @@ -1,25 +0,0 @@ -# generated by datamodel-codegen: -# filename: pattern.json -# timestamp: 2019-07-26T00:00:00+00:00 - -from __future__ import annotations - -from typing import Annotated, Optional - -from msgspec import Meta, Struct - - -class Info(Struct): - hostName: Optional[str] = None - arn: Optional[ - Annotated[ - str, - Meta(pattern='(^arn:([^:]*):([^:]*):([^:]*):(|\\*|[\\d]{12}):(.+)$)|^\\*$'), - ] - ] = None - tel: Optional[ - Annotated[str, Meta(pattern='^(\\([0-9]{3}\\))?[0-9]{3}-[0-9]{4}$')] - ] = None - comment: Optional[ - Annotated[str, Meta(pattern='[^\\b\\f\\n\\r\\t\\\\a+.?\'"|()]+$')] - ] = None diff --git a/tests/data/expected/main/main_pattern_pydantic_v2/output.py b/tests/data/expected/main/main_pattern_pydantic_v2/output.py deleted file mode 100644 index e14ff6a55..000000000 --- a/tests/data/expected/main/main_pattern_pydantic_v2/output.py +++ /dev/null @@ -1,22 +0,0 @@ -# generated by datamodel-codegen: -# filename: pattern.json -# timestamp: 2019-07-26T00:00:00+00:00 - -from __future__ import annotations - -from typing import Optional - -from pydantic import BaseModel, constr - - -class Info(BaseModel): - hostName: Optional[ - constr( - pattern=r'^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]{0,61}[A-Za-z0-9])$' - ) - ] = None - arn: Optional[ - constr(pattern=r'(^arn:([^:]*):([^:]*):([^:]*):(|\*|[\d]{12}):(.+)$)|^\*$') - ] = None - tel: Optional[constr(pattern=r'^(\([0-9]{3}\))?[0-9]{3}-[0-9]{4}$')] = None - comment: Optional[constr(pattern=r'[^\b\f\n\r\t\\a+.?\'"|()]+$')] = None diff --git a/tests/data/expected/main/main_use_operation_id_as_name/output.py b/tests/data/expected/main/main_use_operation_id_as_name/output.py deleted file mode 100644 index 38fdbe45a..000000000 --- a/tests/data/expected/main/main_use_operation_id_as_name/output.py +++ /dev/null @@ -1,73 +0,0 @@ -# generated by datamodel-codegen: -# filename: api.yaml -# timestamp: 2019-07-26T00:00:00+00:00 - -from __future__ import annotations - -from typing import List, Optional - -from pydantic import AnyUrl, BaseModel, Field - - -class Pet(BaseModel): - id: int - name: str - tag: Optional[str] = None - - -class Pets(BaseModel): - __root__: List[Pet] - - -class User(BaseModel): - id: int - name: str - tag: Optional[str] = None - - -class Users(BaseModel): - __root__: List[User] - - -class Id(BaseModel): - __root__: str - - -class Rules(BaseModel): - __root__: List[str] - - -class Error(BaseModel): - code: int - message: str - - -class Api(BaseModel): - apiKey: Optional[str] = Field( - None, description='To be used as a dataset parameter value' - ) - apiVersionNumber: Optional[str] = Field( - None, description='To be used as a version parameter value' - ) - apiUrl: Optional[AnyUrl] = Field( - None, description="The URL describing the dataset's fields" - ) - apiDocumentationUrl: Optional[AnyUrl] = Field( - None, description='A URL to the API console for each API' - ) - - -class Apis(BaseModel): - __root__: List[Api] - - -class Event(BaseModel): - name: Optional[str] = None - - -class Result(BaseModel): - event: Optional[Event] = None - - -class ListPetsParametersQuery(BaseModel): - limit: Optional[int] = None diff --git a/tests/data/expected/main/space_and_special_characters_dict/output.py b/tests/data/expected/main/space_and_special_characters_dict.py similarity index 100% rename from tests/data/expected/main/space_and_special_characters_dict/output.py rename to tests/data/expected/main/space_and_special_characters_dict.py diff --git a/tests/data/expected/main/main_yaml/output.py b/tests/data/expected/main/yaml.py similarity index 100% rename from tests/data/expected/main/main_yaml/output.py rename to tests/data/expected/main/yaml.py diff --git a/tests/main/jsonschema/test_main_jsonschema.py b/tests/main/jsonschema/test_main_jsonschema.py index db3753328..6ba8d2dad 100644 --- a/tests/main/jsonschema/test_main_jsonschema.py +++ b/tests/main/jsonschema/test_main_jsonschema.py @@ -29,6 +29,7 @@ MonkeyPatch = pytest.MonkeyPatch JSON_SCHEMA_DATA_PATH: Path = DATA_PATH / 'jsonschema' +EXPECTED_JSON_SCHEMA_PATH: Path = EXPECTED_MAIN_PATH / 'jsonschema' @pytest.fixture(autouse=True) @@ -55,9 +56,7 @@ def test_main_inheritance_forward_ref(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_inheritance_forward_ref' / 'output.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'inheritance_forward_ref.py').read_text() ) @@ -80,9 +79,8 @@ def test_main_inheritance_forward_ref_keep_model_order(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_inheritance_forward_ref_keep_model_order' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH + / 'inheritance_forward_ref_keep_model_order.py' ).read_text() ) @@ -112,7 +110,7 @@ def test_main_autodetect(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_autodetect' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'autodetect.py').read_text() ) @@ -154,7 +152,7 @@ def test_main_jsonschema(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'jsonschema' / 'general.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'general.py').read_text() ) @@ -181,25 +179,20 @@ def test_main_jsonschema_nested_deep(): assert return_code == Exit.OK assert ( output_init_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'nested_deep' / '__init__.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'nested_deep' / '__init__.py').read_text() ) assert ( output_nested_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'nested_deep' - / 'nested' - / 'deep.py' + EXPECTED_JSON_SCHEMA_PATH / 'nested_deep' / 'nested' / 'deep.py' ).read_text() ) assert ( output_empty_parent_nested_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'nested_deep' + EXPECTED_JSON_SCHEMA_PATH + / 'nested_deep' / 'empty_parent' / 'nested' / 'deep.py' @@ -222,7 +215,7 @@ def test_main_jsonschema_nested_skip(): ] ) assert return_code == Exit.OK - nested_skip_dir = EXPECTED_MAIN_PATH / 'jsonschema' / 'nested_skip' + nested_skip_dir = EXPECTED_JSON_SCHEMA_PATH / 'nested_skip' for path in nested_skip_dir.rglob('*.py'): result = output_path.joinpath(path.relative_to(nested_skip_dir)).read_text() assert result == path.read_text() @@ -246,9 +239,7 @@ def test_main_jsonschema_external_files(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'external_files.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'external_files.py').read_text() ) @@ -268,7 +259,7 @@ def test_main_jsonschema_multiple_files(): ] ) assert return_code == Exit.OK - main_modular_dir = EXPECTED_MAIN_PATH / 'multiple_files' + main_modular_dir = EXPECTED_JSON_SCHEMA_PATH / 'multiple_files' for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath( path.relative_to(main_modular_dir) @@ -281,11 +272,11 @@ def test_main_jsonschema_multiple_files(): [ ( 'pydantic.BaseModel', - 'main_null_and_array', + 'null_and_array.py', ), ( 'pydantic_v2.BaseModel', - 'main_null_and_array_v2', + 'null_and_array_v2.py', ), ], ) @@ -308,7 +299,7 @@ def test_main_null_and_array(output_model, expected_output): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / expected_output / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / expected_output).read_text() ) @@ -330,7 +321,7 @@ def test_use_default_pydantic_v2_with_json_schema_const(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'use_default_with_const' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'use_default_with_const.py').read_text() ) @@ -340,17 +331,17 @@ def test_use_default_pydantic_v2_with_json_schema_const(): [ ( 'pydantic.BaseModel', - 'main_complicated_enum_default_member', + 'complicated_enum_default_member.py', '--set-default-enum-member', ), ( 'dataclasses.dataclass', - 'main_complicated_enum_default_member_dataclass', + 'complicated_enum_default_member_dataclass.py', '--set-default-enum-member', ), ( 'dataclasses.dataclass', - 'main_complicated_enum_default_member_dataclass', + 'complicated_enum_default_member_dataclass.py', None, ), ], @@ -376,7 +367,7 @@ def test_main_complicated_enum_default_member(output_model, expected_output, opt assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / expected_output / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / expected_output).read_text() ) @@ -401,7 +392,7 @@ def test_main_json_reuse_enum_default_member(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'main_json_reuse_enum_default_member' / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'json_reuse_enum_default_member.py' ).read_text() ) @@ -471,9 +462,7 @@ def test_main_invalid_model_name(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_invalid_model_name' / 'output.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'invalid_model_name.py').read_text() ) @@ -499,7 +488,7 @@ def test_main_root_id_jsonschema_with_local_file(mocker): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_root_id' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'root_id.py').read_text() ) httpx_get_mock.assert_not_called() @@ -528,7 +517,7 @@ def test_main_root_id_jsonschema_with_remote_file(mocker): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_root_id' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'root_id.py').read_text() ) httpx_get_mock.assert_has_calls( [ @@ -563,7 +552,7 @@ def test_main_root_id_jsonschema_self_refs_with_local_file(mocker): ) assert return_code == Exit.OK assert output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'main_root_id' / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'root_id.py' ).read_text().replace( 'filename: root_id.json', 'filename: root_id_self_ref.json' ) @@ -592,7 +581,7 @@ def test_main_root_id_jsonschema_self_refs_with_remote_file(mocker): ) assert return_code == Exit.OK assert output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'main_root_id' / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'root_id.py' ).read_text().replace( 'filename: root_id.json', 'filename: root_id_self_ref.json' ) @@ -633,9 +622,7 @@ def test_main_root_id_jsonschema_with_absolute_remote_file(mocker): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_root_id_absolute_url' / 'output.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'root_id_absolute_url.py').read_text() ) httpx_get_mock.assert_has_calls( [ @@ -667,9 +654,7 @@ def test_main_root_id_jsonschema_with_absolute_local_file(mocker): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_root_id_absolute_url' / 'output.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'root_id_absolute_url.py').read_text() ) @@ -690,8 +675,7 @@ def test_main_jsonschema_id(): ) assert return_code == Exit.OK assert ( - output_file.read_text() - == (EXPECTED_MAIN_PATH / 'jsonschema' / 'id.py').read_text() + output_file.read_text() == (EXPECTED_JSON_SCHEMA_PATH / 'id.py').read_text() ) @@ -711,9 +695,7 @@ def test_main_jsonschema_id_as_stdin(monkeypatch): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'id_stdin.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'id_stdin.py').read_text() ) @@ -734,7 +716,7 @@ def test_main_jsonschema_ids(tmpdir_factory: TempdirFactory) -> None: 'jsonschema', ] ) - main_jsonschema_ids_dir = EXPECTED_MAIN_PATH / 'jsonschema' / 'ids' + main_jsonschema_ids_dir = EXPECTED_JSON_SCHEMA_PATH / 'ids' for path in main_jsonschema_ids_dir.rglob('*.py'): result = output_path.joinpath( path.relative_to(main_jsonschema_ids_dir) @@ -760,9 +742,7 @@ def test_main_external_definitions(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_external_definitions' / 'output.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'external_definitions.py').read_text() ) @@ -788,7 +768,7 @@ def test_main_external_files_in_directory(tmpdir_factory: TempdirFactory) -> Non assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'main_external_files_in_directory' / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'external_files_in_directory.py' ).read_text() ) @@ -810,7 +790,7 @@ def test_main_nested_directory(tmpdir_factory: TempdirFactory) -> None: ] ) assert return_code == Exit.OK - main_nested_directory = EXPECTED_MAIN_PATH / 'main_nested_directory' + main_nested_directory = EXPECTED_JSON_SCHEMA_PATH / 'nested_directory' for path in main_nested_directory.rglob('*.py'): result = output_path.joinpath( @@ -836,9 +816,7 @@ def test_main_circular_reference(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_circular_reference' / 'output.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'circular_reference.py').read_text() ) @@ -859,7 +837,7 @@ def test_main_invalid_enum_name(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_invalid_enum_name' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'invalid_enum_name.py').read_text() ) @@ -882,9 +860,7 @@ def test_main_invalid_enum_name_snake_case_field(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_invalid_enum_name_snake_case_field' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'invalid_enum_name_snake_case_field.py' ).read_text() ) @@ -907,7 +883,7 @@ def test_main_json_reuse_enum(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_json_reuse_enum' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'json_reuse_enum.py').read_text() ) @@ -930,7 +906,7 @@ def test_main_json_capitalise_enum_members(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'main_json_capitalise_enum_members' / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'json_capitalise_enum_members.py' ).read_text() ) @@ -953,7 +929,7 @@ def test_main_json_capitalise_enum_members_without_enum(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_autodetect' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'autodetect.py').read_text() ) @@ -974,9 +950,7 @@ def test_main_similar_nested_array(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_similar_nested_array' / 'output.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'similar_nested_array.py').read_text() ) @@ -985,11 +959,11 @@ def test_main_similar_nested_array(): [ ( 'pydantic.BaseModel', - 'main_require_referenced_field', + 'require_referenced_field', ), ( 'pydantic_v2.BaseModel', - 'main_require_referenced_field_pydantic_v2', + 'require_referenced_field_pydantic_v2', ), ], ) @@ -1012,10 +986,10 @@ def test_main_require_referenced_field(output_model, expected_output): assert return_code == Exit.OK assert (output_dir / 'referenced.py').read_text() == ( - EXPECTED_MAIN_PATH / expected_output / 'referenced.py' + EXPECTED_JSON_SCHEMA_PATH / expected_output / 'referenced.py' ).read_text() assert (output_dir / 'required.py').read_text() == ( - EXPECTED_MAIN_PATH / expected_output / 'required.py' + EXPECTED_JSON_SCHEMA_PATH / expected_output / 'required.py' ).read_text() @@ -1036,7 +1010,7 @@ def test_main_json_pointer(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_json_pointer' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'json_pointer.py').read_text() ) @@ -1057,9 +1031,7 @@ def test_main_nested_json_pointer(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_nested_json_pointer' / 'output.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'nested_json_pointer.py').read_text() ) @@ -1078,7 +1050,7 @@ def test_main_jsonschema_multiple_files_json_pointer(): ] ) assert return_code == Exit.OK - main_modular_dir = EXPECTED_MAIN_PATH / 'multiple_files_json_pointer' + main_modular_dir = EXPECTED_JSON_SCHEMA_PATH / 'multiple_files_json_pointer' for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath( path.relative_to(main_modular_dir) @@ -1106,9 +1078,7 @@ def test_main_root_model_with_additional_properties(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_root_model_with_additional_properties' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'root_model_with_additional_properties.py' ).read_text() ) @@ -1134,9 +1104,8 @@ def test_main_root_model_with_additional_properties_use_generic_container_types( assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_root_model_with_additional_properties_use_generic_container_types' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH + / 'root_model_with_additional_properties_use_generic_container_types.py' ).read_text() ) @@ -1162,9 +1131,8 @@ def test_main_root_model_with_additional_properties_use_standard_collections(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_root_model_with_additional_properties_use_standard_collections' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH + / 'root_model_with_additional_properties_use_standard_collections.py' ).read_text() ) @@ -1193,9 +1161,8 @@ def test_main_root_model_with_additional_properties_literal(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_root_model_with_additional_properties_literal' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH + / 'root_model_with_additional_properties_literal.py' ).read_text() ) @@ -1215,7 +1182,7 @@ def test_main_jsonschema_multiple_files_ref(): ] ) assert return_code == Exit.OK - main_modular_dir = EXPECTED_MAIN_PATH / 'multiple_files_self_ref' + main_modular_dir = EXPECTED_JSON_SCHEMA_PATH / 'multiple_files_self_ref' for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath( path.relative_to(main_modular_dir) @@ -1242,7 +1209,7 @@ def test_main_jsonschema_multiple_files_ref_test_json(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'multiple_files_self_ref_single' / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'multiple_files_self_ref_single.py' ).read_text() ) @@ -1269,9 +1236,7 @@ def test_main_space_field_enum_snake_case_field(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_space_field_enum_snake_case_field' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'space_field_enum_snake_case_field.py' ).read_text() ) @@ -1297,7 +1262,7 @@ def test_main_all_of_ref(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'all_of_ref' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'all_of_ref.py').read_text() ) @@ -1319,7 +1284,7 @@ def test_main_all_of_with_object(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'all_of_with_object' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'all_of_with_object.py').read_text() ) @@ -1345,7 +1310,7 @@ def test_main_combined_array(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'combined_array' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'combined_array.py').read_text() ) @@ -1366,7 +1331,7 @@ def test_main_jsonschema_pattern(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_pattern' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'pattern.py').read_text() ) @@ -1384,7 +1349,7 @@ def test_main_generate(): assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'jsonschema' / 'general.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'general.py').read_text() ) @@ -1404,7 +1369,7 @@ def test_main_generate_non_pydantic_output(): output_model_type=DataModelType.DataclassesDataclass, ) - file = EXPECTED_MAIN_PATH / 'main_generate_non_pydantic_output' / 'output.py' + file = EXPECTED_JSON_SCHEMA_PATH / 'generate_non_pydantic_output.py' assert output_file.read_text() == file.read_text() @@ -1423,7 +1388,7 @@ def test_main_generate_from_directory(): output=output_path, ) - main_nested_directory = EXPECTED_MAIN_PATH / 'main_nested_directory' + main_nested_directory = EXPECTED_JSON_SCHEMA_PATH / 'nested_directory' for path in main_nested_directory.rglob('*.py'): result = output_path.joinpath( @@ -1449,7 +1414,7 @@ def custom_class_name_generator(title): ) assert output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'general.py' + EXPECTED_JSON_SCHEMA_PATH / 'general.py' ).read_text().replace('Person', 'CustomPerson') @@ -1478,9 +1443,8 @@ def custom_class_name_generator(name): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_root_model_with_additional_properties_custom_class_name' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH + / 'root_model_with_additional_properties_custom_class_name.py' ).read_text() ) @@ -1521,7 +1485,7 @@ def get_mock_response(path: str) -> mocker.Mock: ) assert return_code == Exit.OK assert output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'main_external_files_in_directory' / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'external_files_in_directory.py' ).read_text().replace( '# filename: person.json', '# filename: https://example.com/external_files_in_directory/person.json', @@ -1656,7 +1620,7 @@ def get_mock_response(path: str) -> mocker.Mock: return_code: Exit = main(args) assert return_code == Exit.OK assert output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'main_external_files_in_directory' / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'external_files_in_directory.py' ).read_text().replace( '# filename: person.json', '# filename: https://example.com/external_files_in_directory/person.json', @@ -1740,7 +1704,7 @@ def test_main_self_reference(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_self_reference' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'self_reference.py').read_text() ) @@ -1762,7 +1726,7 @@ def test_main_strict_types(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_strict_types' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'strict_types.py').read_text() ) @@ -1793,7 +1757,7 @@ def test_main_strict_types_all(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_strict_types_all' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'strict_types_all.py').read_text() ) @@ -1824,9 +1788,7 @@ def test_main_strict_types_all_with_field_constraints(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_strict_types_all_field_constraints' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'strict_types_all_field_constraints.py' ).read_text() ) @@ -1848,9 +1810,7 @@ def test_main_jsonschema_special_enum(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'special_enum.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'special_enum.py').read_text() ) @@ -1874,8 +1834,7 @@ def test_main_jsonschema_special_enum_special_field_name_prefix(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'special_enum_special_field_name_prefix.py' + EXPECTED_JSON_SCHEMA_PATH / 'special_enum_special_field_name_prefix.py' ).read_text() ) @@ -1900,8 +1859,8 @@ def test_main_jsonschema_special_enum_special_field_name_prefix_keep_private(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'special_enum_special_field_name_prefix_keep_private.py' + EXPECTED_JSON_SCHEMA_PATH + / 'special_enum_special_field_name_prefix_keep_private.py' ).read_text() ) @@ -1925,8 +1884,8 @@ def test_main_jsonschema_special_model_remove_special_field_name_prefix(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'special_model_remove_special_field_name_prefix.py' + EXPECTED_JSON_SCHEMA_PATH + / 'special_model_remove_special_field_name_prefix.py' ).read_text() ) @@ -1949,9 +1908,7 @@ def test_main_jsonschema_subclass_enum(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'subclass_enum.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'subclass_enum.py').read_text() ) @@ -1975,8 +1932,7 @@ def test_main_jsonschema_special_enum_empty_enum_field_name(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'special_enum_empty_enum_field_name.py' + EXPECTED_JSON_SCHEMA_PATH / 'special_enum_empty_enum_field_name.py' ).read_text() ) @@ -1999,9 +1955,7 @@ def test_main_jsonschema_special_field_name(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'special_field_name.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'special_field_name.py').read_text() ) @@ -2022,9 +1976,7 @@ def test_main_jsonschema_complex_one_of(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'complex_one_of.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'complex_one_of.py').read_text() ) @@ -2046,9 +1998,7 @@ def test_main_jsonschema_complex_any_of(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'complex_any_of.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'complex_any_of.py').read_text() ) @@ -2069,10 +2019,7 @@ def test_main_jsonschema_combine_one_of_object(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'combine_one_of_object.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'combine_one_of_object.py').read_text() ) @@ -2093,10 +2040,7 @@ def test_main_jsonschema_combine_any_of_object(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'combine_any_of_object.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'combine_any_of_object.py').read_text() ) @@ -2119,7 +2063,7 @@ def test_main_jsonschema_field_include_all_keys(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'jsonschema' / 'general.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'general.py').read_text() ) @@ -2160,7 +2104,7 @@ def test_main_jsonschema_field_extras_field_include_all_keys( assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'jsonschema' / expected_output ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / expected_output).read_text() ) @@ -2201,7 +2145,7 @@ def test_main_jsonschema_field_extras_field_extra_keys(output_model, expected_ou assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'jsonschema' / expected_output).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / expected_output).read_text() ) @@ -2237,7 +2181,7 @@ def test_main_jsonschema_field_extras(output_model, expected_output): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'jsonschema' / expected_output).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / expected_output).read_text() ) @@ -2277,7 +2221,7 @@ def test_main_jsonschema_custom_type_path(output_model, expected_output): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'jsonschema' / expected_output).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / expected_output).read_text() ) @@ -2298,9 +2242,7 @@ def test_main_jsonschema_custom_base_path(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'custom_base_path.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'custom_base_path.py').read_text() ) @@ -2321,7 +2263,7 @@ def test_long_description(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_long_description' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'long_description.py').read_text() ) @@ -2348,9 +2290,7 @@ def test_long_description_wrap_string_literal(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_long_description_wrap_string_literal' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'long_description_wrap_string_literal.py' ).read_text() ) @@ -2381,9 +2321,7 @@ def test_jsonschema_pattern_properties(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_pattern_properties' / 'output.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'pattern_properties.py').read_text() ) @@ -2406,9 +2344,7 @@ def test_jsonschema_pattern_properties_field_constraints(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_pattern_properties_field_constraints' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'pattern_properties_field_constraints.py' ).read_text() ) @@ -2430,8 +2366,7 @@ def test_jsonschema_titles(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'jsonschema' / 'titles.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'titles.py').read_text() ) @@ -2453,10 +2388,7 @@ def test_jsonschema_titles_use_title_as_name(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'titles_use_title_as_name.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'titles_use_title_as_name.py').read_text() ) @@ -2479,8 +2411,7 @@ def test_jsonschema_without_titles_use_title_as_name(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'without_titles_use_title_as_name.py' + EXPECTED_JSON_SCHEMA_PATH / 'without_titles_use_title_as_name.py' ).read_text() ) @@ -2502,7 +2433,7 @@ def test_main_jsonschema_has_default_value(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'has_default_value' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'has_default_value.py').read_text() ) @@ -2523,9 +2454,7 @@ def test_main_jsonschema_boolean_property(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'boolean_property.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'boolean_property.py').read_text() ) @@ -2548,9 +2477,7 @@ def test_main_jsonschema_modular_default_enum_member( '--set-default-enum-member', ] ) - main_modular_dir = ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'modular_default_enum_member' - ) + main_modular_dir = EXPECTED_JSON_SCHEMA_PATH / 'modular_default_enum_member' for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath(path.relative_to(main_modular_dir)).read_text() assert result == path.read_text() @@ -2577,7 +2504,7 @@ def test_main_use_union_operator(tmpdir_factory: TempdirFactory) -> None: ] ) assert return_code == Exit.OK - main_nested_directory = EXPECTED_MAIN_PATH / 'main_use_union_operator' + main_nested_directory = EXPECTED_JSON_SCHEMA_PATH / 'use_union_operator' for path in main_nested_directory.rglob('*.py'): result = output_path.joinpath( @@ -2614,7 +2541,7 @@ def test_treat_dot_as_module(as_module): path_extension = ( 'treat_dot_as_module' if as_module else 'treat_dot_not_as_module' ) - main_modular_dir = EXPECTED_MAIN_PATH / path_extension + main_modular_dir = EXPECTED_JSON_SCHEMA_PATH / path_extension for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath( path.relative_to(main_modular_dir) @@ -2639,7 +2566,7 @@ def test_main_jsonschema_duplicate_name(): ] ) assert return_code == Exit.OK - main_modular_dir = EXPECTED_MAIN_PATH / 'jsonschema' / 'duplicate_name' + main_modular_dir = EXPECTED_JSON_SCHEMA_PATH / 'duplicate_name' for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath( path.relative_to(main_modular_dir) @@ -2664,9 +2591,7 @@ def test_main_jsonschema_items_boolean(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'items_boolean.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'items_boolean.py').read_text() ) @@ -2688,8 +2613,7 @@ def test_main_jsonschema_array_in_additional_properites(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'array_in_additional_properties.py' + EXPECTED_JSON_SCHEMA_PATH / 'array_in_additional_properties.py' ).read_text() ) @@ -2711,9 +2635,7 @@ def test_main_jsonschema_nullable_object(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'nullable_object.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'nullable_object.py').read_text() ) @@ -2734,9 +2656,7 @@ def test_main_jsonschema_object_has_one_of(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'object_has_one_of.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'object_has_one_of.py').read_text() ) @@ -2757,9 +2677,7 @@ def test_main_jsonschema_json_pointer_array(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'json_pointer_array.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'json_pointer_array.py').read_text() ) @@ -2824,8 +2742,7 @@ def test_main_jsonschema_pattern_properties_by_reference(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'pattern_properties_by_reference.py' + EXPECTED_JSON_SCHEMA_PATH / 'pattern_properties_by_reference.py' ).read_text() ) @@ -2847,7 +2764,7 @@ def test_main_dataclass_field(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_dataclass_field' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'dataclass_field.py').read_text() ) @@ -2884,9 +2801,7 @@ def test_main_jsonschema_enum_root_literal(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'jsonschema' / 'root_in_enum.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'root_in_enum.py').read_text() ) @@ -2906,7 +2821,7 @@ def test_main_nullable_any_of(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_nullable_any_of' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'nullable_any_of.py').read_text() ) @@ -2928,9 +2843,7 @@ def test_main_nullable_any_of_use_union_operator(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_nullable_any_of_use_union_operator' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'nullable_any_of_use_union_operator.py' ).read_text() ) @@ -2950,7 +2863,7 @@ def test_main_nested_all_of(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_nested_all_of' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'nested_all_of.py').read_text() ) @@ -2969,7 +2882,7 @@ def test_main_all_of_any_of(): ] ) assert return_code == Exit.OK - all_of_any_of_dir = EXPECTED_MAIN_PATH / 'main_all_of_any_of' + all_of_any_of_dir = EXPECTED_JSON_SCHEMA_PATH / 'all_of_any_of' for path in all_of_any_of_dir.rglob('*.py'): result = output_path.joinpath( path.relative_to(all_of_any_of_dir) @@ -2992,7 +2905,7 @@ def test_main_all_of_one_of(): ] ) assert return_code == Exit.OK - all_of_any_of_dir = EXPECTED_MAIN_PATH / 'main_all_of_one_of' + all_of_any_of_dir = EXPECTED_JSON_SCHEMA_PATH / 'all_of_one_of' for path in all_of_any_of_dir.rglob('*.py'): result = output_path.joinpath( path.relative_to(all_of_any_of_dir) @@ -3017,7 +2930,7 @@ def test_main_null(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_null' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'null.py').read_text() ) @@ -3048,9 +2961,8 @@ def test_main_typed_dict_special_field_name_with_inheritance_model(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_typed_dict_special_field_name_with_inheritance_model' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH + / 'typed_dict_special_field_name_with_inheritance_model.py' ).read_text() ) @@ -3080,9 +2992,7 @@ def test_main_typed_dict_not_required_nullable(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_typed_dict_not_required_nullable' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'typed_dict_not_required_nullable.py' ).read_text() ) @@ -3104,10 +3014,7 @@ def test_main_jsonschema_discriminator_literals(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH - / 'jsonschema' / 'discriminator_literals.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'discriminator_literals.py').read_text() ) @@ -3134,9 +3041,7 @@ def test_main_jsonschema_external_discriminator(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'discriminator_with_external_reference' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'discriminator_with_external_reference.py' ).read_text() ) @@ -3155,7 +3060,7 @@ def test_main_jsonschema_external_discriminator_folder(): ) assert return_code == Exit.OK main_modular_dir = ( - EXPECTED_MAIN_PATH / 'discriminator_with_external_references_folder' + EXPECTED_JSON_SCHEMA_PATH / 'discriminator_with_external_references_folder' ) for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath( @@ -3182,7 +3087,7 @@ def test_main_duplicate_field_constraints(): ] ) assert return_code == Exit.OK - main_modular_dir = EXPECTED_MAIN_PATH / 'duplicate_field_constraints' + main_modular_dir = EXPECTED_JSON_SCHEMA_PATH / 'duplicate_field_constraints' for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath( path.relative_to(main_modular_dir) @@ -3235,7 +3140,7 @@ def test_main_duplicate_field_constraints_msgspec( ] ) assert return_code == Exit.OK - main_modular_dir = EXPECTED_MAIN_PATH / expected_output + main_modular_dir = EXPECTED_JSON_SCHEMA_PATH / expected_output for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath( path.relative_to(main_modular_dir) @@ -3259,7 +3164,7 @@ def test_main_dataclass_field_defs(): ) assert return_code == Exit.OK assert output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'main_dataclass_field' / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'dataclass_field.py' ).read_text().replace('filename: user.json', 'filename: user_defs.json') @@ -3280,9 +3185,7 @@ def test_main_dataclass_default(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_dataclass_field_default' / 'output.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'dataclass_field_default.py').read_text() ) @@ -3303,7 +3206,7 @@ def test_main_all_of_ref_self(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_all_of_ref_self' / 'output.py').read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'all_of_ref_self.py').read_text() ) @@ -3332,9 +3235,7 @@ def test_main_array_field_constraints(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_array_field_constraints' / 'output.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'array_field_constraints.py').read_text() ) @@ -3354,9 +3255,7 @@ def test_all_of_use_default(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_all_of_use_default' / 'output.py' - ).read_text() + == (EXPECTED_JSON_SCHEMA_PATH / 'all_of_use_default.py').read_text() ) @@ -3375,7 +3274,7 @@ def test_main_root_one_of(): ] ) assert return_code == Exit.OK - expected_directory = EXPECTED_MAIN_PATH / 'main_root_one_of' + expected_directory = EXPECTED_JSON_SCHEMA_PATH / 'root_one_of' for path in expected_directory.rglob('*.py'): result = output_path.joinpath( path.relative_to(expected_directory) @@ -3403,8 +3302,6 @@ def test_one_of_with_sub_schema_array_item(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_one_of_with_sub_schema_array_item' - / 'output.py' + EXPECTED_JSON_SCHEMA_PATH / 'one_of_with_sub_schema_array_item.py' ).read_text() ) diff --git a/tests/main/openapi/test_main_openapi.py b/tests/main/openapi/test_main_openapi.py index 2c3563c31..0f9c444aa 100644 --- a/tests/main/openapi/test_main_openapi.py +++ b/tests/main/openapi/test_main_openapi.py @@ -31,6 +31,7 @@ MonkeyPatch = pytest.MonkeyPatch OPEN_API_DATA_PATH: Path = DATA_PATH / 'openapi' +EXPECTED_OPENAPI_PATH: Path = EXPECTED_MAIN_PATH / 'openapi' @pytest.fixture(autouse=True) @@ -56,7 +57,7 @@ def test_main(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'general.py').read_text() ) @@ -85,9 +86,7 @@ def test_main_openapi_discriminator_enum(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'openapi' / 'discriminator' / 'enum.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'discriminator' / 'enum.py').read_text() ) @@ -117,7 +116,7 @@ def test_main_openapi_discriminator_enum_duplicate(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'openapi' / 'discriminator' / 'enum_duplicate.py' + EXPECTED_OPENAPI_PATH / 'discriminator' / 'enum_duplicate.py' ).read_text() ) @@ -139,7 +138,7 @@ def test_main_pydantic_basemodel(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'general.py').read_text() ) @@ -161,7 +160,7 @@ def test_main_base_class(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_base_class' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'base_class.py').read_text() ) @@ -182,7 +181,7 @@ def test_target_python_version(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'target_python_version' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'target_python_version.py').read_text() ) @@ -197,7 +196,7 @@ def test_main_modular(tmpdir_factory: TempdirFactory) -> None: with freeze_time(TIMESTAMP): main(['--input', str(input_filename), '--output', str(output_path)]) - main_modular_dir = EXPECTED_MAIN_PATH / 'main_modular' + main_modular_dir = EXPECTED_OPENAPI_PATH / 'modular' for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath(path.relative_to(main_modular_dir)).read_text() assert result == path.read_text() @@ -221,7 +220,7 @@ def test_main_modular_reuse_model(tmpdir_factory: TempdirFactory) -> None: '--reuse-model', ] ) - main_modular_dir = EXPECTED_MAIN_PATH / 'main_modular_reuse_model' + main_modular_dir = EXPECTED_OPENAPI_PATH / 'modular_reuse_model' for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath(path.relative_to(main_modular_dir)).read_text() assert result == path.read_text() @@ -258,7 +257,7 @@ def test_main_openapi_no_file(capsys: CaptureFixture) -> None: main(['--input', str(input_filename)]) captured = capsys.readouterr() - assert captured.out == (EXPECTED_MAIN_PATH / 'openapi' / 'no_file.py').read_text() + assert captured.out == (EXPECTED_OPENAPI_PATH / 'no_file.py').read_text() assert captured.err == inferred_message.format('openapi') + '\n' @@ -300,9 +299,7 @@ def test_main_openapi_extra_template_data_config( ) captured = capsys.readouterr() - assert ( - captured.out == (EXPECTED_MAIN_PATH / 'openapi' / expected_output).read_text() - ) + assert captured.out == (EXPECTED_OPENAPI_PATH / expected_output).read_text() assert captured.err == inferred_message.format('openapi') + '\n' @@ -327,8 +324,7 @@ def test_main_custom_template_dir_old_style(capsys: CaptureFixture) -> None: captured = capsys.readouterr() assert ( - captured.out - == (EXPECTED_MAIN_PATH / 'openapi' / 'custom_template_dir.py').read_text() + captured.out == (EXPECTED_OPENAPI_PATH / 'custom_template_dir.py').read_text() ) assert captured.err == inferred_message.format('openapi') + '\n' @@ -354,8 +350,7 @@ def test_main_openapi_custom_template_dir(capsys: CaptureFixture) -> None: captured = capsys.readouterr() assert ( - captured.out - == (EXPECTED_MAIN_PATH / 'openapi' / 'custom_template_dir.py').read_text() + captured.out == (EXPECTED_OPENAPI_PATH / 'custom_template_dir.py').read_text() ) assert captured.err == inferred_message.format('openapi') + '\n' @@ -401,7 +396,7 @@ def get_path(path): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'pyproject' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'pyproject.py').read_text() ) @@ -422,9 +417,7 @@ def test_pyproject_not_found(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'pyproject_not_found' / 'output.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'pyproject_not_found.py').read_text() ) @@ -442,8 +435,7 @@ def test_stdin(monkeypatch): ) assert return_code == Exit.OK assert ( - output_file.read_text() - == (EXPECTED_MAIN_PATH / 'stdin' / 'output.py').read_text() + output_file.read_text() == (EXPECTED_OPENAPI_PATH / 'stdin.py').read_text() ) @@ -465,7 +457,7 @@ def test_validation(mocker): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'validation' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'validation.py').read_text() ) mock_prance.assert_called_once() @@ -495,33 +487,33 @@ def test_validation_failed(mocker): @pytest.mark.parametrize( 'output_model,expected_output, args', [ - ('pydantic.BaseModel', 'main_with_field_constraints', []), + ('pydantic.BaseModel', 'with_field_constraints.py', []), ( 'pydantic.BaseModel', - 'main_with_field_constraints_use_unique_items_as_set', + 'with_field_constraints_use_unique_items_as_set.py', ['--use-unique-items-as-set'], ), - ('pydantic_v2.BaseModel', 'main_with_field_constraints_pydantic_v2', []), + ('pydantic_v2.BaseModel', 'with_field_constraints_pydantic_v2.py', []), ( 'pydantic_v2.BaseModel', - 'main_with_field_constraints_pydantic_v2_use_generic_container_types', + 'with_field_constraints_pydantic_v2_use_generic_container_types.py', ['--use-generic-container-types'], ), ( 'pydantic_v2.BaseModel', - 'main_with_field_constraints_pydantic_v2_use_generic_container_types_set', + 'with_field_constraints_pydantic_v2_use_generic_container_types_set.py', ['--use-generic-container-types', '--use-unique-items-as-set'], ), ( 'pydantic_v2.BaseModel', - 'main_with_field_constraints_pydantic_v2_use_standard_collections', + 'with_field_constraints_pydantic_v2_use_standard_collections.py', [ '--use-standard-collections', ], ), ( 'pydantic_v2.BaseModel', - 'main_with_field_constraints_pydantic_v2_use_standard_collections_set', + 'with_field_constraints_pydantic_v2_use_standard_collections_set.py', ['--use-standard-collections', '--use-unique-items-as-set'], ), ], @@ -545,7 +537,7 @@ def test_main_with_field_constraints(output_model, expected_output, args): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / expected_output / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / expected_output).read_text() ) @@ -554,11 +546,11 @@ def test_main_with_field_constraints(output_model, expected_output, args): [ ( 'pydantic.BaseModel', - 'main_without_field_constraints', + 'without_field_constraints.py', ), ( 'pydantic_v2.BaseModel', - 'main_without_field_constraints_pydantic_v2', + 'without_field_constraints_pydantic_v2.py', ), ], ) @@ -579,7 +571,7 @@ def test_main_without_field_constraints(output_model, expected_output): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / expected_output / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / expected_output).read_text() ) @@ -588,11 +580,11 @@ def test_main_without_field_constraints(output_model, expected_output): [ ( 'pydantic.BaseModel', - 'main_with_aliases', + 'with_aliases.py', ), ( 'msgspec.Struct', - 'main_with_aliases_msgspec', + 'with_aliases_msgspec.py', ), ], ) @@ -621,7 +613,7 @@ def test_main_with_aliases(output_model, expected_output): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / expected_output / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / expected_output).read_text() ) @@ -690,9 +682,7 @@ def test_main_with_snake_case_field(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_with_snake_case_field' / 'output.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'with_snake_case_field.py').read_text() ) @@ -713,9 +703,7 @@ def test_main_with_strip_default_none(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_with_strip_default_none' / 'output.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'with_strip_default_none.py').read_text() ) @@ -734,7 +722,7 @@ def test_disable_timestamp(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'disable_timestamp' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'disable_timestamp.py').read_text() ) @@ -754,7 +742,7 @@ def test_enable_version_header(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'enable_version_header' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'enable_version_header.py').read_text() ) @@ -763,11 +751,11 @@ def test_enable_version_header(): [ ( 'pydantic.BaseModel', - 'allow_population_by_field_name', + 'allow_population_by_field_name.py', ), ( 'pydantic_v2.BaseModel', - 'allow_population_by_field_name_pydantic_v2', + 'allow_population_by_field_name_pydantic_v2.py', ), ], ) @@ -793,7 +781,7 @@ def test_allow_population_by_field_name(output_model, expected_output): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / expected_output / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / expected_output).read_text() ) @@ -802,11 +790,11 @@ def test_allow_population_by_field_name(output_model, expected_output): [ ( 'pydantic.BaseModel', - 'allow_extra_fields', + 'allow_extra_fields.py', ), ( 'pydantic_v2.BaseModel', - 'allow_extra_fields_pydantic_v2', + 'allow_extra_fields_pydantic_v2.py', ), ], ) @@ -832,7 +820,7 @@ def test_allow_extra_fields(output_model, expected_output): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / expected_output / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / expected_output).read_text() ) @@ -841,11 +829,11 @@ def test_allow_extra_fields(output_model, expected_output): [ ( 'pydantic.BaseModel', - 'enable_faux_immutability', + 'enable_faux_immutability.py', ), ( 'pydantic_v2.BaseModel', - 'enable_faux_immutability_pydantic_v2', + 'enable_faux_immutability_pydantic_v2.py', ), ], ) @@ -871,7 +859,7 @@ def test_enable_faux_immutability(output_model, expected_output): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / expected_output / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / expected_output).read_text() ) @@ -892,7 +880,7 @@ def test_use_default(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'use_default' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'use_default.py').read_text() ) @@ -913,7 +901,7 @@ def test_force_optional(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'force_optional' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'force_optional.py').read_text() ) @@ -932,7 +920,7 @@ def test_main_with_exclusive(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_with_exclusive' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'with_exclusive.py').read_text() ) @@ -951,7 +939,7 @@ def test_main_subclass_enum(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_subclass_enum' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'subclass_enum.py').read_text() ) @@ -972,7 +960,7 @@ def test_main_use_standard_collections(tmpdir_factory: TempdirFactory) -> None: ] ) main_use_standard_collections_dir = ( - EXPECTED_MAIN_PATH / 'main_use_standard_collections' + EXPECTED_OPENAPI_PATH / 'use_standard_collections' ) for path in main_use_standard_collections_dir.rglob('*.py'): result = output_path.joinpath( @@ -1002,7 +990,7 @@ def test_main_use_generic_container_types(tmpdir_factory: TempdirFactory) -> Non ] ) main_use_generic_container_types_dir = ( - EXPECTED_MAIN_PATH / 'main_use_generic_container_types' + EXPECTED_OPENAPI_PATH / 'use_generic_container_types' ) for path in main_use_generic_container_types_dir.rglob('*.py'): result = output_path.joinpath( @@ -1036,7 +1024,7 @@ def test_main_use_generic_container_types_standard_collections( ] ) main_use_generic_container_types_standard_collections_dir = ( - EXPECTED_MAIN_PATH / 'main_use_generic_container_types_standard_collections' + EXPECTED_OPENAPI_PATH / 'use_generic_container_types_standard_collections' ) for path in main_use_generic_container_types_standard_collections_dir.rglob('*.py'): result = output_path.joinpath( @@ -1117,7 +1105,7 @@ def test_main_openapi_datetime(output_model, expected_output): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / expected_output).read_text() + == (EXPECTED_OPENAPI_PATH / expected_output).read_text() ) @@ -1165,7 +1153,7 @@ def test_main_openapi_enum_models_as_literal_one(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'enum_models' / 'one.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'enum_models' / 'one.py').read_text() ) @@ -1196,10 +1184,7 @@ def test_main_openapi_use_one_literal_as_default(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'openapi' - / 'enum_models' - / 'one_literal_as_default.py' + EXPECTED_OPENAPI_PATH / 'enum_models' / 'one_literal_as_default.py' ).read_text() ) @@ -1233,7 +1218,7 @@ def test_main_openapi_enum_models_as_literal_all(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'enum_models' / 'all.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'enum_models' / 'all.py').read_text() ) @@ -1266,7 +1251,7 @@ def test_main_openapi_enum_models_as_literal_py37(capsys): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'openapi' / 'enum_models' / 'as_literal_py37.py' + EXPECTED_OPENAPI_PATH / 'enum_models' / 'as_literal_py37.py' ).read_text() ) @@ -1289,7 +1274,7 @@ def test_main_openapi_all_of_required(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'allof_required.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'allof_required.py').read_text() ) @@ -1311,7 +1296,7 @@ def test_main_openapi_nullable(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'nullable.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'nullable.py').read_text() ) @@ -1333,9 +1318,7 @@ def test_main_openapi_nullable_strict_nullable(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'openapi' / 'nullable_strict_nullable.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'nullable_strict_nullable.py').read_text() ) @@ -1380,7 +1363,7 @@ def test_main_openapi_pattern(output_model, expected_output): ) assert return_code == Exit.OK assert output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'openapi' / 'pattern' / expected_output + EXPECTED_OPENAPI_PATH / 'pattern' / expected_output ).read_text().replace('pattern.json', 'pattern.yaml') @@ -1422,7 +1405,7 @@ def test_main_openapi_pattern_with_lookaround_pydantic_v2( assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / expected_output).read_text() + == (EXPECTED_OPENAPI_PATH / expected_output).read_text() ) @@ -1434,7 +1417,7 @@ def test_main_generate_custom_class_name_generator_modular( output_path = output_directory / 'model' main_modular_custom_class_name_dir = ( - EXPECTED_MAIN_PATH / 'main_modular_custom_class_name' + EXPECTED_OPENAPI_PATH / 'modular_custom_class_name' ) def custom_class_name_generator(name): @@ -1486,7 +1469,7 @@ def get_mock_response(path: str) -> mocker.Mock: assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'http_refs.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'http_refs.py').read_text() ) httpx_get_mock.assert_has_calls( [ @@ -1525,9 +1508,7 @@ def test_main_disable_appending_item_suffix(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_disable_appending_item_suffix' / 'output.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'disable_appending_item_suffix.py').read_text() ) @@ -1552,7 +1533,7 @@ def test_main_openapi_body_and_parameters(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'openapi' / 'body_and_parameters' / 'general.py' + EXPECTED_OPENAPI_PATH / 'body_and_parameters' / 'general.py' ).read_text() ) @@ -1583,7 +1564,7 @@ def test_main_openapi_body_and_parameters_remote_ref(mocker): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'openapi' / 'body_and_parameters' / 'remote_ref.py' + EXPECTED_OPENAPI_PATH / 'body_and_parameters' / 'remote_ref.py' ).read_text() ) httpx_get_mock.assert_has_calls( @@ -1619,7 +1600,7 @@ def test_main_openapi_body_and_parameters_only_paths(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'openapi' / 'body_and_parameters' / 'only_paths.py' + EXPECTED_OPENAPI_PATH / 'body_and_parameters' / 'only_paths.py' ).read_text() ) @@ -1644,10 +1625,7 @@ def test_main_openapi_body_and_parameters_only_schemas(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'openapi' - / 'body_and_parameters' - / 'only_schemas.py' + EXPECTED_OPENAPI_PATH / 'body_and_parameters' / 'only_schemas.py' ).read_text() ) @@ -1669,7 +1647,7 @@ def test_main_openapi_content_in_parameters(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'content_in_parameters.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'content_in_parameters.py').read_text() ) @@ -1693,9 +1671,7 @@ def test_main_openapi_oas_response_reference(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'openapi' / 'oas_response_reference.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'oas_response_reference.py').read_text() ) @@ -1716,7 +1692,7 @@ def test_main_openapi_json_pointer(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'json_pointer.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'json_pointer.py').read_text() ) @@ -1724,10 +1700,10 @@ def test_main_openapi_json_pointer(): @pytest.mark.parametrize( 'output_model,expected_output', [ - ('pydantic.BaseModel', 'main_use_annotated_with_field_constraints'), + ('pydantic.BaseModel', 'use_annotated_with_field_constraints.py'), ( 'pydantic_v2.BaseModel', - 'main_use_annotated_with_field_constraints_pydantic_v2', + 'use_annotated_with_field_constraints_pydantic_v2.py', ), ], ) @@ -1755,7 +1731,7 @@ def test_main_use_annotated_with_field_constraints(output_model, expected_output assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / expected_output / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / expected_output).read_text() ) @@ -1778,9 +1754,7 @@ def test_main_use_annotated_with_field_constraints_py38(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_use_annotated_with_field_constraints_py38' - / 'output.py' + EXPECTED_OPENAPI_PATH / 'use_annotated_with_field_constraints_py38.py' ).read_text() ) @@ -1802,7 +1776,7 @@ def test_main_nested_enum(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_nested_enum' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'nested_enum.py').read_text() ) @@ -1824,7 +1798,7 @@ def test_openapi_special_yaml_keywords(mocker): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'special_yaml_keywords.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'special_yaml_keywords.py').read_text() ) mock_prance.assert_called_once() @@ -1853,9 +1827,7 @@ def test_main_openapi_nullable_use_union_operator(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'openapi' - / 'nullable_strict_nullable_use_union_operator.py' + EXPECTED_OPENAPI_PATH / 'nullable_strict_nullable_use_union_operator.py' ).read_text() ) @@ -1873,7 +1845,7 @@ def test_external_relative_ref(): ] ) assert return_code == Exit.OK - main_modular_dir = EXPECTED_MAIN_PATH / 'external_relative_ref' + main_modular_dir = EXPECTED_OPENAPI_PATH / 'external_relative_ref' for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath( path.relative_to(main_modular_dir) @@ -1898,9 +1870,7 @@ def test_main_collapse_root_models(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_collapse_root_models' / 'output.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'collapse_root_models.py').read_text() ) @@ -1922,9 +1892,7 @@ def test_main_collapse_root_models_field_constraints(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_collapse_root_models_field_constraints' - / 'output.py' + EXPECTED_OPENAPI_PATH / 'collapse_root_models_field_constraints.py' ).read_text() ) @@ -1947,9 +1915,8 @@ def test_main_collapse_root_models_with_references_to_flat_types(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_collapse_root_models_with_references_to_flat_types' - / 'output.py' + EXPECTED_OPENAPI_PATH + / 'collapse_root_models_with_references_to_flat_types.py' ).read_text() ) @@ -1971,7 +1938,7 @@ def test_main_openapi_max_items_enum(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'max_items_enum.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'max_items_enum.py').read_text() ) @@ -2007,7 +1974,7 @@ def test_main_openapi_const(output_model, expected_output): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / expected_output).read_text() + == (EXPECTED_OPENAPI_PATH / expected_output).read_text() ) @@ -2048,7 +2015,7 @@ def test_main_openapi_const_field(output_model, expected_output): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / expected_output).read_text() + == (EXPECTED_OPENAPI_PATH / expected_output).read_text() ) @@ -2069,7 +2036,7 @@ def test_main_openapi_complex_reference(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'complex_reference.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'complex_reference.py').read_text() ) @@ -2090,9 +2057,7 @@ def test_main_openapi_reference_to_object_properties(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'openapi' / 'reference_to_object_properties.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'reference_to_object_properties.py').read_text() ) @@ -2115,8 +2080,7 @@ def test_main_openapi_reference_to_object_properties_collapse_root_models(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'openapi' + EXPECTED_OPENAPI_PATH / 'reference_to_object_properties_collapse_root_models.py' ).read_text() ) @@ -2140,9 +2104,7 @@ def test_main_openapi_override_required_all_of_field(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'openapi' / 'override_required_all_of.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'override_required_all_of.py').read_text() ) @@ -2164,7 +2126,7 @@ def test_main_use_default_kwarg(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'use_default_kwarg.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'use_default_kwarg.py').read_text() ) @@ -2198,7 +2160,7 @@ def test_main_openapi_discriminator(input, output): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'discriminator' / output).read_text() + == (EXPECTED_OPENAPI_PATH / 'discriminator' / output).read_text() ) @@ -2241,7 +2203,7 @@ def test_main_openapi_discriminator_in_array(kind, option, expected): ) assert return_code == Exit.OK assert output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'openapi' / 'discriminator' / expected + EXPECTED_OPENAPI_PATH / 'discriminator' / expected ).read_text().replace('discriminator_in_array.yaml', input_file) @@ -2286,7 +2248,7 @@ def test_main_openapi_default_object(output_model, expected_output): ) assert return_code == Exit.OK - main_modular_dir = EXPECTED_MAIN_PATH / 'openapi' / expected_output + main_modular_dir = EXPECTED_OPENAPI_PATH / expected_output for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath( path.relative_to(main_modular_dir) @@ -2311,7 +2273,7 @@ def test_main_dataclass(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_dataclass' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'dataclass.py').read_text() ) @@ -2334,9 +2296,7 @@ def test_main_dataclass_base_class(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_dataclass_base_class' / 'output.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'dataclass_base_class.py').read_text() ) @@ -2359,9 +2319,7 @@ def test_main_openapi_reference_same_hierarchy_directory(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'openapi' - / 'reference_same_hierarchy_directory.py' + EXPECTED_OPENAPI_PATH / 'reference_same_hierarchy_directory.py' ).read_text() ) @@ -2382,9 +2340,7 @@ def test_main_multiple_required_any_of(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_multiple_required_any_of' / 'output.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'multiple_required_any_of.py').read_text() ) @@ -2403,7 +2359,7 @@ def test_main_openapi_max_min(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'max_min_number.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'max_min_number.py').read_text() ) @@ -2427,9 +2383,7 @@ def test_main_openapi_use_operation_id_as_name(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'openapi' / 'use_operation_id_as_name.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'use_operation_id_as_name.py').read_text() ) @@ -2478,9 +2432,7 @@ def test_main_unsorted_optional_fields(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'unsorted_optional_fields' / 'output.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'unsorted_optional_fields.py').read_text() ) @@ -2501,7 +2453,7 @@ def test_main_typed_dict(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_typed_dict' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'typed_dict.py').read_text() ) @@ -2524,7 +2476,7 @@ def test_main_typed_dict_py_38(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_typed_dict_py_38' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'typed_dict_py_38.py').read_text() ) @@ -2553,7 +2505,7 @@ def test_main_modular_typed_dict(tmpdir_factory: TempdirFactory) -> None: '3.11', ] ) - main_modular_dir = EXPECTED_MAIN_PATH / 'main_modular_typed_dict' + main_modular_dir = EXPECTED_OPENAPI_PATH / 'modular_typed_dict' for path in main_modular_dir.rglob('*.py'): result = output_path.joinpath(path.relative_to(main_modular_dir)).read_text() assert result == path.read_text() @@ -2582,9 +2534,7 @@ def test_main_typed_dict_nullable(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_typed_dict_nullable' / 'output.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'typed_dict_nullable.py').read_text() ) @@ -2613,9 +2563,7 @@ def test_main_typed_dict_nullable_strict_nullable(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_typed_dict_nullable_strict_nullable' - / 'output.py' + EXPECTED_OPENAPI_PATH / 'typed_dict_nullable_strict_nullable.py' ).read_text() ) @@ -2637,9 +2585,7 @@ def test_main_custom_file_header_path(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_custom_file_header' / 'output.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'custom_file_header.py').read_text() ) @@ -2685,7 +2631,7 @@ def test_main_pydantic_v2(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_pydantic_v2' / 'output.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'pydantic_v2.py').read_text() ) @@ -2706,7 +2652,7 @@ def test_main_openapi_custom_id_pydantic_v2(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'custom_id_pydantic_v2.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'custom_id_pydantic_v2.py').read_text() ) @@ -2734,7 +2680,7 @@ def test_main_openapi_custom_id_pydantic_v2_custom_base(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'openapi' / 'custom_id_pydantic_v2_custom_base.py' + EXPECTED_OPENAPI_PATH / 'custom_id_pydantic_v2_custom_base.py' ).read_text() ) @@ -2768,9 +2714,7 @@ def test_main_openapi_all_of_with_relative_ref(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'openapi' / 'all_of_with_relative_ref.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'all_of_with_relative_ref.py').read_text() ) @@ -2794,7 +2738,7 @@ def test_main_openapi_msgspec_struct(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'openapi' / 'msgspec_struct.py').read_text() + == (EXPECTED_OPENAPI_PATH / 'msgspec_struct.py').read_text() ) @@ -2819,9 +2763,7 @@ def test_main_openapi_msgspec_struct_snake_case(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'openapi' / 'msgspec_struct_snake_case.py' - ).read_text() + == (EXPECTED_OPENAPI_PATH / 'msgspec_struct_snake_case.py').read_text() ) @@ -2850,8 +2792,7 @@ def test_main_openapi_msgspec_use_annotated_with_field_constraints(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'openapi' + EXPECTED_OPENAPI_PATH / 'msgspec_use_annotated_with_field_constraints.py' ).read_text() ) diff --git a/tests/main/test_main_csv.py b/tests/main/test_main_csv.py index e80426f09..e333a999b 100644 --- a/tests/main/test_main_csv.py +++ b/tests/main/test_main_csv.py @@ -11,6 +11,7 @@ MonkeyPatch = pytest.MonkeyPatch CSV_DATA_PATH: Path = DATA_PATH / 'csv' +EXPECTED_CSV_PATH: Path = EXPECTED_MAIN_PATH / 'csv' @pytest.fixture(autouse=True) @@ -37,7 +38,7 @@ def test_csv_file(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'csv_file_simple' / 'output.py').read_text() + == (EXPECTED_CSV_PATH / 'csv_file_simple.py').read_text() ) @@ -57,5 +58,5 @@ def test_csv_stdin(monkeypatch): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'csv_stdin_simple' / 'output.py').read_text() + == (EXPECTED_CSV_PATH / 'csv_stdin_simple.py').read_text() ) diff --git a/tests/main/test_main_general.py b/tests/main/test_main_general.py index 112287a85..60fd48551 100644 --- a/tests/main/test_main_general.py +++ b/tests/main/test_main_general.py @@ -84,7 +84,5 @@ def test_space_and_special_characters_dict(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'space_and_special_characters_dict' / 'output.py' - ).read_text() + == (EXPECTED_MAIN_PATH / 'space_and_special_characters_dict.py').read_text() ) diff --git a/tests/main/test_main_json.py b/tests/main/test_main_json.py index 7b4ea9961..eb6c877d9 100644 --- a/tests/main/test_main_json.py +++ b/tests/main/test_main_json.py @@ -19,6 +19,7 @@ MonkeyPatch = pytest.MonkeyPatch JSON_DATA_PATH: Path = DATA_PATH / 'json' +EXPECTED_JSON_PATH: Path = EXPECTED_MAIN_PATH / 'json' @pytest.fixture(autouse=True) @@ -44,8 +45,7 @@ def test_main_json(): ) assert return_code == Exit.OK assert ( - output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_json' / 'output.py').read_text() + output_file.read_text() == (EXPECTED_JSON_PATH / 'general.py').read_text() ) @@ -66,9 +66,7 @@ def test_space_and_special_characters_json(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'space_and_special_characters' / 'output.py' - ).read_text() + == (EXPECTED_JSON_PATH / 'space_and_special_characters.py').read_text() ) @@ -106,9 +104,7 @@ def test_main_json_array_include_null(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_json_array_include_null' / 'output.py' - ).read_text() + == (EXPECTED_JSON_PATH / 'json_array_include_null.py').read_text() ) @@ -130,7 +126,7 @@ def test_main_json_reuse_model(): assert return_code == Exit.OK assert ( output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_json_reuse_model' / 'output.py').read_text() + == (EXPECTED_JSON_PATH / 'json_reuse_model.py').read_text() ) @@ -153,9 +149,7 @@ def test_simple_json_snake_case_field(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'simple_json_snake_case_field' / 'output.py' - ).read_text() + == (EXPECTED_JSON_PATH / 'simple_json_snake_case_field.py').read_text() ) @@ -186,7 +180,7 @@ def get_mock_response(path: str) -> mocker.Mock: ) assert return_code == Exit.OK assert output_file.read_text() == ( - EXPECTED_MAIN_PATH / 'main_json' / 'output.py' + EXPECTED_JSON_PATH / 'general.py' ).read_text().replace( '# filename: pet.json', '# filename: https://example.com/pet.json', @@ -228,9 +222,7 @@ def test_main_typed_dict_space_and_special_characters(): assert ( output_file.read_text() == ( - EXPECTED_MAIN_PATH - / 'main_typed_dict_space_and_special_characters' - / 'output.py' + EXPECTED_JSON_PATH / 'typed_dict_space_and_special_characters.py' ).read_text() ) @@ -253,7 +245,5 @@ def test_main_json_snake_case_field(): assert return_code == Exit.OK assert ( output_file.read_text() - == ( - EXPECTED_MAIN_PATH / 'main_json_snake_case_field' / 'output.py' - ).read_text() + == (EXPECTED_JSON_PATH / 'json_snake_case_field.py').read_text() ) diff --git a/tests/main/test_main_yaml.py b/tests/main/test_main_yaml.py index e1e4f4cf2..3593020cb 100644 --- a/tests/main/test_main_yaml.py +++ b/tests/main/test_main_yaml.py @@ -36,7 +36,4 @@ def test_main_yaml(): ] ) assert return_code == Exit.OK - assert ( - output_file.read_text() - == (EXPECTED_MAIN_PATH / 'main_yaml' / 'output.py').read_text() - ) + assert output_file.read_text() == (EXPECTED_MAIN_PATH / 'yaml.py').read_text()