21
21
import static com .google .firebase .firestore .testutil .TestUtil .doc ;
22
22
import static com .google .firebase .firestore .testutil .TestUtil .key ;
23
23
import static com .google .firebase .firestore .testutil .TestUtil .map ;
24
+ import static com .google .firebase .firestore .testutil .TestUtil .noChangeEvent ;
24
25
import static com .google .firebase .firestore .testutil .TestUtil .patchMutation ;
25
26
import static com .google .firebase .firestore .testutil .TestUtil .query ;
26
27
import static com .google .firebase .firestore .testutil .TestUtil .resumeToken ;
46
47
import com .google .firebase .database .collection .ImmutableSortedMap ;
47
48
import com .google .firebase .database .collection .ImmutableSortedSet ;
48
49
import com .google .firebase .firestore .FieldValue ;
49
- import com .google .firebase .firestore .TestUtil .TestTargetMetadataProvider ;
50
50
import com .google .firebase .firestore .auth .User ;
51
51
import com .google .firebase .firestore .core .Query ;
52
52
import com .google .firebase .firestore .model .Document ;
61
61
import com .google .firebase .firestore .model .mutation .MutationResult ;
62
62
import com .google .firebase .firestore .model .mutation .SetMutation ;
63
63
import com .google .firebase .firestore .remote .RemoteEvent ;
64
- import com .google .firebase .firestore .remote .WatchChange .WatchTargetChange ;
65
- import com .google .firebase .firestore .remote .WatchChange .WatchTargetChangeType ;
66
- import com .google .firebase .firestore .remote .WatchChangeAggregator ;
67
64
import com .google .firebase .firestore .remote .WatchStream ;
68
65
import com .google .firebase .firestore .remote .WriteStream ;
69
66
import com .google .firebase .firestore .testutil .TestUtil ;
70
- import com .google .protobuf .ByteString ;
71
67
import java .util .ArrayList ;
72
68
import java .util .Arrays ;
73
69
import java .util .Collections ;
@@ -912,26 +908,15 @@ public void testPersistsResumeTokens() {
912
908
913
909
Query query = query ("foo/bar" );
914
910
int targetId = allocateQuery (query );
915
- ByteString resumeToken = resumeToken (1000 );
916
911
917
- QueryData queryData = TestUtil .queryData (targetId , QueryPurpose .LISTEN , "foo/bar" );
918
- TestTargetMetadataProvider testTargetMetadataProvider = new TestTargetMetadataProvider ();
919
- testTargetMetadataProvider .setSyncedKeys (queryData , DocumentKey .emptyKeySet ());
920
-
921
- WatchChangeAggregator aggregator = new WatchChangeAggregator (testTargetMetadataProvider );
922
-
923
- WatchTargetChange watchChange =
924
- new WatchTargetChange (WatchTargetChangeType .Current , asList (targetId ), resumeToken );
925
- aggregator .handleTargetChange (watchChange );
926
- RemoteEvent remoteEvent = aggregator .createRemoteEvent (version (1000 ));
927
- applyRemoteEvent (remoteEvent );
912
+ applyRemoteEvent (noChangeEvent (targetId , 1000 ));
928
913
929
914
// Stop listening so that the query should become inactive (but persistent)
930
915
localStore .releaseQuery (query );
931
916
932
917
// Should come back with the same resume token
933
918
QueryData queryData2 = localStore .allocateQuery (query );
934
- assertEquals (resumeToken , queryData2 .getResumeToken ());
919
+ assertEquals (resumeToken ( 1000 ) , queryData2 .getResumeToken ());
935
920
}
936
921
937
922
@ Test
@@ -943,35 +928,18 @@ public void testDoesNotReplaceResumeTokenWithEmptyByteString() {
943
928
944
929
Query query = query ("foo/bar" );
945
930
int targetId = allocateQuery (query );
946
- ByteString resumeToken = resumeToken (1000 );
947
-
948
- QueryData queryData = TestUtil .queryData (targetId , QueryPurpose .LISTEN , "foo/bar" );
949
- TestTargetMetadataProvider testTargetMetadataProvider = new TestTargetMetadataProvider ();
950
- testTargetMetadataProvider .setSyncedKeys (queryData , DocumentKey .emptyKeySet ());
951
-
952
- WatchChangeAggregator aggregator1 = new WatchChangeAggregator (testTargetMetadataProvider );
953
931
954
- WatchTargetChange watchChange1 =
955
- new WatchTargetChange (WatchTargetChangeType .Current , asList (targetId ), resumeToken );
956
- aggregator1 .handleTargetChange (watchChange1 );
957
- RemoteEvent remoteEvent1 = aggregator1 .createRemoteEvent (version (1000 ));
958
- applyRemoteEvent (remoteEvent1 );
932
+ applyRemoteEvent (noChangeEvent (targetId , 1000 ));
959
933
960
934
// New message with empty resume token should not replace the old resume token
961
- WatchChangeAggregator aggregator2 = new WatchChangeAggregator (testTargetMetadataProvider );
962
- WatchTargetChange watchChange2 =
963
- new WatchTargetChange (
964
- WatchTargetChangeType .Current , asList (targetId ), WatchStream .EMPTY_RESUME_TOKEN );
965
- aggregator2 .handleTargetChange (watchChange2 );
966
- RemoteEvent remoteEvent2 = aggregator2 .createRemoteEvent (version (2000 ));
967
- applyRemoteEvent (remoteEvent2 );
935
+ applyRemoteEvent (TestUtil .noChangeEvent (targetId , 2000 , WatchStream .EMPTY_RESUME_TOKEN ));
968
936
969
937
// Stop listening so that the query should become inactive (but persistent)
970
938
localStore .releaseQuery (query );
971
939
972
940
// Should come back with the same resume token
973
941
QueryData queryData2 = localStore .allocateQuery (query );
974
- assertEquals (resumeToken , queryData2 .getResumeToken ());
942
+ assertEquals (resumeToken ( 1000 ) , queryData2 .getResumeToken ());
975
943
}
976
944
977
945
@ Test
0 commit comments