Ejemplo n.º 1
0
    def test_get_imports(self, mocker):
        fake_reference = mocker.MagicMock(class_name="MyRefClass",
                                          module_name="my_test_enum")
        prefix = mocker.MagicMock()

        from openapi_python_client.parser.properties import RefProperty

        p = RefProperty(name="test",
                        required=True,
                        default=None,
                        reference=fake_reference)

        assert p.get_imports(prefix=prefix) == {
            f"from {prefix}.{fake_reference.module_name} import {fake_reference.class_name}",
            "from typing import Dict",
            "from typing import cast",
        }

        p.required = False
        assert p.get_imports(prefix=prefix) == {
            f"from {prefix}.{fake_reference.module_name} import {fake_reference.class_name}",
            "from typing import Dict",
            "from typing import cast",
            "from typing import Optional",
        }
Ejemplo n.º 2
0
    def test__validate_default(self, mocker):
        from openapi_python_client.parser.properties import RefProperty

        with pytest.raises(ValidationError):
            RefProperty(name="a name", required=True, default="", reference=mocker.MagicMock(), nullable=False)

        enum_property = mocker.MagicMock()
        enum_property._validate_default.return_value = "val1"
        mocker.patch(f"{MODULE_NAME}.EnumProperty.get_enum", return_value=enum_property)
        p = RefProperty(name="a name", required=True, default="", reference=mocker.MagicMock(), nullable=False)
        assert p.default == "val1"
Ejemplo n.º 3
0
    def test_get_type_string(self, mocker):
        from openapi_python_client.parser.properties import RefProperty

        ref_property = RefProperty(
            name="test",
            required=True,
            default=None,
            reference=mocker.MagicMock(class_name="MyRefClass"))

        assert ref_property.get_type_string() == "MyRefClass"

        ref_property.required = False
        assert ref_property.get_type_string() == "Optional[MyRefClass]"
Ejemplo n.º 4
0
    def test_property_from_data_ref(self, mocker):
        name = mocker.MagicMock()
        required = mocker.MagicMock()
        data = oai.Reference.construct(ref=mocker.MagicMock())
        from_ref = mocker.patch(f"{MODULE_NAME}.Reference.from_ref")
        RefProperty = mocker.patch(f"{MODULE_NAME}.RefProperty")
        mocker.patch("openapi_python_client.utils.remove_string_escapes", return_value=name)

        from openapi_python_client.parser.properties import property_from_data

        p = property_from_data(name=name, required=required, data=data)

        from_ref.assert_called_once_with(data.ref)
        RefProperty.assert_called_once_with(
            name=name, required=required, reference=from_ref(), default=None, nullable=False
        )
        assert p == RefProperty()
Ejemplo n.º 5
0
    def test_template(self, mocker):
        from openapi_python_client.parser.properties import RefProperty

        ref_property = RefProperty(
            name="test",
            required=True,
            default=None,
            reference=mocker.MagicMock(class_name="MyRefClass"))

        assert ref_property.template == "ref_property.pyi"

        mocker.patch(f"{MODULE_NAME}.EnumProperty.get_enum",
                     return_value="an enum")

        assert ref_property.template == "enum_property.pyi"