88import static org .junit .Assert .assertTrue ;
99import static org .junit .Assert .fail ;
1010
11- import com .google .api .services .datastore .DatastoreV1 ;
12- import com .google .api .services .datastore .client .Datastore ;
1311import com .google .api .services .datastore .client .DatastoreException ;
1412import com .google .gcloud .datastore .Query .Type ;
1513import com .google .gcloud .datastore .StructuredQuery .OrderBy ;
1614import com .google .gcloud .datastore .StructuredQuery .Projection ;
1715import com .google .gcloud .datastore .StructuredQuery .PropertyFilter ;
18- import org . easymock . EasyMock ;
16+
1917import org .junit .After ;
2018import org .junit .Before ;
2119import org .junit .Test ;
@@ -264,8 +262,7 @@ public void testNewBatch() {
264262 assertFalse (entities .hasNext ());
265263 List <Key > generatedKeys = response .generatedKeys ();
266264 assertEquals (1 , generatedKeys .size ());
267- // todo(ozarov): uncomment after local datastore fix their bug with returned keys
268- // assertEquals(PARTIAL_ENTITY1.properties(), datastore.get(generatedKeys.get(0)).properties());
265+ assertEquals (PARTIAL_ENTITY1 .properties (), datastore .get (generatedKeys .get (0 )).properties ());
269266
270267 try {
271268 batch .submit ();
@@ -335,26 +332,6 @@ public void testRunGqlQueryNoCasting() throws DatastoreException {
335332 GqlQuery <ProjectionEntity > projectionQuery = GqlQuery .builder (
336333 Type .PROJECTION , "select str, date from " + KIND1 ).build ();
337334
338- // this hack is needed because of b/18806697
339- DatastoreV1 .RunQueryRequest .Builder requestPb = DatastoreV1 .RunQueryRequest .newBuilder ();
340- requestPb .setGqlQuery (projectionQuery .toPb ());
341- requestPb .setPartitionId (DatastoreV1 .PartitionId .newBuilder ().setDatasetId (DATASET ).build ());
342- DatastoreV1 .RunQueryResponse responsePb =
343- ((DatastoreServiceImpl ) datastore ).runQuery (requestPb .build ());
344- DatastoreV1 .RunQueryResponse .Builder responsePbBuilder = responsePb .toBuilder ();
345- responsePbBuilder .getBatchBuilder ()
346- .setEntityResultType (DatastoreV1 .EntityResult .ResultType .PROJECTION ).build ();
347- Datastore mockDatastore = EasyMock .createMock (Datastore .class );
348- DatastoreV1 .EntityResult found =
349- DatastoreV1 .EntityResult .newBuilder ().setEntity (ENTITY1 .toPb ()).build ();
350- EasyMock .expect (mockDatastore .lookup (EasyMock .<DatastoreV1 .LookupRequest >anyObject ()))
351- .andReturn (DatastoreV1 .LookupResponse .newBuilder ().addFound (found ).build ());
352- EasyMock .expect (mockDatastore .runQuery (requestPb .build ())).andReturn (responsePbBuilder .build ());
353- EasyMock .replay (mockDatastore );
354- datastore = DatastoreServiceFactory .getDefault (
355- datastore .options ().toBuilder ().datastore (mockDatastore ).build ());
356- // end of hack
357-
358335 QueryResult <ProjectionEntity > projectionResult = datastore .run (projectionQuery );
359336 assertTrue (projectionResult .hasNext ());
360337 projectionEntity = projectionResult .next ();
@@ -364,7 +341,6 @@ public void testRunGqlQueryNoCasting() throws DatastoreException {
364341 projectionEntity .getLong ("date" ));
365342 assertEquals (2 , projectionEntity .names ().size ());
366343 assertFalse (projectionResult .hasNext ());
367- EasyMock .verify (mockDatastore );
368344 }
369345
370346 @ Test
@@ -418,25 +394,6 @@ public void testRunStructuredQuery() throws DatastoreException {
418394 .orderBy (OrderBy .asc ("age" ))
419395 .limit (10 )
420396 .build ();
421- // this hack is needed because of b/18806697
422- DatastoreV1 .RunQueryRequest .Builder requestPb = DatastoreV1 .RunQueryRequest .newBuilder ();
423- requestPb .setQuery (projectionQuery .toPb ());
424- requestPb .setPartitionId (DatastoreV1 .PartitionId .newBuilder ().setDatasetId (DATASET ).build ());
425- DatastoreV1 .RunQueryResponse responsePb =
426- ((DatastoreServiceImpl ) datastore ).runQuery (requestPb .build ());
427- DatastoreV1 .RunQueryResponse .Builder responsePbBuilder = responsePb .toBuilder ();
428- responsePbBuilder .getBatchBuilder ()
429- .setEntityResultType (DatastoreV1 .EntityResult .ResultType .PROJECTION ).build ();
430- Datastore mockDatastore = EasyMock .createMock (Datastore .class );
431- DatastoreV1 .EntityResult missing =
432- DatastoreV1 .EntityResult .newBuilder ().setEntity (ENTITY1 .toPb ()).build ();
433- EasyMock .expect (mockDatastore .lookup (EasyMock .<DatastoreV1 .LookupRequest >anyObject ()))
434- .andReturn (DatastoreV1 .LookupResponse .newBuilder ().addMissing (missing ).build ());
435- EasyMock .expect (mockDatastore .runQuery (requestPb .build ())).andReturn (responsePbBuilder .build ());
436- EasyMock .replay (mockDatastore );
437- datastore = DatastoreServiceFactory .getDefault (
438- datastore .options ().toBuilder ().datastore (mockDatastore ).build ());
439- // end of hack
440397
441398 QueryResult <ProjectionEntity > results4 = datastore .run (projectionQuery );
442399 assertTrue (results4 .hasNext ());
@@ -446,8 +403,6 @@ public void testRunStructuredQuery() throws DatastoreException {
446403 assertEquals ("Dan" , entity .getString ("name" ));
447404 assertEquals (2 , entity .properties ().size ());
448405 assertFalse (results4 .hasNext ());
449- EasyMock .verify (mockDatastore );
450-
451406 // TODO(ozarov): construct a test to verify nextQuery/pagination
452407 }
453408
0 commit comments