Ejemplo n.º 1
0
def test_snake_case_from_pascal_with_acronyms():
    assert utils.snake_case("HTTPResponse") == "http_response"
    assert utils.snake_case(
        "APIClientHTTPResponse") == "api_client_http_response"
    assert utils.snake_case(
        "OAuthClientHTTPResponse") == "o_auth_client_http_response"
    assert utils.snake_case("S3Config") == "s3_config"
Ejemplo n.º 2
0
    def _build_api(self) -> None:
        # Generate Client
        client_path = self.package_dir / "client.py"
        client_template = self.env.get_template("client.pyi")
        client_path.write_text(client_template.render())

        # Generate endpoints
        api_dir = self.package_dir / "api"
        api_dir.mkdir()
        api_init = api_dir / "__init__.py"
        api_init.write_text(
            '""" Contains synchronous methods for accessing the API """')

        async_api_dir = self.package_dir / "async_api"
        async_api_dir.mkdir()
        async_api_init = async_api_dir / "__init__.py"
        async_api_init.write_text(
            '""" Contains async methods for accessing the API """')

        api_errors = self.package_dir / "errors.py"
        errors_template = self.env.get_template("errors.pyi")
        api_errors.write_text(errors_template.render())

        endpoint_template = self.env.get_template("endpoint_module.pyi")
        async_endpoint_template = self.env.get_template(
            "async_endpoint_module.pyi")
        for tag, collection in self.openapi.endpoint_collections_by_tag.items(
        ):
            tag = utils.snake_case(tag)
            module_path = api_dir / f"{tag}.py"
            module_path.write_text(
                endpoint_template.render(collection=collection))
            async_module_path = async_api_dir / f"{tag}.py"
            async_module_path.write_text(
                async_endpoint_template.render(collection=collection))
Ejemplo n.º 3
0
    def _build_api(self) -> None:
        # Generate Client
        client_path = self.package_dir / "client.py"
        client_template = self.env.get_template("client.pyi")
        client_path.write_text(client_template.render())

        # Generate endpoints
        api_dir = self.package_dir / "api"
        api_dir.mkdir()
        api_init = api_dir / "__init__.py"
        api_init.write_text('""" Contains methods for accessing the API """')

        endpoint_template = self.env.get_template("endpoint_module.pyi")
        for tag, collection in self.openapi.endpoint_collections_by_tag.items():
            tag = utils.snake_case(tag)
            tag_dir = api_dir / tag
            tag_dir.mkdir()
            (tag_dir / "__init__.py").touch()

            for endpoint in collection.endpoints:
                module_path = tag_dir / f"{snake_case(endpoint.name)}.py"
                module_path.write_text(endpoint_template.render(endpoint=endpoint))
Ejemplo n.º 4
0
def test_snake_case_from_camel():
    assert utils.snake_case("httpResponseLowerCamel") == "http_response_lower_camel"
    assert utils.snake_case("connectionID") == "connection_id"
Ejemplo n.º 5
0
def test_snake_case_from_pascal():
    assert utils.snake_case("HttpResponsePascalCase") == "http_response_pascal_case"
Ejemplo n.º 6
0
def test_snake_case_from_pascal_with_numbers():
    assert utils.snake_case("Response200") == "response_200"
    assert utils.snake_case("Response200WithContent") == "response_200_with_content"
Ejemplo n.º 7
0
def test_snake_case_uppercase_str():
    assert utils.snake_case("HTTP") == "http"
    assert utils.snake_case("HTTP RESPONSE") == "http_response"
Ejemplo n.º 8
0
def test_snake_case_from_camel():
    assert utils.snake_case(
        "httpResponseLowerCamel") == "http_response_lower_camel"
Ejemplo n.º 9
0
 def __post_init__(self) -> None:
     self.python_name = utils.snake_case(self.name)