3535import com .google .gcloud .datastore .StructuredQuery .PropertyFilter ;
3636import com .google .gcloud .datastore .testing .LocalGcdHelper ;
3737import com .google .gcloud .spi .DatastoreRpc ;
38- import com .google .gcloud .spi .DatastoreRpc .DatastoreRpcException ;
3938import com .google .gcloud .spi .DatastoreRpc .DatastoreRpcException .Reason ;
4039import com .google .gcloud .spi .DatastoreRpcFactory ;
4140
5049import org .junit .runners .JUnit4 ;
5150
5251import java .io .IOException ;
53- import java .util .ArrayList ;
5452import java .util .Collections ;
55- import java .util .HashSet ;
5653import java .util .Iterator ;
5754import java .util .List ;
58- import java .util .Set ;
5955
6056@ RunWith (JUnit4 .class )
6157public class DatastoreTest {
@@ -524,7 +520,7 @@ public void testGet() {
524520 }
525521
526522 @ Test
527- public void testGetArrayNoDeferredResults () {
523+ public void testGetArray () {
528524 datastore .put (ENTITY3 );
529525 Iterator <Entity > result =
530526 datastore .fetch (KEY1 , Key .builder (KEY1 ).name ("bla" ).build (), KEY2 , KEY3 ).iterator ();
@@ -550,85 +546,7 @@ public void testGetArrayNoDeferredResults() {
550546 // expected - no such property
551547 }
552548 assertFalse (result .hasNext ());
553- }
554-
555- public void testGetArrayDeferredResults () throws DatastoreRpcException {
556- Set <Key > requestedKeys = new HashSet <>();
557- requestedKeys .add (KEY1 );
558- requestedKeys .add (KEY2 );
559- requestedKeys .add (KEY3 );
560- requestedKeys .add (KEY4 );
561- requestedKeys .add (KEY5 );
562- Iterator <Entity > iter = createDatastoreForDeferredLookup ().get (KEY1 , KEY2 , KEY3 , KEY4 , KEY5 );
563- Set <Key > keysOfFoundEntities = new HashSet <>();
564- while (iter .hasNext ()) {
565- keysOfFoundEntities .add (iter .next ().key ());
566- }
567- assertEquals (requestedKeys , keysOfFoundEntities );
568- }
569-
570- public void testFetchArrayDeferredResults () throws DatastoreRpcException {
571- List <Entity > foundEntities =
572- createDatastoreForDeferredLookup ().fetch (KEY1 , KEY2 , KEY3 , KEY4 , KEY5 );
573- assertEquals (foundEntities .get (0 ).key (), KEY1 );
574- assertEquals (foundEntities .get (1 ).key (), KEY2 );
575- assertEquals (foundEntities .get (2 ).key (), KEY3 );
576- assertEquals (foundEntities .get (3 ).key (), KEY4 );
577- assertEquals (foundEntities .get (4 ).key (), KEY5 );
578- assertEquals (foundEntities .size (), 5 );
579- }
580-
581- private Datastore createDatastoreForDeferredLookup () throws DatastoreRpcException {
582- List <DatastoreV1 .Key > keysPb = new ArrayList <>();
583- keysPb .add (KEY1 .toPb ());
584- keysPb .add (KEY2 .toPb ());
585- keysPb .add (KEY3 .toPb ());
586- keysPb .add (KEY4 .toPb ());
587- keysPb .add (KEY5 .toPb ());
588- List <DatastoreV1 .LookupRequest > lookupRequests = new ArrayList <>();
589- lookupRequests .add (DatastoreV1 .LookupRequest .newBuilder ().addAllKey (keysPb ).build ());
590- lookupRequests .add (
591- DatastoreV1 .LookupRequest .newBuilder ()
592- .addKey (keysPb .get (2 ))
593- .addKey (keysPb .get (3 ))
594- .addKey (keysPb .get (5 ))
595- .build ());
596- lookupRequests .add (DatastoreV1 .LookupRequest .newBuilder ().addKey (keysPb .get (5 )).build ());
597- Entity entity4 = Entity .builder (KEY4 ).set ("value" , StringValue .of ("value" )).build ();
598- Entity entity5 = Entity .builder (KEY5 ).set ("value" , "value" ).build ();
599- List <DatastoreV1 .LookupResponse > lookupResponses = new ArrayList <>();
600- lookupResponses .add (
601- DatastoreV1 .LookupResponse .newBuilder ()
602- .addFound (EntityResult .newBuilder ().setEntity (ENTITY1 .toPb ()))
603- .addFound (EntityResult .newBuilder ().setEntity (entity4 .toPb ()))
604- .addDeferred (keysPb .get (2 ))
605- .addDeferred (keysPb .get (3 ))
606- .addDeferred (keysPb .get (5 ))
607- .build ());
608- lookupResponses .add (
609- DatastoreV1 .LookupResponse .newBuilder ()
610- .addFound (EntityResult .newBuilder ().setEntity (ENTITY3 .toPb ()))
611- .addFound (EntityResult .newBuilder ().setEntity (entity4 .toPb ()))
612- .addDeferred (keysPb .get (5 ))
613- .build ());
614- lookupResponses .add (
615- DatastoreV1 .LookupResponse .newBuilder ()
616- .addFound (EntityResult .newBuilder ().setEntity (entity5 .toPb ()))
617- .build ());
618- DatastoreRpcFactory rpcFactoryMock = EasyMock .createStrictMock (DatastoreRpcFactory .class );
619- DatastoreRpc rpcMock = EasyMock .createStrictMock (DatastoreRpc .class );
620- EasyMock .expect (rpcFactoryMock .create (EasyMock .anyObject (DatastoreOptions .class )))
621- .andReturn (rpcMock );
622- for (int i = 0 ; i < lookupRequests .size (); i ++) {
623- EasyMock .expect (rpcMock .lookup (lookupRequests .get (i ))).andReturn (lookupResponses .get (i ));
624- }
625- EasyMock .replay (rpcFactoryMock , rpcMock );
626- DatastoreOptions options =
627- this .options .toBuilder ()
628- .retryParams (RetryParams .getDefaultInstance ())
629- .serviceRpcFactory (rpcFactoryMock )
630- .build ();
631- return DatastoreFactory .instance ().get (options );
549+ // TODO(ozarov): construct a test to verify more results
632550 }
633551
634552 @ Test
0 commit comments