Skip to content

Commit b270c64

Browse files
author
Ajay Kannan
committed
Set namespace in Gql's nextQuery and add another batch to tests
1 parent 50a5a66 commit b270c64

2 files changed

Lines changed: 24 additions & 15 deletions

File tree

gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/GqlQuery.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,7 @@ protected void populatePb(com.google.datastore.v1beta3.RunQueryRequest.Builder r
381381
@Override
382382
protected StructuredQuery<V> nextQuery(com.google.datastore.v1beta3.RunQueryResponse responsePb) {
383383
return new StructuredQuery.Builder<>(type())
384+
.namespace(namespace())
384385
.mergeFrom(responsePb.getQuery())
385386
.prepareNext(responsePb.getBatch())
386387
.build();

gcloud-java-datastore/src/test/java/com/google/gcloud/datastore/DatastoreTest.java

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)