Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

chore: Update gapic-generator-python to v1.11.9 #530

Merged
merged 10 commits into from
Oct 20, 2023
8 changes: 4 additions & 4 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@ v3 API Reference
.. toctree::
:maxdepth: 2

Client (v3) <translate_v3/services>
Types (v3) <translate_v3/types>
Client (v3) <translate_v3/services_>
Types (v3) <translate_v3/types_>

v3beta1 API Reference
---------------------
.. toctree::
:maxdepth: 2

Client (v3beta1) <translate_v3beta1/services>
Types (v3beta1) <translate_v3beta1/types>
Client (v3beta1) <translate_v3beta1/services_>
Types (v3beta1) <translate_v3beta1/types_>

v2 API Reference
----------------
Expand Down
171 changes: 118 additions & 53 deletions tests/unit/gapic/translate_v3/test_translation_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -3343,8 +3343,9 @@ def test_translate_text_rest(request_type):
# Wrap the value into a proper Response obj
response_value = Response()
response_value.status_code = 200
pb_return_value = translation_service.TranslateTextResponse.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.TranslateTextResponse.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)

response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value
Expand Down Expand Up @@ -3427,8 +3428,9 @@ def test_translate_text_rest_required_fields(
response_value = Response()
response_value.status_code = 200

pb_return_value = translation_service.TranslateTextResponse.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.TranslateTextResponse.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)

response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value
Expand Down Expand Up @@ -3567,8 +3569,9 @@ def test_translate_text_rest_flattened():
# Wrap the value into a proper Response obj
response_value = Response()
response_value.status_code = 200
pb_return_value = translation_service.TranslateTextResponse.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.TranslateTextResponse.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)
response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value

Expand Down Expand Up @@ -3636,8 +3639,9 @@ def test_detect_language_rest(request_type):
# Wrap the value into a proper Response obj
response_value = Response()
response_value.status_code = 200
pb_return_value = translation_service.DetectLanguageResponse.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.DetectLanguageResponse.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)

response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value
Expand Down Expand Up @@ -3712,10 +3716,9 @@ def test_detect_language_rest_required_fields(
response_value = Response()
response_value.status_code = 200

pb_return_value = translation_service.DetectLanguageResponse.pb(
return_value
)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.DetectLanguageResponse.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)

response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value
Expand Down Expand Up @@ -3842,8 +3845,9 @@ def test_detect_language_rest_flattened():
# Wrap the value into a proper Response obj
response_value = Response()
response_value.status_code = 200
pb_return_value = translation_service.DetectLanguageResponse.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.DetectLanguageResponse.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)
response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value

Expand Down Expand Up @@ -3909,8 +3913,9 @@ def test_get_supported_languages_rest(request_type):
# Wrap the value into a proper Response obj
response_value = Response()
response_value.status_code = 200
pb_return_value = translation_service.SupportedLanguages.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.SupportedLanguages.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)

response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value
Expand Down Expand Up @@ -3991,8 +3996,9 @@ def test_get_supported_languages_rest_required_fields(
response_value = Response()
response_value.status_code = 200

pb_return_value = translation_service.SupportedLanguages.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.SupportedLanguages.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)

response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value
Expand Down Expand Up @@ -4128,8 +4134,9 @@ def test_get_supported_languages_rest_flattened():
# Wrap the value into a proper Response obj
response_value = Response()
response_value.status_code = 200
pb_return_value = translation_service.SupportedLanguages.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.SupportedLanguages.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)
response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value

Expand Down Expand Up @@ -4196,8 +4203,9 @@ def test_translate_document_rest(request_type):
# Wrap the value into a proper Response obj
response_value = Response()
response_value.status_code = 200
pb_return_value = translation_service.TranslateDocumentResponse.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.TranslateDocumentResponse.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)

