From 37686359d1690908eb8380abce026e314ab47fdb Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Thu, 8 Sep 2022 16:06:49 -0700 Subject: [PATCH 1/2] fix(rest): Use strict encoding to lowercase query string bools - depend on google-api-core >= 2.10.0 for REST transport - use `strict` to force query string booleans to be JSON encoded in lower case --- .../%version/%sub/services/%service/transports/rest.py.j2 | 2 +- gapic/ads-templates/setup.py.j2 | 2 +- .../%sub/services/%service/transports/rest.py.j2 | 2 +- gapic/templates/setup.py.j2 | 5 ----- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/gapic/ads-templates/%namespace/%name/%version/%sub/services/%service/transports/rest.py.j2 b/gapic/ads-templates/%namespace/%name/%version/%sub/services/%service/transports/rest.py.j2 index 436573a187..4bfbbff8c9 100644 --- a/gapic/ads-templates/%namespace/%name/%version/%sub/services/%service/transports/rest.py.j2 +++ b/gapic/ads-templates/%namespace/%name/%version/%sub/services/%service/transports/rest.py.j2 @@ -364,7 +364,7 @@ class {{service.name}}RestTransport({{service.name}}Transport): "{host}{uri}".format(host=self._host, uri=uri), timeout=timeout, headers=headers, - params=rest_helpers.flatten_query_params(query_params), + params=rest_helpers.flatten_query_params(query_params, strict=True), {% if body_spec %} data=body, {% endif %} diff --git a/gapic/ads-templates/setup.py.j2 b/gapic/ads-templates/setup.py.j2 index 7f3716da90..7b983cb273 100644 --- a/gapic/ads-templates/setup.py.j2 +++ b/gapic/ads-templates/setup.py.j2 @@ -19,7 +19,7 @@ setuptools.setup( install_requires=( {# TODO(dovs): remove when 1.x deprecation is complete #} {% if 'rest' in opts.transport %} - 'google-api-core[grpc] >= 2.4.0, < 3.0.0dev', + 'google-api-core[grpc] >= 2.10.0, < 3.0.0dev', {% else %} 'google-api-core[grpc] >= 1.28.0, < 3.0.0dev', {% endif %} diff --git a/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/rest.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/rest.py.j2 index 1ee22af81c..a7624f1a87 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/rest.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/rest.py.j2 @@ -398,7 +398,7 @@ class {{service.name}}RestTransport({{service.name}}Transport): "{host}{uri}".format(host=self._host, uri=uri), timeout=timeout, headers=headers, - params=rest_helpers.flatten_query_params(query_params), + params=rest_helpers.flatten_query_params(query_params, strict=True), {% if body_spec %} data=body, {% endif %} diff --git a/gapic/templates/setup.py.j2 b/gapic/templates/setup.py.j2 index 7e1567f303..9d58261555 100644 --- a/gapic/templates/setup.py.j2 +++ b/gapic/templates/setup.py.j2 @@ -30,12 +30,7 @@ setuptools.setup( platforms='Posix; MacOS X; Windows', include_package_data=True, install_requires=( - {# TODO(dovs): remove when 1.x deprecation is complete #} - {% if 'rest' in opts.transport %} 'google-api-core[grpc] >= 2.10.0, < 3.0.0dev', - {% else %} - 'google-api-core[grpc] >= 2.10.0, < 3.0.0dev', - {% endif %} 'libcst >= 0.2.5', 'googleapis-common-protos >= 1.55.0, <2.0.0dev', 'proto-plus >= 1.19.7', From aec3cccc6506929349711619325fa6f594d06114 Mon Sep 17 00:00:00 2001 From: Victor Chudnovsky Date: Thu, 8 Sep 2022 17:18:35 -0700 Subject: [PATCH 2/2] Stringify test expected value to adapt to google-api-core changes --- .../tests/unit/gapic/%name_%version/%sub/test_%service.py.j2 | 2 +- .../tests/unit/gapic/%name_%version/%sub/test_macros.j2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 9563ed4fa4..198efeca78 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 @@ -1214,7 +1214,7 @@ def test_{{ method_name }}_rest_required_fields(request_type={{ method.input.ide {% if req_field.field_pb.type == 9 %} "{{ req_field.field_pb.default_value }}", {% else %} - {{ req_field.type.python_type(req_field.field_pb.default_value or 0) }}, + str({{ req_field.type.python_type(req_field.field_pb.default_value or 0) }}), {% endif %}{# default is str #} ), {% endfor %} diff --git a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_macros.j2 b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_macros.j2 index 731482be48..55fd9e58b7 100644 --- a/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_macros.j2 +++ b/gapic/templates/tests/unit/gapic/%name_%version/%sub/test_macros.j2 @@ -1099,7 +1099,7 @@ def test_{{ method_name }}_rest_required_fields(request_type={{ method.input.ide {% if req_field.field_pb.type == 9 %} "{{ req_field.field_pb.default_value }}", {% else %} - {{ req_field.type.python_type(req_field.field_pb.default_value or 0) }}, + str({{ req_field.type.python_type(req_field.field_pb.default_value or 0) }}), {% endif %}{# default is str #} ), {% endfor %}