Skip to content

Commit feef0c4

Browse files
Clean up RemoteDocumentCacheTestCase
Small PR that extracts common data elements from the tests.
1 parent 88cea33 commit feef0c4

File tree

1 file changed

+24
-15
lines changed

1 file changed

+24
-15
lines changed

firebase-firestore/src/test/java/com/google/firebase/firestore/local/RemoteDocumentCacheTestCase.java

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
* </ol>
5555
*/
5656
abstract class RemoteDocumentCacheTestCase {
57+
private final Map<String, Object> DATA = map("data", 2);
5758

5859
private Persistence persistence;
5960
private RemoteDocumentCache remoteDocumentCache;
@@ -127,7 +128,7 @@ public void testSetAndReadLotsOfDocuments() {
127128
List<String> paths = new ArrayList<>();
128129
Map<DocumentKey, MutableDocument> expected = new HashMap<>();
129130
for (int i = 0; i < lotsOfDocuments; i++) {
130-
String path = "foo/" + String.valueOf(i);
131+
String path = "foo/" + i;
131132
paths.add(path);
132133
expected.put(DocumentKey.fromPathString(path), addTestDocumentAtPath(path));
133134
}
@@ -173,7 +174,6 @@ public void testRemoveNonExistentDocument() {
173174
public void testDocumentsMatchingQuery() {
174175
// TODO: This just verifies that we do a prefix scan against the
175176
// query path. We'll need more tests once we add index support.
176-
Map<String, Object> docData = map("data", 2);
177177
addTestDocumentAtPath("a/1");
178178
addTestDocumentAtPath("b/1");
179179
addTestDocumentAtPath("b/2");
@@ -182,41 +182,51 @@ public void testDocumentsMatchingQuery() {
182182
Query query = Query.atPath(path("b"));
183183
ImmutableSortedMap<DocumentKey, MutableDocument> results =
184184
remoteDocumentCache.getAllDocumentsMatchingQuery(query, IndexOffset.NONE);
185-
List<MutableDocument> expected = asList(doc("b/1", 42, docData), doc("b/2", 42, docData));
186-
// assertEquals(expected, values(results));
185+
List<MutableDocument> expected = asList(doc("b/1", 42, DATA), doc("b/2", 42, DATA));
186+
assertEquals(expected, values(results));
187+
}
188+
189+
@Test
190+
public void testDocumentsMatchingQueryExcludesSubcollections() {
191+
addTestDocumentAtPath("a/1");
192+
addTestDocumentAtPath("a/1/b/1");
193+
addTestDocumentAtPath("a/2");
194+
195+
Query query = Query.atPath(path("a"));
196+
ImmutableSortedMap<DocumentKey, MutableDocument> results =
197+
remoteDocumentCache.getAllDocumentsMatchingQuery(query, IndexOffset.NONE);
198+
List<MutableDocument> expected = asList(doc("a/1", 42, DATA), doc("a/2", 42, DATA));
199+
assertEquals(expected, values(results));
187200
}
188201

189202
@Test
190203
public void testDocumentsMatchingQuerySinceReadTimeAndSeconds() {
191-
Map<String, Object> docData = map("data", 2);
192204
addTestDocumentAtPath("b/old", /* updateTime= */ 1, /* readTime= */ 11);
193205
addTestDocumentAtPath("b/current", /* updateTime= */ 2, /* readTime= = */ 12);
194206
addTestDocumentAtPath("b/new", /* updateTime= */ 3, /* readTime= = */ 13);
195207

196208
Query query = Query.atPath(path("b"));
197209
ImmutableSortedMap<DocumentKey, MutableDocument> results =
198210
remoteDocumentCache.getAllDocumentsMatchingQuery(query, IndexOffset.create(version(12)));
199-
List<MutableDocument> expected = asList(doc("b/new", 3, docData));
211+
List<MutableDocument> expected = asList(doc("b/new", 3, DATA));
200212
assertEquals(expected, values(results));
201213
}
202214

203215
@Test
204216
public void testDocumentsMatchingQuerySinceReadTimeAndNanoseconds() {
205-
Map<String, Object> docData = map("data", 2);
206-
add(doc("b/old", 1, docData), version(1, 1));
207-
add(doc("b/current", 1, docData), version(1, 2));
208-
add(doc("b/new", 1, docData), version(1, 3));
217+
add(doc("b/old", 1, DATA), version(1, 1));
218+
add(doc("b/current", 1, DATA), version(1, 2));
219+
add(doc("b/new", 1, DATA), version(1, 3));
209220

210221
Query query = Query.atPath(path("b"));
211222
ImmutableSortedMap<DocumentKey, MutableDocument> results =
212223
remoteDocumentCache.getAllDocumentsMatchingQuery(query, IndexOffset.create(version(1, 2)));
213-
List<MutableDocument> expected = asList(doc("b/new", 1, docData));
224+
List<MutableDocument> expected = asList(doc("b/new", 1, DATA));
214225
assertEquals(expected, values(results));
215226
}
216227

217228
@Test
218229
public void testDocumentsMatchingQuerySinceReadTimeAndDocumentKey() {
219-
Map<String, Object> docData = map("data", 2);
220230
addTestDocumentAtPath("b/a", /* updateTime= */ 1, /* readTime= */ 11);
221231
addTestDocumentAtPath("b/b", /* updateTime= */ 2, /* readTime= = */ 11);
222232
addTestDocumentAtPath("b/c", /* updateTime= */ 3, /* readTime= = */ 11);
@@ -226,20 +236,19 @@ public void testDocumentsMatchingQuerySinceReadTimeAndDocumentKey() {
226236
ImmutableSortedMap<DocumentKey, MutableDocument> results =
227237
remoteDocumentCache.getAllDocumentsMatchingQuery(
228238
query, IndexOffset.create(version(11), key("b/b")));
229-
List<MutableDocument> expected = asList(doc("b/c", 3, docData), doc("b/d", 4, docData));
239+
List<MutableDocument> expected = asList(doc("b/c", 3, DATA), doc("b/d", 4, DATA));
230240
assertEquals(expected, values(results));
231241
}
232242

233243
@Test
234244
public void testDocumentsMatchingUsesReadTimeNotUpdateTime() {
235-
Map<String, Object> docData = map("data", 2);
236245
addTestDocumentAtPath("b/old", /* updateTime= */ 1, /* readTime= */ 2);
237246
addTestDocumentAtPath("b/new", /* updateTime= */ 2, /* readTime= */ 1);
238247

239248
Query query = Query.atPath(path("b"));
240249
ImmutableSortedMap<DocumentKey, MutableDocument> results =
241250
remoteDocumentCache.getAllDocumentsMatchingQuery(query, IndexOffset.create(version(1)));
242-
List<MutableDocument> expected = asList(doc("b/old", 1, docData));
251+
List<MutableDocument> expected = asList(doc("b/old", 1, DATA));
243252
assertEquals(expected, values(results));
244253
}
245254

0 commit comments

Comments
 (0)