response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value
Expand Down Expand Up @@ -4277,10 +4285,11 @@ def test_translate_document_rest_required_fields(
response_value = Response()
response_value.status_code = 200

pb_return_value = translation_service.TranslateDocumentResponse.pb(
# Convert return value to protobuf type
return_value = translation_service.TranslateDocumentResponse.pb(
return_value
)
json_return_value = json_format.MessageToJson(pb_return_value)
json_return_value = json_format.MessageToJson(return_value)

response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value
Expand Down Expand Up @@ -4969,6 +4978,73 @@ def test_create_glossary_rest(request_type):
"end_time": {},
"display_name": "display_name_value",
}
# The version of a generated dependency at test runtime may differ from the version used during generation.
# Delete any fields which are not present in the current runtime dependency
# See https://github.com/googleapis/gapic-generator-python/issues/1748

# Determine if the message type is proto-plus or protobuf
test_field = translation_service.CreateGlossaryRequest.meta.fields["glossary"]

def get_message_fields(field):
# Given a field which is a message (composite type), return a list with
# all the fields of the message.
# If the field is not a composite type, return an empty list.
message_fields = []

if hasattr(field, "message") and field.message:
is_field_type_proto_plus_type = not hasattr(field.message, "DESCRIPTOR")

if is_field_type_proto_plus_type:
message_fields = field.message.meta.fields.values()
# Add `# pragma: NO COVER` because there may not be any `*_pb2` field types
else: # pragma: NO COVER
message_fields = field.message.DESCRIPTOR.fields
return message_fields

runtime_nested_fields = [
(field.name, nested_field.name)
for field in get_message_fields(test_field)
for nested_field in get_message_fields(field)
]

subfields_not_in_runtime = []

# For each item in the sample request, create a list of sub fields which are not present at runtime
# Add `# pragma: NO COVER` because this test code will not run if all subfields are present at runtime
for field, value in request_init["glossary"].items(): # pragma: NO COVER
result = None
is_repeated = False
# For repeated fields
if isinstance(value, list) and len(value):
is_repeated = True
result = value[0]
# For fields where the type is another message
if isinstance(value, dict):
result = value

if result and hasattr(result, "keys"):
for subfield in result.keys():
if (field, subfield) not in runtime_nested_fields:
subfields_not_in_runtime.append(
{
"field": field,
"subfield": subfield,
"is_repeated": is_repeated,
}
)

# Remove fields from the sample request which are not present in the runtime version of the dependency
# Add `# pragma: NO COVER` because this test code will not run if all subfields are present at runtime
for subfield_to_delete in subfields_not_in_runtime: # pragma: NO COVER
field = subfield_to_delete.get("field")
field_repeated = subfield_to_delete.get("is_repeated")
subfield = subfield_to_delete.get("subfield")
if subfield:
if field_repeated:
for i in range(0, len(request_init["glossary"][field])):
del request_init["glossary"][field][i][subfield]
else:
del request_init["glossary"][field][subfield]
request = request_type(**request_init)

# Mock the http request call within the method and fake a response.
Expand Down Expand Up @@ -5151,21 +5227,6 @@ def test_create_glossary_rest_bad_request(

# send a request that will satisfy transcoding
request_init = {"parent": "projects/sample1/locations/sample2"}
request_init["glossary"] = {
"name": "name_value",
"language_pair": {
"source_language_code": "source_language_code_value",
"target_language_code": "target_language_code_value",
},
"language_codes_set": {
"language_codes": ["language_codes_value1", "language_codes_value2"]
},
"input_config": {"gcs_source": {"input_uri": "input_uri_value"}},
"entry_count": 1210,
"submit_time": {"seconds": 751, "nanos": 543},
"end_time": {},
"display_name": "display_name_value",
}
request = request_type(**request_init)

# Mock the http request call within the method and fake a BadRequest error.
Expand Down Expand Up @@ -5269,8 +5330,9 @@ def test_list_glossaries_rest(request_type):
# Wrap the value into a proper Response obj
response_value = Response()
response_value.status_code = 200
pb_return_value = translation_service.ListGlossariesResponse.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.ListGlossariesResponse.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)

response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value
Expand Down Expand Up @@ -5353,10 +5415,9 @@ def test_list_glossaries_rest_required_fields(
response_value = Response()
response_value.status_code = 200

pb_return_value = translation_service.ListGlossariesResponse.pb(
return_value
)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.ListGlossariesResponse.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)

response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value
Expand Down Expand Up @@ -5490,8 +5551,9 @@ def test_list_glossaries_rest_flattened():
# Wrap the value into a proper Response obj
response_value = Response()
response_value.status_code = 200
pb_return_value = translation_service.ListGlossariesResponse.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.ListGlossariesResponse.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)
response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value

Expand Down Expand Up @@ -5614,8 +5676,9 @@ def test_get_glossary_rest(request_type):
# Wrap the value into a proper Response obj
response_value = Response()
response_value.status_code = 200
pb_return_value = translation_service.Glossary.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.Glossary.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)

response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value
Expand Down Expand Up @@ -5692,8 +5755,9 @@ def test_get_glossary_rest_required_fields(
response_value = Response()
response_value.status_code = 200

pb_return_value = translation_service.Glossary.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.Glossary.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)

response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value
Expand Down Expand Up @@ -5820,8 +5884,9 @@ def test_get_glossary_rest_flattened():
# Wrap the value into a proper Response obj
response_value = Response()
response_value.status_code = 200
pb_return_value = translation_service.Glossary.pb(return_value)
json_return_value = json_format.MessageToJson(pb_return_value)
# Convert return value to protobuf type
return_value = translation_service.Glossary.pb(return_value)
json_return_value = json_format.MessageToJson(return_value)
response_value._content = json_return_value.encode("UTF-8")
req.return_value = response_value

Expand Down
Loading