From 66f2ce4c39051bcffaae4054702c1d87a97c8973 Mon Sep 17 00:00:00 2001 From: Greg Soltis Date: Thu, 3 May 2018 12:11:39 -0700 Subject: Bump sequence numbers when receiving a new resume token (#1214) * Bump sequence number on resume token refresh * Style * Fix comment formatting --- Firestore/Example/Tests/Local/FSTLocalStoreTests.mm | 5 +++++ Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'Firestore/Example/Tests') diff --git a/Firestore/Example/Tests/Local/FSTLocalStoreTests.mm b/Firestore/Example/Tests/Local/FSTLocalStoreTests.mm index 6c7fb3d..4175118 100644 --- a/Firestore/Example/Tests/Local/FSTLocalStoreTests.mm +++ b/Firestore/Example/Tests/Local/FSTLocalStoreTests.mm @@ -808,6 +808,7 @@ FSTDocumentVersionDictionary *FSTVersionDictionary(FSTMutation *mutation, FSTQuery *query = FSTTestQuery("foo/bar"); FSTQueryData *queryData = [self.localStore allocateQuery:query]; + FSTListenSequenceNumber initialSequenceNumber = queryData.sequenceNumber; FSTBoxedTargetID *targetID = @(queryData.targetID); NSData *resumeToken = FSTTestResumeTokenFromSnapshotVersion(1000); @@ -834,6 +835,10 @@ FSTDocumentVersionDictionary *FSTVersionDictionary(FSTMutation *mutation, // Should come back with the same resume token FSTQueryData *queryData2 = [self.localStore allocateQuery:query]; XCTAssertEqualObjects(queryData2.resumeToken, resumeToken); + + // The sequence number should have been bumped when we saved the new resume token. + FSTListenSequenceNumber newSequenceNumber = queryData2.sequenceNumber; + XCTAssertGreaterThan(newSequenceNumber, initialSequenceNumber); } - (void)testRemoteDocumentKeysForTarget { diff --git a/Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm b/Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm index 263ca22..dd34556 100644 --- a/Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm +++ b/Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm @@ -121,7 +121,8 @@ NS_ASSUME_NONNULL_BEGIN self.datastore.watchStreamRequestCount += 1; // Snapshot version is ignored on the wire FSTQueryData *sentQueryData = [query queryDataByReplacingSnapshotVersion:SnapshotVersion::None() - resumeToken:query.resumeToken]; + resumeToken:query.resumeToken + sequenceNumber:query.sequenceNumber]; self.activeTargets[@(query.targetID)] = sentQueryData; } -- cgit v1.2.3