38 lines
986 B
Python
38 lines
986 B
Python
import ast
|
|
import inspect
|
|
|
|
|
|
def check(generated_doc: str, type: str) -> None:
|
|
assert f"Documentation of {type} 1" in generated_doc
|
|
assert "other line 1" in generated_doc
|
|
assert f"Documentation of {type} 2" in generated_doc
|
|
assert "other line 2" in generated_doc
|
|
assert f"Documentation of {type} 3" in generated_doc
|
|
|
|
|
|
def test_documentation() -> None:
|
|
from .output_betterproto.documentation import (
|
|
Enum,
|
|
ServiceBase,
|
|
ServiceStub,
|
|
Test,
|
|
)
|
|
|
|
check(Test.__doc__, "message")
|
|
|
|
source = inspect.getsource(Test)
|
|
tree = ast.parse(source)
|
|
check(tree.body[0].body[2].value.value, "field")
|
|
|
|
check(Enum.__doc__, "enum")
|
|
|
|
source = inspect.getsource(Enum)
|
|
tree = ast.parse(source)
|
|
check(tree.body[0].body[2].value.value, "variant")
|
|
|
|
check(ServiceBase.__doc__, "service")
|
|
check(ServiceBase.get.__doc__, "method")
|
|
|
|
check(ServiceStub.__doc__, "service")
|
|
check(ServiceStub.get.__doc__, "method")
|