Skip to content

Commit 4e6f95e

Browse files
committed
Conditionally adding read_time to kwargs in base_aggregation.py
1 parent 3151b8b commit 4e6f95e

File tree

2 files changed

+23
-20
lines changed

2 files changed

+23
-20
lines changed

google/cloud/firestore_v1/base_aggregation.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,10 +213,11 @@ def _prep_stream(
213213
"parent": parent_path,
214214
"structured_aggregation_query": self._to_protobuf(),
215215
"transaction": _helpers.get_transaction_id(transaction),
216-
"read_time": read_time,
217216
}
218217
if explain_options:
219218
request["explain_options"] = explain_options._to_dict()
219+
if read_time is not None:
220+
request["read_time"] = read_time
220221
kwargs = _helpers.make_retry_timeout_kwargs(retry, timeout)
221222

222223
return request, kwargs

tests/unit/v1/test_aggregation.py

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,6 @@ def test_aggregation_query_prep_stream():
327327
"parent": parent_path,
328328
"structured_aggregation_query": aggregation_query._to_protobuf(),
329329
"transaction": None,
330-
"read_time": None,
331330
}
332331
assert request == expected_request
333332
assert kwargs == {"retry": None}
@@ -354,7 +353,6 @@ def test_aggregation_query_prep_stream_with_transaction():
354353
"parent": parent_path,
355354
"structured_aggregation_query": aggregation_query._to_protobuf(),
356355
"transaction": txn_id,
357-
"read_time": None,
358356
}
359357
assert request == expected_request
360358
assert kwargs == {"retry": None}
@@ -381,7 +379,6 @@ def test_aggregation_query_prep_stream_with_explain_options():
381379
"structured_aggregation_query": aggregation_query._to_protobuf(),
382380
"transaction": None,
383381
"explain_options": explain_options._to_dict(),
384-
"read_time": None,
385382
}
386383
assert request == expected_request
387384
assert kwargs == {"retry": None}
@@ -464,10 +461,11 @@ def _aggregation_query_get_helper(
464461
"parent": parent_path,
465462
"structured_aggregation_query": aggregation_query._to_protobuf(),
466463
"transaction": None,
467-
"read_time": query_read_time,
468464
}
469465
if explain_options is not None:
470466
expected_request["explain_options"] = explain_options._to_dict()
467+
if query_read_time is not None:
468+
expected_request["read_time"] = query_read_time
471469

472470
# Verify the mock call.
473471
firestore_api.run_aggregation_query.assert_called_once_with(
@@ -548,7 +546,6 @@ def test_aggregation_query_get_transaction():
548546
"parent": parent_path,
549547
"structured_aggregation_query": aggregation_query._to_protobuf(),
550548
"transaction": txn_id,
551-
"read_time": None,
552549
},
553550
metadata=client._rpc_metadata,
554551
**kwargs,
@@ -644,25 +641,30 @@ def _stream_w_exception(*_args, **_kw):
644641
else:
645642
expected_transaction_id = None
646643

644+
expected_request = {
645+
"parent": parent_path,
646+
"structured_aggregation_query": aggregation_query._to_protobuf(),
647+
"transaction": expected_transaction_id,
648+
}
649+
if read_time is not None:
650+
expected_request["read_time"] = read_time
651+
647652
assert calls[0] == mock.call(
648-
request={
649-
"parent": parent_path,
650-
"structured_aggregation_query": aggregation_query._to_protobuf(),
651-
"transaction": expected_transaction_id,
652-
"read_time": read_time,
653-
},
653+
request=expected_request,
654654
metadata=client._rpc_metadata,
655655
**kwargs,
656656
)
657657

658658
if expect_retry:
659+
expected_request = {
660+
"parent": parent_path,
661+
"structured_aggregation_query": aggregation_query._to_protobuf(),
662+
"transaction": None,
663+
}
664+
if read_time is not None:
665+
expected_request["read_time"] = None
659666
assert calls[1] == mock.call(
660-
request={
661-
"parent": parent_path,
662-
"structured_aggregation_query": aggregation_query._to_protobuf(),
663-
"transaction": None,
664-
"read_time": read_time,
665-
},
667+
request=expected_request,
666668
metadata=client._rpc_metadata,
667669
**kwargs,
668670
)
@@ -759,10 +761,11 @@ def _aggregation_query_stream_helper(
759761
"parent": parent_path,
760762
"structured_aggregation_query": aggregation_query._to_protobuf(),
761763
"transaction": None,
762-
"read_time": read_time,
763764
}
764765
if explain_options is not None:
765766
expected_request["explain_options"] = explain_options._to_dict()
767+
if read_time is not None:
768+
expected_request["read_time"] = read_time
766769

767770
# Verify the mock call.
768771
firestore_api.run_aggregation_query.assert_called_once_with(
@@ -850,7 +853,6 @@ def test_aggregation_from_query():
850853
"parent": parent_path,
851854
"structured_aggregation_query": aggregation_query._to_protobuf(),
852855
"transaction": txn_id,
853-
"read_time": None,
854856
},
855857
metadata=client._rpc_metadata,
856858
**kwargs,

0 commit comments

Comments
 (0)