Search in sources :

Example 21 with Target

use of com.google.firebase.firestore.core.Target in project firebase-android-sdk by firebase.

the class BundleCacheTestCase method testReturnsSavedCollectionQueries.

@Test
public void testReturnsSavedCollectionQueries() {
    Target target = new Target(path("room"), /* collectionGroup= */
    null, Collections.emptyList(), Collections.emptyList(), Target.NO_LIMIT, /* startAt= */
    null, /* endAt= */
    null);
    BundledQuery bundledQuery = new BundledQuery(target, Query.LimitType.LIMIT_TO_FIRST);
    NamedQuery expectedQuery = new NamedQuery("query-1", bundledQuery, new SnapshotVersion(Timestamp.now()));
    bundleCache.saveNamedQuery(expectedQuery);
    NamedQuery actualQuery = bundleCache.getNamedQuery("query-1");
    assertEquals(expectedQuery, actualQuery);
}
Also used : Target(com.google.firebase.firestore.core.Target) SnapshotVersion(com.google.firebase.firestore.model.SnapshotVersion) BundledQuery(com.google.firebase.firestore.bundle.BundledQuery) NamedQuery(com.google.firebase.firestore.bundle.NamedQuery) Test(org.junit.Test)

Example 22 with Target

use of com.google.firebase.firestore.core.Target in project firebase-android-sdk by firebase.

the class IndexBackfillerTest method testBackfillUsesDocumentKeyOffsetForLargeSnapshots.

@Test
public void testBackfillUsesDocumentKeyOffsetForLargeSnapshots() {
    backfiller.setMaxDocumentsToProcess(2);
    addFieldIndex("coll1", "foo");
    Target target = query("coll1").orderBy(orderBy("foo")).toTarget();
    addDoc("coll1/docA", version(1), "foo", 1);
    addDoc("coll1/docB", version(1), "foo", 1);
    addDoc("coll1/docC", version(1), "foo", 1);
    int documentsProcessed = backfiller.backfill();
    assertEquals(2, documentsProcessed);
    verifyQueryResults("coll1", "coll1/docA", "coll1/docB");
    documentsProcessed = backfiller.backfill();
    assertEquals(1, documentsProcessed);
    verifyQueryResults("coll1", "coll1/docA", "coll1/docB", "coll1/docC");
}
Also used : Target(com.google.firebase.firestore.core.Target) Test(org.junit.Test)

Example 23 with Target

use of com.google.firebase.firestore.core.Target in project firebase-android-sdk by firebase.

the class IndexBackfillerTest method testBackfillWritesOldestDocumentFirst.

@Test
public void testBackfillWritesOldestDocumentFirst() {
    backfiller.setMaxDocumentsToProcess(2);
    addFieldIndex("coll1", "foo");
    Target target = query("coll1").orderBy(orderBy("foo")).toTarget();
    addDoc("coll1/docA", version(5), "foo", 1);
    addDoc("coll1/docB", version(3), "foo", 1);
    addDoc("coll1/docC", version(10), "foo", 1);
    int documentsProcessed = backfiller.backfill();
    assertEquals(2, documentsProcessed);
    verifyQueryResults("coll1", "coll1/docA", "coll1/docB");
    documentsProcessed = backfiller.backfill();
    assertEquals(1, documentsProcessed);
    verifyQueryResults("coll1", "coll1/docA", "coll1/docB", "coll1/docC");
}
Also used : Target(com.google.firebase.firestore.core.Target) Test(org.junit.Test)

Aggregations

Target (com.google.firebase.firestore.core.Target)23 Test (org.junit.Test)14 BundledQuery (com.google.firebase.firestore.bundle.BundledQuery)11 NamedQuery (com.google.firebase.firestore.bundle.NamedQuery)8 SnapshotVersion (com.google.firebase.firestore.model.SnapshotVersion)7 DocumentKey (com.google.firebase.firestore.model.DocumentKey)5 Filter (com.google.firebase.firestore.core.Filter)3 Query (com.google.firebase.firestore.core.Query)3 ArrayList (java.util.ArrayList)3 Nullable (androidx.annotation.Nullable)2 Bound (com.google.firebase.firestore.core.Bound)2 FieldFilter (com.google.firebase.firestore.core.FieldFilter)2 FieldIndex (com.google.firebase.firestore.model.FieldIndex)2 ByteString (com.google.protobuf.ByteString)2 Truth.assertWithMessage (com.google.common.truth.Truth.assertWithMessage)1 User (com.google.firebase.firestore.auth.User)1 CompositeFilter (com.google.firebase.firestore.core.CompositeFilter)1 OrderBy (com.google.firebase.firestore.core.OrderBy)1 LimitType (com.google.firebase.firestore.core.Query.LimitType)1 TargetData (com.google.firebase.firestore.local.TargetData)1