예제 #1
0
    def test_from_data_no_security(self, mocker):
        from openapi_python_client.parser.openapi import Endpoint

        data = oai.Operation.construct(
            description=mocker.MagicMock(),
            operationId=mocker.MagicMock(),
            security=None,
            responses=mocker.MagicMock(),
        )
        _add_parameters = mocker.patch.object(
            Endpoint,
            "_add_parameters",
            return_value=(mocker.MagicMock(), mocker.MagicMock()))
        _add_responses = mocker.patch.object(Endpoint,
                                             "_add_responses",
                                             return_value=(mocker.MagicMock(),
                                                           mocker.MagicMock()))
        _add_body = mocker.patch.object(Endpoint,
                                        "_add_body",
                                        return_value=(mocker.MagicMock(),
                                                      mocker.MagicMock()))
        path = mocker.MagicMock()
        method = mocker.MagicMock()
        mocker.patch("openapi_python_client.utils.remove_string_escapes",
                     return_value=data.description)
        schemas = mocker.MagicMock()
        config = MagicMock()

        Endpoint.from_data(data=data,
                           path=path,
                           method=method,
                           tag="a",
                           schemas=schemas,
                           config=config)

        _add_parameters.assert_called_once_with(
            endpoint=Endpoint(
                path=path,
                method=method,
                description=data.description,
                name=data.operationId,
                requires_security=False,
                tag="a",
            ),
            data=data,
            schemas=schemas,
            config=config,
        )
        _add_responses.assert_called_once_with(
            endpoint=_add_parameters.return_value[0],
            data=data.responses,
            schemas=_add_parameters.return_value[1],
            config=config,
        )
        _add_body.assert_called_once_with(
            endpoint=_add_responses.return_value[0],
            data=data,
            schemas=_add_responses.return_value[1],
            config=config)
예제 #2
0
    def test_from_data_standard(self, mocker):
        from openapi_python_client.parser.openapi import Endpoint

        path = mocker.MagicMock()
        method = mocker.MagicMock()
        param_schemas = mocker.MagicMock()
        param_endpoint = mocker.MagicMock()
        _add_parameters = mocker.patch.object(Endpoint,
                                              "_add_parameters",
                                              return_value=(param_endpoint,
                                                            param_schemas))
        response_schemas = mocker.MagicMock()
        response_endpoint = mocker.MagicMock()
        _add_responses = mocker.patch.object(Endpoint,
                                             "_add_responses",
                                             return_value=(response_endpoint,
                                                           response_schemas))
        body_schemas = mocker.MagicMock()
        body_endpoint = mocker.MagicMock()
        _add_body = mocker.patch.object(Endpoint,
                                        "_add_body",
                                        return_value=(body_endpoint,
                                                      body_schemas))
        data = oai.Operation.construct(
            description=mocker.MagicMock(),
            operationId=mocker.MagicMock(),
            security={"blah": "bloo"},
            responses=mocker.MagicMock(),
        )
        initial_schemas = mocker.MagicMock()

        mocker.patch("openapi_python_client.utils.remove_string_escapes",
                     return_value=data.description)

        endpoint = Endpoint.from_data(data=data,
                                      path=path,
                                      method=method,
                                      tag="default",
                                      schemas=initial_schemas)

        assert endpoint == _add_body.return_value

        _add_parameters.assert_called_once_with(
            endpoint=Endpoint(
                path=path,
                method=method,
                description=data.description,
                name=data.operationId,
                requires_security=True,
                tag="default",
            ),
            data=data,
            schemas=initial_schemas,
        )
        _add_responses.assert_called_once_with(endpoint=param_endpoint,
                                               data=data.responses,
                                               schemas=param_schemas)
        _add_body.assert_called_once_with(endpoint=response_endpoint,
                                          data=data,
                                          schemas=response_schemas)
예제 #3
0
    def test_from_data_bad_responses(self, mocker):
        from openapi_python_client.parser.openapi import Endpoint

        path = mocker.MagicMock()
        method = mocker.MagicMock()
        parse_error = ParseError(data=mocker.MagicMock())
        param_schemas = mocker.MagicMock()
        _add_parameters = mocker.patch.object(Endpoint,
                                              "_add_parameters",
                                              return_value=(mocker.MagicMock(),
                                                            param_schemas))
        response_schemas = mocker.MagicMock()
        _add_responses = mocker.patch.object(Endpoint,
                                             "_add_responses",
                                             return_value=(parse_error,
                                                           response_schemas))
        data = oai.Operation.construct(
            description=mocker.MagicMock(),
            operationId=mocker.MagicMock(),
            security={"blah": "bloo"},
            responses=mocker.MagicMock(),
        )
        initial_schemas = mocker.MagicMock()

        result = Endpoint.from_data(data=data,
                                    path=path,
                                    method=method,
                                    tag="default",
                                    schemas=initial_schemas)

        assert result == (parse_error, response_schemas)
예제 #4
0
    def test_from_data_no_operation_id(self, mocker):
        from openapi_python_client.parser.openapi import Endpoint

        path = "/path/with/{param}/"
        method = "get"
        _add_parameters = mocker.patch.object(
            Endpoint,
            "_add_parameters",
            return_value=(mocker.MagicMock(), mocker.MagicMock()))
        _add_responses = mocker.patch.object(Endpoint,
                                             "_add_responses",
                                             return_value=(mocker.MagicMock(),
                                                           mocker.MagicMock()))
        _add_body = mocker.patch.object(Endpoint,
                                        "_add_body",
                                        return_value=(mocker.MagicMock(),
                                                      mocker.MagicMock()))
        data = oai.Operation.construct(
            description=mocker.MagicMock(),
            operationId=None,
            security={"blah": "bloo"},
            responses=mocker.MagicMock(),
        )
        schemas = mocker.MagicMock()
        mocker.patch("openapi_python_client.utils.remove_string_escapes",
                     return_value=data.description)

        result = Endpoint.from_data(data=data,
                                    path=path,
                                    method=method,
                                    tag="default",
                                    schemas=schemas)

        assert result == _add_body.return_value

        _add_parameters.assert_called_once_with(
            endpoint=Endpoint(
                path=path,
                method=method,
                description=data.description,
                name="get_path_with_param",
                requires_security=True,
                tag="default",
            ),
            data=data,
            schemas=schemas,
        )
        _add_responses.assert_called_once_with(
            endpoint=_add_parameters.return_value[0],
            data=data.responses,
            schemas=_add_parameters.return_value[1])
        _add_body.assert_called_once_with(
            endpoint=_add_responses.return_value[0],
            data=data,
            schemas=_add_responses.return_value[1])