diff --git a/gapic/ads-templates/%namespace/%name/%version/%sub/services/%service/pagers.py.j2 b/gapic/ads-templates/%namespace/%name/%version/%sub/services/%service/pagers.py.j2 index cdc4692279..73115c59ac 100644 --- a/gapic/ads-templates/%namespace/%name/%version/%sub/services/%service/pagers.py.j2 +++ b/gapic/ads-templates/%namespace/%name/%version/%sub/services/%service/pagers.py.j2 @@ -12,7 +12,7 @@ from typing import Any, Callable, Iterable, Sequence, Tuple {% for method in service.methods.values() | selectattr('paged_result_field') -%} {{ method.input.ident.python_import }} {{ method.output.ident.python_import }} -{{ method.paged_result_field.message.ident.python_import }} +{% if not method.paged_result_field.is_primitive %}{{ method.paged_result_field.message.ident.python_import }}{% endif %} {% endfor %} {% endfilter -%} {% endif %} diff --git a/gapic/ads-templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/ads-templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index 6091d5a3f7..f4c17b6fb5 100644 --- a/gapic/ads-templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/ads-templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -422,9 +422,9 @@ def test_{{ method.name|snake_case }}_pager(): call.side_effect = ( {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], next_page_token='abc', ), @@ -434,14 +434,14 @@ def test_{{ method.name|snake_case }}_pager(): ), {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], next_page_token='ghi', ), {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], ), RuntimeError, @@ -465,7 +465,7 @@ def test_{{ method.name|snake_case }}_pager(): results = [i for i in pager] assert len(results) == 6 - assert all(isinstance(i, {{ method.paged_result_field.message.ident }}) + assert all(isinstance(i, {{ method.paged_result_field.type.ident }}) for i in results) def test_{{ method.name|snake_case }}_pages(): @@ -481,9 +481,9 @@ def test_{{ method.name|snake_case }}_pages(): call.side_effect = ( {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], next_page_token='abc', ), @@ -493,14 +493,14 @@ def test_{{ method.name|snake_case }}_pages(): ), {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], next_page_token='ghi', ), {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], ), RuntimeError, diff --git a/gapic/schema/wrappers.py b/gapic/schema/wrappers.py index 24178af08a..54f5364fb7 100644 --- a/gapic/schema/wrappers.py +++ b/gapic/schema/wrappers.py @@ -801,7 +801,7 @@ def _ref_types(self, recursive: bool) -> Sequence[Union[MessageType, EnumType]]: # If this message paginates its responses, it is possible # that the individual result messages reside in a different module. - if self.paged_result_field: + if self.paged_result_field and self.paged_result_field.message: answer.append(self.paged_result_field.message) # Done; return the answer. diff --git a/gapic/templates/%namespace/%name_%version/%sub/services/%service/pagers.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/services/%service/pagers.py.j2 index cc7bc56100..2f9598d2e3 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/services/%service/pagers.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/services/%service/pagers.py.j2 @@ -12,7 +12,7 @@ from typing import Any, AsyncIterable, Awaitable, Callable, Iterable, Sequence, {% for method in service.methods.values() | selectattr('paged_result_field') -%} {{ method.input.ident.python_import }} {{ method.output.ident.python_import }} -{{ method.paged_result_field.message.ident.python_import }} +{% if not method.paged_result_field.is_primitive %}{{ method.paged_result_field.message.ident.python_import }}{% endif %} {% endfor %} {% endfilter -%} {% endif %} diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 index e8c5bd067a..3b63c2db3d 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 @@ -707,9 +707,9 @@ def test_{{ method.name|snake_case }}_pager(): call.side_effect = ( {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], next_page_token='abc', ), @@ -719,14 +719,14 @@ def test_{{ method.name|snake_case }}_pager(): ), {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], next_page_token='ghi', ), {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], ), RuntimeError, @@ -750,7 +750,7 @@ def test_{{ method.name|snake_case }}_pager(): results = [i for i in pager] assert len(results) == 6 - assert all(isinstance(i, {{ method.paged_result_field.message.ident }}) + assert all(isinstance(i, {{ method.paged_result_field.type.ident }}) for i in results) def test_{{ method.name|snake_case }}_pages(): @@ -766,9 +766,9 @@ def test_{{ method.name|snake_case }}_pages(): call.side_effect = ( {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], next_page_token='abc', ), @@ -778,14 +778,14 @@ def test_{{ method.name|snake_case }}_pages(): ), {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], next_page_token='ghi', ), {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], ), RuntimeError, @@ -808,9 +808,9 @@ async def test_{{ method.name|snake_case }}_async_pager(): call.side_effect = ( {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], next_page_token='abc', ), @@ -820,14 +820,14 @@ async def test_{{ method.name|snake_case }}_async_pager(): ), {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], next_page_token='ghi', ), {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], ), RuntimeError, @@ -839,7 +839,7 @@ async def test_{{ method.name|snake_case }}_async_pager(): responses.append(response) assert len(responses) == 6 - assert all(isinstance(i, {{ method.paged_result_field.message.ident }}) + assert all(isinstance(i, {{ method.paged_result_field.type.ident }}) for i in responses) @pytest.mark.asyncio @@ -856,9 +856,9 @@ async def test_{{ method.name|snake_case }}_async_pages(): call.side_effect = ( {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], next_page_token='abc', ), @@ -868,14 +868,14 @@ async def test_{{ method.name|snake_case }}_async_pages(): ), {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], next_page_token='ghi', ), {{ method.output.ident }}( {{ method.paged_result_field.name }}=[ - {{ method.paged_result_field.message.ident }}(), - {{ method.paged_result_field.message.ident }}(), + {{ method.paged_result_field.type.ident }}(), + {{ method.paged_result_field.type.ident }}(), ], ), RuntimeError,