Skip to content

Commit 4ea2d11

Browse files
authored
fix(snippetgen): remove special handling for resource paths (googleapis#1134)
There are some bugs in this implementation that stop generation in some APIs and result in incorrect snippets getting generated for others. Back out this feature for now so we can move forward with enabling snippetgen for all APIs.
1 parent e7bee70 commit 4ea2d11

File tree

96 files changed

+628
-1378
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+628
-1378
lines changed

gapic/samplegen/samplegen.py

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -928,37 +928,6 @@ def parse_handwritten_specs(sample_configs: Sequence[str]) -> Generator[Dict[str
928928
yield spec
929929

930930

931-
def _generate_resource_path_request_object(field_name: str, message: wrappers.MessageType) -> List[Dict[str, str]]:
932-
"""Given a message that represents a resource, generate request objects that
933-
populate the resource path args.
934-
935-
Args:
936-
field_name (str): The name of the field.
937-
message (wrappers.MessageType): The message the field belongs to.
938-
939-
Returns:
940-
List[Dict[str, str]]: A list of dicts that can be turned into TransformedRequests.
941-
"""
942-
request = []
943-
944-
# Look for specific field names to substitute more realistic values
945-
special_values_dict = {
946-
"project": '"my-project-id"',
947-
"location": '"us-central1"'
948-
}
949-
950-
for resource_path_arg in message.resource_path_args:
951-
value = special_values_dict.get(
952-
resource_path_arg, f'"{resource_path_arg}_value"')
953-
request.append({
954-
# See TransformedRequest.build() for how 'field' is parsed
955-
"field": f"{field_name}%{resource_path_arg}",
956-
"value": value,
957-
})
958-
959-
return request
960-
961-
962931
def generate_request_object(api_schema: api.API, service: wrappers.Service, message: wrappers.MessageType, field_name_prefix: str = ""):
963932
"""Generate dummy input for a given message.
964933
@@ -993,18 +962,8 @@ def generate_request_object(api_schema: api.API, service: wrappers.Service, mess
993962

994963
# TODO(busunkim): Properly handle map fields
995964
if field.is_primitive:
996-
resource_reference_message = service.resource_messages_dict.get(
997-
field.resource_reference)
998-
# Some resource patterns have no resource_path_args
999-
# https://github.com/googleapis/gapic-generator-python/issues/701
1000-
if resource_reference_message and resource_reference_message.resource_path_args:
1001-
request += _generate_resource_path_request_object(
1002-
field_name,
1003-
resource_reference_message
1004-
)
1005-
else:
1006-
request.append(
1007-
{"field": field_name, "value": field.mock_value_original_type})
965+
request.append(
966+
{"field": field_name, "value": field.mock_value_original_type})
1008967
elif field.enum:
1009968
# Choose the last enum value in the list since index 0 is often "unspecified"
1010969
request.append(

tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/async_client.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -619,12 +619,8 @@ def sample_get_feed():
619619
client = asset_v1.AssetServiceClient()
620620
621621
# Initialize request argument(s)
622-
project = "my-project-id"
623-
feed = "feed_value"
624-
name = f"projects/{project}/feeds/{feed}"
625-
626622
request = asset_v1.GetFeedRequest(
627-
name=name,
623+
name="name_value",
628624
)
629625
630626
# Make the request
@@ -938,12 +934,8 @@ def sample_delete_feed():
938934
client = asset_v1.AssetServiceClient()
939935
940936
# Initialize request argument(s)
941-
project = "my-project-id"
942-
feed = "feed_value"
943-
name = f"projects/{project}/feeds/{feed}"
944-
945937
request = asset_v1.DeleteFeedRequest(
946-
name=name,
938+
name="name_value",
947939
)
948940
949941
# Make the request

tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/client.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -815,12 +815,8 @@ def sample_get_feed():
815815
client = asset_v1.AssetServiceClient()
816816
817817
# Initialize request argument(s)
818-
project = "my-project-id"
819-
feed = "feed_value"
820-
name = f"projects/{project}/feeds/{feed}"
821-
822818
request = asset_v1.GetFeedRequest(
823-
name=name,
819+
name="name_value",
824820
)
825821
826822
# Make the request
@@ -1123,12 +1119,8 @@ def sample_delete_feed():
11231119
client = asset_v1.AssetServiceClient()
11241120
11251121
# Initialize request argument(s)
1126-
project = "my-project-id"
1127-
feed = "feed_value"
1128-
name = f"projects/{project}/feeds/{feed}"
1129-
11301122
request = asset_v1.DeleteFeedRequest(
1131-
name=name,
1123+
name="name_value",
11321124
)
11331125
11341126
# Make the request

tests/integration/goldens/asset/samples/generated_samples/cloudasset_generated_asset_v1_asset_service_delete_feed_async.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,8 @@ async def sample_delete_feed():
3232
client = asset_v1.AssetServiceAsyncClient()
3333

3434
# Initialize request argument(s)
35-
project = "my-project-id"
36-
feed = "feed_value"
37-
name = f"projects/{project}/feeds/{feed}"
38-
3935
request = asset_v1.DeleteFeedRequest(
40-
name=name,
36+
name="name_value",
4137
)
4238

4339
# Make the request

tests/integration/goldens/asset/samples/generated_samples/cloudasset_generated_asset_v1_asset_service_delete_feed_sync.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,8 @@ def sample_delete_feed():
3232
client = asset_v1.AssetServiceClient()
3333

3434
# Initialize request argument(s)
35-
project = "my-project-id"
36-
feed = "feed_value"
37-
name = f"projects/{project}/feeds/{feed}"
38-
3935
request = asset_v1.DeleteFeedRequest(
40-
name=name,
36+
name="name_value",
4137
)
4238

4339
# Make the request

tests/integration/goldens/asset/samples/generated_samples/cloudasset_generated_asset_v1_asset_service_get_feed_async.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,8 @@ async def sample_get_feed():
3232
client = asset_v1.AssetServiceAsyncClient()
3333

3434
# Initialize request argument(s)
35-
project = "my-project-id"
36-
feed = "feed_value"
37-
name = f"projects/{project}/feeds/{feed}"
38-
3935
request = asset_v1.GetFeedRequest(
40-
name=name,
36+
name="name_value",
4137
)
4238

4339
# Make the request

tests/integration/goldens/asset/samples/generated_samples/cloudasset_generated_asset_v1_asset_service_get_feed_sync.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,8 @@ def sample_get_feed():
3232
client = asset_v1.AssetServiceClient()
3333

3434
# Initialize request argument(s)
35-
project = "my-project-id"
36-
feed = "feed_value"
37-
name = f"projects/{project}/feeds/{feed}"
38-
3935
request = asset_v1.GetFeedRequest(
40-
name=name,
36+
name="name_value",
4137
)
4238

4339
# Make the request

tests/integration/goldens/asset/samples/generated_samples/snippet_metadata_asset_v1.json

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -366,12 +366,12 @@
366366
"regionTag": "cloudasset_generated_asset_v1_AssetService_DeleteFeed_async",
367367
"segments": [
368368
{
369-
"end": 46,
369+
"end": 42,
370370
"start": 27,
371371
"type": "FULL"
372372
},
373373
{
374-
"end": 46,
374+
"end": 42,
375375
"start": 27,
376376
"type": "SHORT"
377377
},
@@ -381,16 +381,16 @@
381381
"type": "CLIENT_INITIALIZATION"
382382
},
383383
{
384-
"end": 42,
384+
"end": 38,
385385
"start": 34,
386386
"type": "REQUEST_INITIALIZATION"
387387
},
388388
{
389-
"start": 43,
389+
"start": 39,
390390
"type": "REQUEST_EXECUTION"
391391
},
392392
{
393-
"end": 47,
393+
"end": 43,
394394
"type": "RESPONSE_HANDLING"
395395
}
396396
]
@@ -408,12 +408,12 @@
408408
"regionTag": "cloudasset_generated_asset_v1_AssetService_DeleteFeed_sync",
409409
"segments": [
410410
{
411-
"end": 46,
411+
"end": 42,
412412
"start": 27,
413413
"type": "FULL"
414414
},
415415
{
416-
"end": 46,
416+
"end": 42,
417417
"start": 27,
418418
"type": "SHORT"
419419
},
@@ -423,16 +423,16 @@
423423
"type": "CLIENT_INITIALIZATION"
424424
},
425425
{
426-
"end": 42,
426+
"end": 38,
427427
"start": 34,
428428
"type": "REQUEST_INITIALIZATION"
429429
},
430430
{
431-
"start": 43,
431+
"start": 39,
432432
"type": "REQUEST_EXECUTION"
433433
},
434434
{
435-
"end": 47,
435+
"end": 43,
436436
"type": "RESPONSE_HANDLING"
437437
}
438438
]
@@ -536,12 +536,12 @@
536536
"regionTag": "cloudasset_generated_asset_v1_AssetService_GetFeed_async",
537537
"segments": [
538538
{
539-
"end": 48,
539+
"end": 44,
540540
"start": 27,
541541
"type": "FULL"
542542
},
543543
{
544-
"end": 48,
544+
"end": 44,
545545
"start": 27,
546546
"type": "SHORT"
547547
},
@@ -551,18 +551,18 @@
551551
"type": "CLIENT_INITIALIZATION"
552552
},
553553
{
554-
"end": 42,
554+
"end": 38,
555555
"start": 34,
556556
"type": "REQUEST_INITIALIZATION"
557557
},
558558
{
559-
"end": 45,
560-
"start": 43,
559+
"end": 41,
560+
"start": 39,
561561
"type": "REQUEST_EXECUTION"
562562
},
563563
{
564-
"end": 49,
565-
"start": 46,
564+
"end": 45,
565+
"start": 42,
566566
"type": "RESPONSE_HANDLING"
567567
}
568568
]
@@ -580,12 +580,12 @@
580580
"regionTag": "cloudasset_generated_asset_v1_AssetService_GetFeed_sync",
581581
"segments": [
582582
{
583-
"end": 48,
583+
"end": 44,
584584
"start": 27,
585585
"type": "FULL"
586586
},
587587
{
588-
"end": 48,
588+
"end": 44,
589589
"start": 27,
590590
"type": "SHORT"
591591
},
@@ -595,18 +595,18 @@
595595
"type": "CLIENT_INITIALIZATION"
596596
},
597597
{
598-
"end": 42,
598+
"end": 38,
599599
"start": 34,
600600
"type": "REQUEST_INITIALIZATION"
601601
},
602602
{
603-
"end": 45,
604-
"start": 43,
603+
"end": 41,
604+
"start": 39,
605605
"type": "REQUEST_EXECUTION"
606606
},
607607
{
608-
"end": 49,
609-
"start": 46,
608+
"end": 45,
609+
"start": 42,
610610
"type": "RESPONSE_HANDLING"
611611
}
612612
]

tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/async_client.py

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -218,12 +218,8 @@ def sample_generate_access_token():
218218
client = credentials_v1.IAMCredentialsClient()
219219
220220
# Initialize request argument(s)
221-
project = "my-project-id"
222-
service_account = "service_account_value"
223-
name = f"projects/{project}/serviceAccounts/{service_account}"
224-
225221
request = credentials_v1.GenerateAccessTokenRequest(
226-
name=name,
222+
name="name_value",
227223
scope=['scope_value_1', 'scope_value_2'],
228224
)
229225
@@ -376,12 +372,8 @@ def sample_generate_id_token():
376372
client = credentials_v1.IAMCredentialsClient()
377373
378374
# Initialize request argument(s)
379-
project = "my-project-id"
380-
service_account = "service_account_value"
381-
name = f"projects/{project}/serviceAccounts/{service_account}"
382-
383375
request = credentials_v1.GenerateIdTokenRequest(
384-
name=name,
376+
name="name_value",
385377
audience="audience_value",
386378
)
387379
@@ -527,12 +519,8 @@ def sample_sign_blob():
527519
client = credentials_v1.IAMCredentialsClient()
528520
529521
# Initialize request argument(s)
530-
project = "my-project-id"
531-
service_account = "service_account_value"
532-
name = f"projects/{project}/serviceAccounts/{service_account}"
533-
534522
request = credentials_v1.SignBlobRequest(
535-
name=name,
523+
name="name_value",
536524
payload=b'payload_blob',
537525
)
538526
@@ -665,12 +653,8 @@ def sample_sign_jwt():
665653
client = credentials_v1.IAMCredentialsClient()
666654
667655
# Initialize request argument(s)
668-
project = "my-project-id"
669-
service_account = "service_account_value"
670-
name = f"projects/{project}/serviceAccounts/{service_account}"
671-
672656
request = credentials_v1.SignJwtRequest(
673-
name=name,
657+
name="name_value",
674658
payload="payload_value",
675659
)
676660

0 commit comments

Comments
 (0)