@@ -553,6 +553,33 @@ public void testGetArrayNoDeferredResults() {
553
553
}
554
554
555
555
public void testGetArrayDeferredResults () throws DatastoreRpcException {
556
+ Set <Key > requestedKeys = new HashSet <Key >();
557
+ requestedKeys .add (KEY1 );
558
+ requestedKeys .add (KEY2 );
559
+ requestedKeys .add (KEY3 );
560
+ requestedKeys .add (KEY4 );
561
+ requestedKeys .add (KEY5 );
562
+ Iterator <Entity > iter =
563
+ createMockDatastoreForDeferredLookup ().get (KEY1 , KEY2 , KEY3 , KEY4 , KEY5 );
564
+ Set <Key > keysOfFoundEntities = new HashSet <Key >();
565
+ while (iter .hasNext ()) {
566
+ keysOfFoundEntities .add (iter .next ().key ());
567
+ }
568
+ assertEquals (requestedKeys , keysOfFoundEntities );
569
+ }
570
+
571
+ public void testFetchArrayDeferredResults () throws DatastoreRpcException {
572
+ List <Entity > foundEntities =
573
+ createMockDatastoreForDeferredLookup ().fetch (KEY1 , KEY2 , KEY3 , KEY4 , KEY5 );
574
+ assertEquals (foundEntities .get (0 ).key (), KEY1 );
575
+ assertEquals (foundEntities .get (1 ).key (), KEY2 );
576
+ assertEquals (foundEntities .get (2 ).key (), KEY3 );
577
+ assertEquals (foundEntities .get (3 ).key (), KEY4 );
578
+ assertEquals (foundEntities .get (4 ).key (), KEY5 );
579
+ assertEquals (foundEntities .size (), 5 );
580
+ }
581
+
582
+ private Datastore createMockDatastoreForDeferredLookup () throws DatastoreRpcException {
556
583
List <DatastoreV1 .Key > keysPb = new ArrayList <>();
557
584
keysPb .add (KEY1 .toPb ());
558
585
keysPb .add (KEY2 .toPb ());
@@ -575,15 +602,15 @@ public void testGetArrayDeferredResults() throws DatastoreRpcException {
575
602
DatastoreV1 .LookupResponse .newBuilder ()
576
603
.addFound (EntityResult .newBuilder ().setEntity (ENTITY1 .toPb ()))
577
604
.addFound (EntityResult .newBuilder ().setEntity (entity4 .toPb ()))
578
- .addDeferred (KEY2 . toPb ( ))
579
- .addDeferred (KEY3 . toPb ( ))
580
- .addDeferred (KEY5 . toPb ( ))
605
+ .addDeferred (keysPb . get ( 2 ))
606
+ .addDeferred (keysPb . get ( 3 ))
607
+ .addDeferred (keysPb . get ( 5 ))
581
608
.build ());
582
609
lookupResponses .add (
583
610
DatastoreV1 .LookupResponse .newBuilder ()
584
611
.addFound (EntityResult .newBuilder ().setEntity (ENTITY3 .toPb ()))
585
612
.addFound (EntityResult .newBuilder ().setEntity (entity4 .toPb ()))
586
- .addDeferred (KEY5 . toPb ( ))
613
+ .addDeferred (keysPb . get ( 5 ))
587
614
.build ());
588
615
lookupResponses .add (
589
616
DatastoreV1 .LookupResponse .newBuilder ()
@@ -602,13 +629,7 @@ public void testGetArrayDeferredResults() throws DatastoreRpcException {
602
629
.retryParams (RetryParams .getDefaultInstance ())
603
630
.serviceRpcFactory (rpcFactoryMock )
604
631
.build ();
605
- Datastore datastore = DatastoreFactory .instance ().get (options );
606
- Iterator <Entity > iter = datastore .get (KEY1 , KEY2 , KEY3 , KEY4 , KEY5 );
607
- Set <Entity > foundEntities = new HashSet <>();
608
- while (iter .hasNext ()) {
609
- foundEntities .add (iter .next ());
610
- }
611
- assertEquals (foundEntities .size (), 5 );
632
+ return DatastoreFactory .instance ().get (options );
612
633
}
613
634
614
635
@ Test
0 commit comments