diff --git a/gapic/schema/wrappers.py b/gapic/schema/wrappers.py index 49b8efda69..24178af08a 100644 --- a/gapic/schema/wrappers.py +++ b/gapic/schema/wrappers.py @@ -759,7 +759,7 @@ def paged_result_field(self) -> Optional[Field]: # Return the first repeated field. for field in self.output.fields.values(): - if field.repeated and field.message: + if field.repeated: return field # We found no repeated fields. Return None. diff --git a/tests/unit/schema/wrappers/test_method.py b/tests/unit/schema/wrappers/test_method.py index f10bb078cd..8b551df560 100644 --- a/tests/unit/schema/wrappers/test_method.py +++ b/tests/unit/schema/wrappers/test_method.py @@ -206,6 +206,29 @@ def test_flattened_ref_types(): assert expected_flat_ref_type_names == actual_flat_ref_type_names +def test_method_paged_result_primitive(): + paged = make_field(name='squids', type=9, repeated=True) + input_msg = make_message( + name='ListSquidsRequest', + fields=( + make_field(name='parent', type=9), # str + make_field(name='page_size', type=5), # int + make_field(name='page_token', type=9), # str + ), + ) + output_msg = make_message(name='ListFoosResponse', fields=( + paged, + make_field(name='next_page_token', type=9), # str + )) + method = make_method( + 'ListSquids', + input_message=input_msg, + output_message=output_msg, + ) + assert method.paged_result_field == paged + assert method.client_output.ident.name == 'ListSquidsPager' + + def test_method_field_headers_none(): method = make_method('DoSomething') assert isinstance(method.field_headers, collections.abc.Sequence)