This repository was archived by the owner on Mar 2, 2026. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +12
-20
lines changed
google/cloud/firestore_v1 Expand file tree Collapse file tree 4 files changed +12
-20
lines changed Original file line number Diff line number Diff line change 4848 from google .cloud .firestore_v1 .async_document import AsyncDocumentReference
4949 from google .cloud .firestore_v1 .document import DocumentReference
5050 from google .cloud .firestore_v1 .field_path import FieldPath
51+ from google .cloud .firestore_v1 .pipeline_source import PipelineSource
5152 from google .cloud .firestore_v1 .query_profile import ExplainOptions
5253 from google .cloud .firestore_v1 .query_results import QueryResultsList
5354 from google .cloud .firestore_v1 .stream_generator import StreamGenerator
@@ -602,18 +603,20 @@ def find_nearest(
602603 distance_threshold = distance_threshold ,
603604 )
604605
605- def pipeline (self ):
606+ def _build_pipeline (self , source : "PipelineSource" ):
606607 """
607608 Convert this query into a Pipeline
608609
609610 Queries containing a `cursor` or `limit_to_last` are not currently supported
610611
612+ Args:
613+ source: the PipelineSource to build the pipeline off o
611614 Raises:
612615 - NotImplementedError: raised if the query contains a `cursor` or `limit_to_last`
613616 Returns:
614617 a Pipeline representing the query
615618 """
616- return self ._query ().pipeline ( )
619+ return self ._query ()._build_pipeline ( source )
617620
618621
619622def _auto_id () -> str :
Original file line number Diff line number Diff line change @@ -609,15 +609,9 @@ def test_asynccollectionreference_pipeline():
609609
610610 client = make_async_client ()
611611 collection = _make_async_collection_reference ("collection" , client = client )
612- pipeline = collection .pipeline ()
612+ pipeline = collection ._build_pipeline ( client . pipeline () )
613613 assert isinstance (pipeline , AsyncPipeline )
614614 # should have single "Collection" stage
615615 assert len (pipeline .stages ) == 1
616616 assert isinstance (pipeline .stages [0 ], Collection )
617- assert pipeline .stages [0 ].path == "/collection"
618-
619-
620- def test_asynccollectionreference_pipeline_no_client ():
621- collection = _make_async_collection_reference ("collection" )
622- with pytest .raises (ValueError , match = "client" ):
623- collection .pipeline ()
617+ assert pipeline .stages [0 ].path == "/collection"
Original file line number Diff line number Diff line change @@ -430,10 +430,11 @@ def test_basecollectionreference_pipeline(mock_query):
430430 _query .return_value = mock_query
431431
432432 collection = _make_base_collection_reference ("collection" )
433- pipeline = collection .pipeline ()
433+ mock_source = mock .Mock ()
434+ pipeline = collection ._build_pipeline (mock_source )
434435
435- mock_query .pipeline .assert_called_once_with ()
436- assert pipeline == mock_query .pipeline .return_value
436+ mock_query ._build_pipeline .assert_called_once_with (mock_source )
437+ assert pipeline == mock_query ._build_pipeline .return_value
437438
438439
439440@mock .patch ("random.choice" )
Original file line number Diff line number Diff line change @@ -518,20 +518,14 @@ def test_collectionreference_pipeline():
518518
519519 client = _test_helpers .make_client ()
520520 collection = _make_collection_reference ("collection" , client = client )
521- pipeline = collection .pipeline ()
521+ pipeline = collection ._build_pipeline ( client . pipeline () )
522522 assert isinstance (pipeline , Pipeline )
523523 # should have single "Collection" stage
524524 assert len (pipeline .stages ) == 1
525525 assert isinstance (pipeline .stages [0 ], Collection )
526526 assert pipeline .stages [0 ].path == "/collection"
527527
528528
529- def test_collectionreference_pipeline_no_client ():
530- collection = _make_collection_reference ("collection" )
531- with pytest .raises (ValueError , match = "client" ):
532- collection .pipeline ()
533-
534-
535529@mock .patch ("google.cloud.firestore_v1.collection.Watch" , autospec = True )
536530def test_on_snapshot (watch ):
537531 collection = _make_collection_reference ("collection" )
You can’t perform that action at this time.
0 commit comments