@@ -406,22 +406,18 @@ public void testRunGqlQueryWithCasting() {
406406 }
407407
408408 @ Test
409- public void testGqlQueryPagination () {
409+ public void testGqlQueryPagination () throws DatastoreRpcException {
410410 DatastoreRpcFactory rpcFactoryMock = EasyMock .createStrictMock (DatastoreRpcFactory .class );
411411 DatastoreRpc rpcMock = EasyMock .createStrictMock (DatastoreRpc .class );
412412 EasyMock .expect (rpcFactoryMock .create (EasyMock .anyObject (DatastoreOptions .class )))
413413 .andReturn (rpcMock );
414414 List <com .google .datastore .v1beta3 .RunQueryResponse > responses =
415415 buildResponsesForQueryPagination ();
416416 for (int i = 0 ; i < responses .size (); i ++) {
417- try {
418417 EasyMock
419418 .expect (rpcMock .runQuery (
420419 EasyMock .anyObject (com .google .datastore .v1beta3 .RunQueryRequest .class )))
421420 .andReturn (responses .get (i ));
422- } catch (DatastoreRpcException e ) {
423- fail ("Unexpected DatastoreRpcException" );
424- }
425421 }
426422 EasyMock .replay (rpcFactoryMock , rpcMock );
427423 DatastoreOptions options =
@@ -437,7 +433,7 @@ public void testGqlQueryPagination() {
437433 count += 1 ;
438434 results .next ();
439435 }
440- assertEquals (count , responses . size () );
436+ assertEquals (count , 5 );
441437 EasyMock .verify (rpcFactoryMock , rpcMock );
442438 }
443439
@@ -486,22 +482,18 @@ public void testRunStructuredQuery() {
486482 }
487483
488484 @ Test
489- public void testStructuredQueryPagination () {
485+ public void testStructuredQueryPagination () throws DatastoreRpcException {
490486 DatastoreRpcFactory rpcFactoryMock = EasyMock .createStrictMock (DatastoreRpcFactory .class );
491487 DatastoreRpc rpcMock = EasyMock .createStrictMock (DatastoreRpc .class );
492488 EasyMock .expect (rpcFactoryMock .create (EasyMock .anyObject (DatastoreOptions .class )))
493489 .andReturn (rpcMock );
494490 List <com .google .datastore .v1beta3 .RunQueryResponse > responses =
495491 buildResponsesForQueryPagination ();
496492 for (int i = 0 ; i < responses .size (); i ++) {
497- try {
498493 EasyMock
499494 .expect (rpcMock .runQuery (
500495 EasyMock .anyObject (com .google .datastore .v1beta3 .RunQueryRequest .class )))
501496 .andReturn (responses .get (i ));
502- } catch (DatastoreRpcException e ) {
503- fail ("Unexpected DatastoreRpcException" );
504- }
505497 }
506498 EasyMock .replay (rpcFactoryMock , rpcMock );
507499 DatastoreOptions options =
@@ -516,11 +508,14 @@ public void testStructuredQueryPagination() {
516508 count += 1 ;
517509 results .next ();
518510 }
519- assertEquals (count , responses . size () );
511+ assertEquals (count , 5 );
520512 EasyMock .verify (rpcFactoryMock , rpcMock );
521513 }
522514
523515 private List <com .google .datastore .v1beta3 .RunQueryResponse > buildResponsesForQueryPagination () {
516+ Entity entity4 = Entity .builder (KEY4 ).set ("value" , StringValue .of ("value" )).build ();
517+ Entity entity5 = Entity .builder (KEY5 ).set ("value" , "value" ).build ();
518+ datastore .add (ENTITY3 , entity4 , entity5 );
524519 List <com .google .datastore .v1beta3 .RunQueryResponse > responses = new ArrayList <>();
525520 Query <Key > query = Query .keyQueryBuilder ().build ();
526521 com .google .datastore .v1beta3 .RunQueryRequest .Builder requestPb =
@@ -547,15 +542,28 @@ private List<com.google.datastore.v1beta3.RunQueryResponse> buildResponsesForQue
547542 com .google .datastore .v1beta3 .QueryResultBatch .newBuilder ()
548543 .mergeFrom (queryResultBatchPb )
549544 .setMoreResults (
550- com .google .datastore .v1beta3 .QueryResultBatch .MoreResultsType .NO_MORE_RESULTS )
545+ com .google .datastore .v1beta3 .QueryResultBatch .MoreResultsType .NOT_FINISHED )
551546 .clearEntityResults ()
552- .addAllEntityResults (queryResultBatchPb .getEntityResultsList ().subList (1 , 2 ))
553- .setEndCursor (queryResultBatchPb .getEntityResultsList ().get (1 ).getCursor ())
547+ .addAllEntityResults (queryResultBatchPb .getEntityResultsList ().subList (1 , 3 ))
548+ .setEndCursor (queryResultBatchPb .getEntityResultsList ().get (2 ).getCursor ())
554549 .build ();
555550 responses .add (
556551 com .google .datastore .v1beta3 .RunQueryResponse .newBuilder ()
557552 .setBatch (queryResultBatchPb2 )
558553 .build ());
554+ com .google .datastore .v1beta3 .QueryResultBatch queryResultBatchPb3 =
555+ com .google .datastore .v1beta3 .QueryResultBatch .newBuilder ()
556+ .mergeFrom (queryResultBatchPb )
557+ .setMoreResults (
558+ com .google .datastore .v1beta3 .QueryResultBatch .MoreResultsType .NO_MORE_RESULTS )
559+ .clearEntityResults ()
560+ .addAllEntityResults (queryResultBatchPb .getEntityResultsList ().subList (3 , 5 ))
561+ .setEndCursor (queryResultBatchPb .getEntityResultsList ().get (4 ).getCursor ())
562+ .build ();
563+ responses .add (
564+ com .google .datastore .v1beta3 .RunQueryResponse .newBuilder ()
565+ .setBatch (queryResultBatchPb3 )
566+ .build ());
559567 return responses ;
560568 }
561569
0 commit comments