Skip to content

Commit

Permalink
Define __all__ (#625)
Browse files Browse the repository at this point in the history
* Define __all__

* Use tuple instead of list

* Add test
  • Loading branch information
AdrienVannson authored Nov 7, 2024
1 parent 335eee7 commit 1a23f09
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/betterproto/templates/header.py.j2
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,20 @@
# sources: {{ ', '.join(output_file.input_filenames) }}
# plugin: python-betterproto
# 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 %}
import {{ i }}
{% endfor %}
Expand Down
19 changes: 19 additions & 0 deletions tests/test_all_definition.py
Original file line number Diff line number Diff line change
@@ -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")

0 comments on commit 1a23f09

Please sign in to comment.