Define __all__ (#625)

* Define __all__

* Use tuple instead of list

* Add test
This commit is contained in:
Adrien 2024-11-07 04:11:45 +01:00 committed by GitHub
parent 335eee7537
commit 1a23f09c16
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 33 additions and 0 deletions

View File

@ -2,6 +2,20 @@
# sources: {{ ', '.join(output_file.input_filenames) }} # sources: {{ ', '.join(output_file.input_filenames) }}
# plugin: python-betterproto # plugin: python-betterproto
# This file has been @generated # This file has been @generated
__all__ = (
{%- for enum in output_file.enums -%}
"{{ enum.py_name }}",
{%- endfor -%}
{%- for message in output_file.messages -%}
"{{ message.py_name }}",
{%- endfor -%}
{%- for service in output_file.services -%}
"{{ service.py_name }}Stub",
"{{ service.py_name }}Base",
{%- endfor -%}
)
{% for i in output_file.python_module_imports|sort %} {% for i in output_file.python_module_imports|sort %}
import {{ i }} import {{ i }}
{% endfor %} {% endfor %}

View File

@ -0,0 +1,19 @@
def test_all_definition():
"""
Check that a compiled module defines __all__ with the right value.
These modules have been chosen since they contain messages, services and enums.
"""
import tests.output_betterproto.enum as enum
import tests.output_betterproto.service as service
assert service.__all__ == (
"ThingType",
"DoThingRequest",
"DoThingResponse",
"GetThingRequest",
"GetThingResponse",
"TestStub",
"TestBase",
)
assert enum.__all__ == ("Choice", "ArithmeticOperator", "Test")