Skip to content

Commit 97cef4a

Browse files
authored
fix: add operation name to x-goog-request-params (googleapis#133)
1 parent a47dfba commit 97cef4a

File tree

2 files changed

+31
-8
lines changed

2 files changed

+31
-8
lines changed

google/api_core/operations_v1/operations_client.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,11 @@ def get_operation(
134134
subclass will be raised.
135135
"""
136136
request = operations_pb2.GetOperationRequest(name=name)
137+
138+
# Add routing header
139+
metadata = metadata or []
140+
metadata.append(gapic_v1.routing_header.to_grpc_metadata({"name": name}))
141+
137142
return self._get_operation(request, retry=retry, timeout=timeout, metadata=metadata)
138143

139144
def list_operations(
@@ -196,6 +201,10 @@ def list_operations(
196201
# Create the request object.
197202
request = operations_pb2.ListOperationsRequest(name=name, filter=filter_)
198203

204+
# Add routing header
205+
metadata = metadata or []
206+
metadata.append(gapic_v1.routing_header.to_grpc_metadata({"name": name}))
207+
199208
# Create the method used to fetch pages
200209
method = functools.partial(self._list_operations, retry=retry, timeout=timeout, metadata=metadata)
201210

@@ -260,6 +269,11 @@ def cancel_operation(
260269
"""
261270
# Create the request object.
262271
request = operations_pb2.CancelOperationRequest(name=name)
272+
273+
# Add routing header
274+
metadata = metadata or []
275+
metadata.append(gapic_v1.routing_header.to_grpc_metadata({"name": name}))
276+
263277
self._cancel_operation(request, retry=retry, timeout=timeout, metadata=metadata)
264278

265279
def delete_operation(
@@ -306,4 +320,9 @@ def delete_operation(
306320
"""
307321
# Create the request object.
308322
request = operations_pb2.DeleteOperationRequest(name=name)
323+
324+
# Add routing header
325+
metadata = metadata or []
326+
metadata.append(gapic_v1.routing_header.to_grpc_metadata({"name": name}))
327+
309328
self._delete_operation(request, retry=retry, timeout=timeout, metadata=metadata)

tests/unit/operations_v1/test_operations_client.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@ def test_get_operation():
2424
client = operations_v1.OperationsClient(channel)
2525
channel.GetOperation.response = operations_pb2.Operation(name="meep")
2626

27-
response = client.get_operation("name", metadata=[("x-goog-request-params", "foo")])
27+
response = client.get_operation("name", metadata=[("header", "foo")])
2828

29-
assert ("x-goog-request-params", "foo") in channel.GetOperation.calls[0].metadata
29+
assert ("header", "foo") in channel.GetOperation.calls[0].metadata
30+
assert ("x-goog-request-params", "name=name") in channel.GetOperation.calls[0].metadata
3031
assert len(channel.GetOperation.requests) == 1
3132
assert channel.GetOperation.requests[0].name == "name"
3233
assert response == channel.GetOperation.response
@@ -42,12 +43,13 @@ def test_list_operations():
4243
list_response = operations_pb2.ListOperationsResponse(operations=operations)
4344
channel.ListOperations.response = list_response
4445

45-
response = client.list_operations("name", "filter", metadata=[("x-goog-request-params", "foo")])
46+
response = client.list_operations("name", "filter", metadata=[("header", "foo")])
4647

4748
assert isinstance(response, page_iterator.Iterator)
4849
assert list(response) == operations
4950

50-
assert ("x-goog-request-params", "foo") in channel.ListOperations.calls[0].metadata
51+
assert ("header", "foo") in channel.ListOperations.calls[0].metadata
52+
assert ("x-goog-request-params", "name=name") in channel.ListOperations.calls[0].metadata
5153
assert len(channel.ListOperations.requests) == 1
5254
request = channel.ListOperations.requests[0]
5355
assert isinstance(request, operations_pb2.ListOperationsRequest)
@@ -60,9 +62,10 @@ def test_delete_operation():
6062
client = operations_v1.OperationsClient(channel)
6163
channel.DeleteOperation.response = empty_pb2.Empty()
6264

63-
client.delete_operation("name", metadata=[("x-goog-request-params", "foo")])
65+
client.delete_operation("name", metadata=[("header", "foo")])
6466

65-
assert ("x-goog-request-params", "foo") in channel.DeleteOperation.calls[0].metadata
67+
assert ("header", "foo") in channel.DeleteOperation.calls[0].metadata
68+
assert ("x-goog-request-params", "name=name") in channel.DeleteOperation.calls[0].metadata
6669
assert len(channel.DeleteOperation.requests) == 1
6770
assert channel.DeleteOperation.requests[0].name == "name"
6871

@@ -72,8 +75,9 @@ def test_cancel_operation():
7275
client = operations_v1.OperationsClient(channel)
7376
channel.CancelOperation.response = empty_pb2.Empty()
7477

75-
client.cancel_operation("name", metadata=[("x-goog-request-params", "foo")])
78+
client.cancel_operation("name", metadata=[("header", "foo")])
7679

77-
assert ("x-goog-request-params", "foo") in channel.CancelOperation.calls[0].metadata
80+
assert ("header", "foo") in channel.CancelOperation.calls[0].metadata
81+
assert ("x-goog-request-params", "name=name") in channel.CancelOperation.calls[0].metadata
7882
assert len(channel.CancelOperation.requests) == 1
7983
assert channel.CancelOperation.requests[0].name == "name"

0 commit comments

Comments
 (0)