@@ -121,6 +121,7 @@ TEST_F(FirestoreIntegrationTest, TestCanUpdateAnExistingDocument) {
121121 MapFieldValue{{" desc" , FieldValue::String (" NewDescription" )},
122122 {" owner.email" , FieldValue::String (" new@xyz.com" )}}));
123123 DocumentSnapshot doc = ReadDocument (document);
124+ EXPECT_TRUE (doc.exists ());
124125 EXPECT_THAT (
125126 doc.GetData (),
126127 ContainerEq (MapFieldValue{
@@ -151,11 +152,13 @@ TEST_F(FirestoreIntegrationTest, TestCanUpdateAnUnknownDocument) {
151152 EXPECT_EQ (Error::kErrorUnavailable , future.error ());
152153
153154 writer_snapshot = ReadDocument (writer_reference);
155+ EXPECT_TRUE (writer_snapshot.exists ());
154156 EXPECT_THAT (writer_snapshot.GetData (),
155157 ContainerEq (MapFieldValue{{" a" , FieldValue::String (" a" )},
156158 {" b" , FieldValue::String (" b" )}}));
157159 EXPECT_FALSE (writer_snapshot.metadata ().is_from_cache ());
158160 DocumentSnapshot reader_snapshot = ReadDocument (reader_reference);
161+ EXPECT_TRUE (reader_snapshot.exists ());
159162 EXPECT_THAT (reader_snapshot.GetData (),
160163 ContainerEq (MapFieldValue{{" a" , FieldValue::String (" a" )},
161164 {" b" , FieldValue::String (" b" )}}));
@@ -174,6 +177,7 @@ TEST_F(FirestoreIntegrationTest, TestCanOverwriteAnExistingDocumentUsingSet) {
174177 {" owner.data" ,
175178 FieldValue::Map ({{" name" , FieldValue::String (" Sebastian" )}})}}));
176179 DocumentSnapshot snapshot = ReadDocument (document);
180+ EXPECT_TRUE (snapshot.exists ());
177181 EXPECT_THAT (
178182 snapshot.GetData (),
179183 ContainerEq (MapFieldValue{
@@ -197,6 +201,7 @@ TEST_F(FirestoreIntegrationTest,
197201 FieldValue::Map ({{" name" , FieldValue::String (" Sebastian" )}})}},
198202 SetOptions::Merge ()));
199203 DocumentSnapshot snapshot = ReadDocument (document);
204+ EXPECT_TRUE (snapshot.exists ());
200205 EXPECT_THAT (
201206 snapshot.GetData (),
202207 ContainerEq (MapFieldValue{
@@ -230,22 +235,27 @@ TEST_F(FirestoreIntegrationTest, TestCanMergeEmptyObject) {
230235
231236 document.Set (MapFieldValue{});
232237 DocumentSnapshot snapshot = accumulator.Await ();
238+ EXPECT_TRUE (snapshot.exists ());
233239 EXPECT_THAT (snapshot.GetData (), ContainerEq (MapFieldValue{}));
234240
235241 Await (document.Set (MapFieldValue{{" a" , FieldValue::Map ({})}},
236242 SetOptions::MergeFields ({" a" })));
237243 snapshot = accumulator.Await ();
244+ EXPECT_TRUE (snapshot.exists ());
238245 EXPECT_THAT (snapshot.GetData (),
239246 ContainerEq (MapFieldValue{{" a" , FieldValue::Map ({})}}));
240247
241248 Await (document.Set (MapFieldValue{{" b" , FieldValue::Map ({})}},
242249 SetOptions::Merge ()));
243250 snapshot = accumulator.Await ();
251+ EXPECT_TRUE (snapshot.exists ());
244252 EXPECT_THAT (snapshot.GetData (),
245253 ContainerEq (MapFieldValue{{" a" , FieldValue::Map ({})},
246254 {" b" , FieldValue::Map ({})}}));
247255
248- snapshot = *Await (document.Get (Source::kServer ));
256+ auto * snapshot_ptr = Await (document.Get (Source::kServer ));
257+ ASSERT_TRUE (snapshot_ptr);
258+ snapshot = *snapshot_ptr;
249259 EXPECT_THAT (snapshot.GetData (),
250260 ContainerEq (MapFieldValue{{" a" , FieldValue::Map ({})},
251261 {" b" , FieldValue::Map ({})}}));
@@ -294,6 +304,7 @@ TEST_F(FirestoreIntegrationTest, TestCanDeleteFieldUsingMergeFields) {
294304 {" foo" , FieldValue::Delete ()}})}},
295305 SetOptions::MergeFields ({" foo" , " inner" , " nested.foo" })));
296306 DocumentSnapshot snapshot = ReadDocument (document);
307+ EXPECT_TRUE (snapshot.exists ());
297308 EXPECT_THAT (
298309 snapshot.GetData (),
299310 ContainerEq (MapFieldValue{
@@ -341,6 +352,7 @@ TEST_F(FirestoreIntegrationTest, TestMergeReplacesArrays) {
341352 {{" data" , FieldValue::String (" new" )}})})}},
342353 SetOptions::Merge ()));
343354 DocumentSnapshot snapshot = ReadDocument (document);
355+ EXPECT_TRUE (snapshot.exists ());
344356 EXPECT_THAT (
345357 snapshot.GetData (),
346358 ContainerEq (MapFieldValue{
@@ -366,6 +378,7 @@ TEST_F(FirestoreIntegrationTest,
366378 {" email" , FieldValue::String (" new@xyz.com" )}})}},
367379 SetOptions::MergeFieldPaths ({{" desc" }, {" owner.data" , " name" }})));
368380 DocumentSnapshot snapshot = ReadDocument (document);
381+ EXPECT_TRUE (snapshot.exists ());
369382 EXPECT_THAT (
370383 snapshot.GetData (),
371384 ContainerEq (MapFieldValue{
@@ -405,6 +418,7 @@ TEST_F(FirestoreIntegrationTest, TestFieldsNotInFieldMaskAreIgnored) {
405418 {" owner" , FieldValue::String (" Sebastian" )}},
406419 SetOptions::MergeFields ({" desc" })));
407420 DocumentSnapshot snapshot = ReadDocument (document);
421+ EXPECT_TRUE (snapshot.exists ());
408422 EXPECT_THAT (
409423 snapshot.GetData (),
410424 ContainerEq (MapFieldValue{
@@ -426,6 +440,7 @@ TEST_F(FirestoreIntegrationTest, TestFieldDeletesNotInFieldMaskAreIgnored) {
426440 {" owner" , FieldValue::Delete ()}},
427441 SetOptions::MergeFields ({" desc" })));
428442 DocumentSnapshot snapshot = ReadDocument (document);
443+ EXPECT_TRUE (snapshot.exists ());
429444 EXPECT_THAT (
430445 snapshot.GetData (),
431446 ContainerEq (MapFieldValue{
@@ -447,6 +462,7 @@ TEST_F(FirestoreIntegrationTest, TestFieldTransformsNotInFieldMaskAreIgnored) {
447462 {" owner" , FieldValue::ServerTimestamp ()}},
448463 SetOptions::MergeFields ({" desc" })));
449464 DocumentSnapshot snapshot = ReadDocument (document);
465+ EXPECT_TRUE (snapshot.exists ());
450466 EXPECT_THAT (
451467 snapshot.GetData (),
452468 ContainerEq (MapFieldValue{
@@ -467,6 +483,7 @@ TEST_F(FirestoreIntegrationTest, TestCanSetEmptyFieldMask) {
467483 MapFieldValue{{" desc" , FieldValue::String (" NewDescription" )}},
468484 SetOptions::MergeFields ({})));
469485 DocumentSnapshot snapshot = ReadDocument (document);
486+ EXPECT_TRUE (snapshot.exists ());
470487 EXPECT_THAT (
471488 snapshot.GetData (),
472489 ContainerEq (MapFieldValue{
@@ -491,6 +508,7 @@ TEST_F(FirestoreIntegrationTest, TestCanSpecifyFieldsMultipleTimesInFieldMask) {
491508 {" email" , FieldValue::String (" new@new.com" )}})}},
492509 SetOptions::MergeFields ({" owner.name" , " owner" , " owner" })));
493510 DocumentSnapshot snapshot = ReadDocument (document);
511+ EXPECT_TRUE (snapshot.exists ());
494512 EXPECT_THAT (
495513 snapshot.GetData (),
496514 ContainerEq (MapFieldValue{
@@ -509,6 +527,7 @@ TEST_F(FirestoreIntegrationTest, TestCanDeleteAFieldWithAnUpdate) {
509527 {" email" , FieldValue::String (" abc@xyz.com" )}})}}));
510528 Await (document.Update (MapFieldValue{{" owner.email" , FieldValue::Delete ()}}));
511529 DocumentSnapshot snapshot = ReadDocument (document);
530+ EXPECT_TRUE (snapshot.exists ());
512531 EXPECT_THAT (snapshot.GetData (),
513532 ContainerEq (MapFieldValue{
514533 {" desc" , FieldValue::String (" Description" )},
@@ -524,6 +543,7 @@ TEST_F(FirestoreIntegrationTest, TestCanUpdateFieldsWithDots) {
524543 Await (document.Update ({{FieldPath{" a.b" }, FieldValue::String (" new" )}}));
525544 Await (document.Update ({{FieldPath{" c.d" }, FieldValue::String (" new" )}}));
526545 DocumentSnapshot snapshot = ReadDocument (document);
546+ EXPECT_TRUE (snapshot.exists ());
527547 EXPECT_THAT (snapshot.GetData (),
528548 ContainerEq (MapFieldValue{{" a.b" , FieldValue::String (" new" )},
529549 {" c.d" , FieldValue::String (" new" )},
@@ -539,6 +559,7 @@ TEST_F(FirestoreIntegrationTest, TestCanUpdateNestedFields) {
539559 Await (document.Update ({{" a.b" , FieldValue::String (" new" )}}));
540560 Await (document.Update ({{" c.d" , FieldValue::String (" new" )}}));
541561 DocumentSnapshot snapshot = ReadDocument (document);
562+ EXPECT_TRUE (snapshot.exists ());
542563 EXPECT_THAT (snapshot.GetData (),
543564 ContainerEq (MapFieldValue{
544565 {" a" , FieldValue::Map ({{" b" , FieldValue::String (" new" )}})},
@@ -559,6 +580,7 @@ TEST_F(FirestoreIntegrationTest, TestCanUpdateFieldsWithMultipleDeletes) {
559580 {FieldPath{" key3" }, FieldValue::Delete ()},
560581 {FieldPath{" key5" }, FieldValue::Delete ()}}));
561582 DocumentSnapshot snapshot = ReadDocument (document);
583+ EXPECT_TRUE (snapshot.exists ());
562584 EXPECT_THAT (snapshot.GetData (), ContainerEq (MapFieldValue{
563585 {" key2" , FieldValue::String (" value2" )},
564586 {" key4" , FieldValue::String (" value4" )}}));
@@ -568,6 +590,7 @@ TEST_F(FirestoreIntegrationTest, TestDeleteDocument) {
568590 DocumentReference document = Collection (" rooms" ).Document (" eros" );
569591 WriteDocument (document, MapFieldValue{{" value" , FieldValue::String (" bar" )}});
570592 DocumentSnapshot snapshot = ReadDocument (document);
593+ EXPECT_TRUE (snapshot.exists ());
571594 EXPECT_THAT (snapshot.GetData (),
572595 ContainerEq (MapFieldValue{{" value" , FieldValue::String (" bar" )}}));
573596
@@ -605,6 +628,7 @@ TEST_F(FirestoreIntegrationTest,
605628 DocumentReference document = Collection (" rooms" ).Document ();
606629 Await (document.Set (MapFieldValue{{" foo" , FieldValue::Double (1.0 )}}));
607630 DocumentSnapshot snapshot = ReadDocument (document);
631+ EXPECT_TRUE (snapshot.exists ());
608632 EXPECT_THAT (snapshot.GetData (),
609633 ContainerEq (MapFieldValue{{" foo" , FieldValue::Double (1.0 )}}));
610634}
@@ -773,7 +797,9 @@ TEST_F(FirestoreIntegrationTest, TestListenCanBeCalledMultipleTimes) {
773797 });
774798 });
775799
776- EXPECT_THAT (test_data.WaitForDocumentSnapshot ().GetData (),
800+ DocumentSnapshot snapshot1 = test_data.WaitForDocumentSnapshot ();
801+ EXPECT_TRUE (snapshot1.exists ());
802+ EXPECT_THAT (snapshot1.GetData (),
777803 ContainerEq (MapFieldValue{{" foo" , FieldValue::String (" bar" )}}));
778804}
779805
@@ -800,10 +826,12 @@ TEST_F(FirestoreIntegrationTest, TestDocumentSnapshotEventsForAdd) {
800826 WriteDocument (document, MapFieldValue{{" a" , FieldValue::Double (1.0 )}});
801827 Await (listener, 3 );
802828 DocumentSnapshot snapshot = listener.last_result (1 );
829+ EXPECT_TRUE (snapshot.exists ());
803830 EXPECT_THAT (snapshot.GetData (),
804831 ContainerEq (MapFieldValue{{" a" , FieldValue::Double (1.0 )}}));
805832 EXPECT_TRUE (snapshot.metadata ().has_pending_writes ());
806833 snapshot = listener.last_result ();
834+ EXPECT_TRUE (snapshot.exists ());
807835 EXPECT_THAT (snapshot.GetData (),
808836 ContainerEq (MapFieldValue{{" a" , FieldValue::Double (1.0 )}}));
809837 EXPECT_FALSE (snapshot.metadata ().has_pending_writes ());
@@ -821,6 +849,7 @@ TEST_F(FirestoreIntegrationTest, TestDocumentSnapshotEventsForChange) {
821849 listener.AttachTo (&document, MetadataChanges::kInclude );
822850 Await (listener);
823851 DocumentSnapshot snapshot = listener.last_result ();
852+ EXPECT_TRUE (snapshot.exists ());
824853 EXPECT_THAT (snapshot.GetData (),
825854 ContainerEq (MapFieldValue{{" a" , FieldValue::Double (1.0 )}}));
826855 EXPECT_FALSE (snapshot.metadata ().has_pending_writes ());
@@ -829,11 +858,13 @@ TEST_F(FirestoreIntegrationTest, TestDocumentSnapshotEventsForChange) {
829858 UpdateDocument (document, MapFieldValue{{" a" , FieldValue::Double (2.0 )}});
830859 Await (listener, 3 );
831860 snapshot = listener.last_result (1 );
861+ EXPECT_TRUE (snapshot.exists ());
832862 EXPECT_THAT (snapshot.GetData (),
833863 ContainerEq (MapFieldValue{{" a" , FieldValue::Double (2.0 )}}));
834864 EXPECT_TRUE (snapshot.metadata ().has_pending_writes ());
835865 EXPECT_FALSE (snapshot.metadata ().is_from_cache ());
836866 snapshot = listener.last_result ();
867+ EXPECT_TRUE (snapshot.exists ());
837868 EXPECT_THAT (snapshot.GetData (),
838869 ContainerEq (MapFieldValue{{" a" , FieldValue::Double (2.0 )}}));
839870 EXPECT_FALSE (snapshot.metadata ().has_pending_writes ());
@@ -891,12 +922,14 @@ TEST_F(FirestoreIntegrationTest, TestQuerySnapshotEventsForAdd) {
891922 WriteDocument (document, MapFieldValue{{" a" , FieldValue::Double (1.0 )}});
892923 Await (listener, 3 );
893924 QuerySnapshot snapshot = listener.last_result (1 );
894- EXPECT_EQ (1 , snapshot.size ());
925+ ASSERT_EQ (1 , snapshot.size ());
926+ EXPECT_TRUE (snapshot.documents ()[0 ].exists ());
895927 EXPECT_THAT (snapshot.documents ()[0 ].GetData (),
896928 ContainerEq (MapFieldValue{{" a" , FieldValue::Double (1.0 )}}));
897929 EXPECT_TRUE (snapshot.metadata ().has_pending_writes ());
898930 snapshot = listener.last_result ();
899- EXPECT_EQ (1 , snapshot.size ());
931+ ASSERT_EQ (1 , snapshot.size ());
932+ EXPECT_TRUE (snapshot.documents ()[0 ].exists ());
900933 EXPECT_THAT (snapshot.documents ()[0 ].GetData (),
901934 ContainerEq (MapFieldValue{{" a" , FieldValue::Double (1.0 )}}));
902935 EXPECT_FALSE (snapshot.metadata ().has_pending_writes ());
@@ -914,20 +947,23 @@ TEST_F(FirestoreIntegrationTest, TestQuerySnapshotEventsForChange) {
914947 listener.AttachTo (&collection, MetadataChanges::kInclude );
915948 Await (listener);
916949 QuerySnapshot snapshot = listener.last_result ();
917- EXPECT_EQ (1 , snapshot.size ());
950+ ASSERT_EQ (1 , snapshot.size ());
951+ EXPECT_TRUE (snapshot.documents ()[0 ].exists ());
918952 EXPECT_THAT (snapshot.documents ()[0 ].GetData (),
919953 ContainerEq (MapFieldValue{{" a" , FieldValue::Double (1.0 )}}));
920954 EXPECT_FALSE (snapshot.metadata ().has_pending_writes ());
921955
922956 WriteDocument (document, MapFieldValue{{" a" , FieldValue::Double (2.0 )}});
923957 Await (listener, 3 );
924958 snapshot = listener.last_result (1 );
925- EXPECT_EQ (1 , snapshot.size ());
959+ ASSERT_EQ (1 , snapshot.size ());
960+ EXPECT_TRUE (snapshot.documents ()[0 ].exists ());
926961 EXPECT_THAT (snapshot.documents ()[0 ].GetData (),
927962 ContainerEq (MapFieldValue{{" a" , FieldValue::Double (2.0 )}}));
928963 EXPECT_TRUE (snapshot.metadata ().has_pending_writes ());
929964 snapshot = listener.last_result ();
930- EXPECT_EQ (1 , snapshot.size ());
965+ ASSERT_EQ (1 , snapshot.size ());
966+ EXPECT_TRUE (snapshot.documents ()[0 ].exists ());
931967 EXPECT_THAT (snapshot.documents ()[0 ].GetData (),
932968 ContainerEq (MapFieldValue{{" a" , FieldValue::Double (2.0 )}}));
933969 EXPECT_FALSE (snapshot.metadata ().has_pending_writes ());
@@ -945,7 +981,8 @@ TEST_F(FirestoreIntegrationTest, TestQuerySnapshotEventsForDelete) {
945981 listener.AttachTo (&collection, MetadataChanges::kInclude );
946982 Await (listener);
947983 QuerySnapshot snapshot = listener.last_result ();
948- EXPECT_EQ (1 , snapshot.size ());
984+ ASSERT_EQ (1 , snapshot.size ());
985+ EXPECT_TRUE (snapshot.documents ()[0 ].exists ());
949986 EXPECT_THAT (snapshot.documents ()[0 ].GetData (),
950987 ContainerEq (MapFieldValue{{" a" , FieldValue::Double (1.0 )}}));
951988 EXPECT_FALSE (snapshot.metadata ().has_pending_writes ());
@@ -979,10 +1016,12 @@ TEST_F(FirestoreIntegrationTest,
9791016 ListenerRegistration registration = listener.AttachTo (&document);
9801017 WriteDocument (document, MapFieldValue{{" a" , FieldValue::Double (1.0 )}});
9811018 Await (listener);
1019+ EXPECT_TRUE (listener.last_result ().exists ());
9821020 EXPECT_THAT (listener.last_result ().GetData (),
9831021 ContainerEq (MapFieldValue{{" a" , FieldValue::Double (1.0 )}}));
9841022 WriteDocument (document, MapFieldValue{{" b" , FieldValue::Double (1.0 )}});
9851023 Await (listener);
1024+ EXPECT_TRUE (listener.last_result ().exists ());
9861025 EXPECT_THAT (listener.last_result ().GetData (),
9871026 ContainerEq (MapFieldValue{{" b" , FieldValue::Double (1.0 )}}));
9881027 registration.Remove ();
@@ -1100,6 +1139,7 @@ TEST_F(FirestoreIntegrationTest, TestCanQueueWritesWhileOffline) {
11001139
11011140 // Assert
11021141 DocumentSnapshot snapshot = ReadDocument (document);
1142+ EXPECT_TRUE (snapshot.exists ());
11031143 EXPECT_THAT (
11041144 snapshot.GetData (),
11051145 ContainerEq (MapFieldValue{
@@ -1126,6 +1166,7 @@ TEST_F(FirestoreIntegrationTest, TestCanGetDocumentsWhileOffline) {
11261166
11271167 // The network is offline and we return a cached result.
11281168 DocumentSnapshot snapshot = ReadDocument (document);
1169+ EXPECT_TRUE (snapshot.exists ());
11291170 EXPECT_THAT (
11301171 snapshot.GetData (),
11311172 ContainerEq (MapFieldValue{
@@ -1139,6 +1180,7 @@ TEST_F(FirestoreIntegrationTest, TestCanGetDocumentsWhileOffline) {
11391180 Await (TestFirestore ()->EnableNetwork ());
11401181 Await (pending_write);
11411182 snapshot = ReadDocument (document);
1183+ EXPECT_TRUE (snapshot.exists ());
11421184 EXPECT_THAT (
11431185 snapshot.GetData (),
11441186 ContainerEq (MapFieldValue{
@@ -1298,6 +1340,7 @@ TEST_F(FirestoreIntegrationTest, RestartFirestoreLeadsToNewInstance) {
12981340 DocumentReference doc2 = db2->Document (doc_path);
12991341 const DocumentSnapshot* snapshot2 = Await (doc2.Get (Source::kCache ));
13001342 ASSERT_NE (snapshot2, nullptr );
1343+ EXPECT_TRUE (snapshot2->exists ());
13011344 EXPECT_THAT (snapshot2->GetData (),
13021345 ContainerEq (MapFieldValue{{" foo" , FieldValue::String (" bar" )}}));
13031346
@@ -1378,6 +1421,7 @@ TEST_F(FirestoreIntegrationTest, CanClearPersistenceTestHarnessVerification) {
13781421 DocumentReference document_2 = db_2->Document (path);
13791422 Future<DocumentSnapshot> get_future = document_2.Get (Source::kCache );
13801423 DocumentSnapshot snapshot_2 = *Await (get_future);
1424+ EXPECT_TRUE (snapshot_2.exists ());
13811425 EXPECT_THAT (snapshot_2.GetData (),
13821426 ContainerEq (MapFieldValue{{" foo" , FieldValue::Integer (42 )}}));
13831427}
0 commit comments