1111import com .google .api .services .datastore .DatastoreV1 ;
1212import com .google .api .services .datastore .client .Datastore ;
1313import com .google .api .services .datastore .client .DatastoreException ;
14- import com .google .common .collect .Maps ;
1514import com .google .gcloud .datastore .Query .Type ;
1615import com .google .gcloud .datastore .StructuredQuery .OrderBy ;
1716import com .google .gcloud .datastore .StructuredQuery .Projection ;
2120import org .junit .Before ;
2221import org .junit .Test ;
2322
24- import java .util .ArrayList ;
2523import java .util .Collections ;
2624import java .util .HashMap ;
2725import java .util .Iterator ;
@@ -68,6 +66,7 @@ public class DatastoreServiceTest {
6866
6967 private DatastoreServiceOptions options ;
7068 private DatastoreService datastore ;
69+ private DatastoreHelper helper ;
7170
7271 @ Before
7372 public void setUp () {
@@ -83,6 +82,7 @@ public void setUp() {
8382 .host ("http://localhost:8080" )
8483 .build ();
8584 datastore = DatastoreServiceFactory .getDefault (options );
85+ helper = DatastoreHelper .createFor (datastore );
8686 // Prepare data for testing
8787 datastore .delete (KEY1 , KEY2 , KEY3 , KEY4 , KEY5 );
8888 datastore .add (ENTITY1 , ENTITY2 );
@@ -105,7 +105,7 @@ public void testNewTransactionCommit() {
105105 transaction .delete (KEY1 );
106106 transaction .commit ();
107107
108- List <Entity > list = fetch (KEY1 , KEY2 , KEY3 );
108+ List <Entity > list = helper . fetch (KEY1 , KEY2 , KEY3 );
109109 assertNull (list .get (0 ));
110110 assertEquals (entity2 , list .get (1 ));
111111 assertEquals (ENTITY3 , list .get (2 ));
@@ -197,7 +197,7 @@ public void testNewTransactionRollback() {
197197
198198 verifyNotUsable (transaction );
199199
200- List <Entity > list = fetch (KEY1 , KEY2 , KEY3 );
200+ List <Entity > list = helper . fetch (KEY1 , KEY2 , KEY3 );
201201 assertEquals (ENTITY1 , list .get (0 ));
202202 assertEquals (ENTITY2 , list .get (1 ));
203203 assertNull (list .get (2 ));
@@ -245,7 +245,8 @@ public void testNewBatchWriter() {
245245 batchWriter .add (entity4 , entity5 );
246246 batchWriter .put (ENTITY3 , entity1 , entity2 );
247247 batchWriter .submit ();
248- Iterator <Entity > entities = fetch (KEY1 , KEY2 , KEY3 , entity4 .key (), entity5 .key ()).iterator ();
248+ Iterator <Entity > entities =
249+ helper .fetch (KEY1 , KEY2 , KEY3 , entity4 .key (), entity5 .key ()).iterator ();
249250 assertEquals (entity1 , entities .next ());
250251 assertEquals (entity2 , entities .next ());
251252 assertEquals (ENTITY3 , entities .next ());
@@ -265,7 +266,7 @@ public void testNewBatchWriter() {
265266 batchWriter .delete (entity4 .key (), entity5 .key ());
266267 batchWriter .update (ENTITY1 , ENTITY2 , ENTITY3 );
267268 batchWriter .submit ();
268- entities = fetch (KEY1 , KEY2 , KEY3 , entity4 .key (), entity5 .key ()).iterator ();
269+ entities = helper . fetch (KEY1 , KEY2 , KEY3 , entity4 .key (), entity5 .key ()).iterator ();
269270 assertEquals (ENTITY1 , entities .next ());
270271 assertEquals (ENTITY2 , entities .next ());
271272 assertEquals (ENTITY3 , entities .next ());
@@ -431,7 +432,7 @@ public void testRunStructuredQuery() throws DatastoreException {
431432
432433 @ Test
433434 public void testAllocateId () {
434- KeyFactory keyFactory = new KeyFactory ( datastore , KIND1 );
435+ KeyFactory keyFactory = helper . newKeyFactory (). kind ( KIND1 );
435436 PartialKey pk1 = keyFactory .newKey ();
436437 Key key1 = keyFactory .allocateId ();
437438 assertEquals (key1 .dataset (), pk1 .dataset ());
@@ -453,7 +454,7 @@ public void testAllocateId() {
453454
454455 @ Test
455456 public void testAllocateIdArray () {
456- KeyFactory keyFactory = new KeyFactory ( datastore , KIND1 );
457+ KeyFactory keyFactory = helper . newKeyFactory (). kind ( KIND1 );
457458 PartialKey partialKey1 = keyFactory .newKey ();
458459 PartialKey partialKey2 = keyFactory .kind (KIND2 ).ancestors (PathElement .of (KIND1 , 10 )).newKey ();
459460 Key key3 = keyFactory .newKey ("name" );
@@ -499,7 +500,7 @@ public void testGet() {
499500 public void testGetArray () {
500501 datastore .put (ENTITY3 );
501502 Iterator <Entity > result =
502- fetch (KEY1 , Key .builder (KEY1 ).name ("bla" ).build (), KEY2 , KEY3 ).iterator ();
503+ helper . fetch (KEY1 , Key .builder (KEY1 ).name ("bla" ).build (), KEY2 , KEY3 ).iterator ();
503504 assertEquals (ENTITY1 , result .next ());
504505 assertNull (result .next ());
505506 assertEquals (ENTITY2 , result .next ());
@@ -525,24 +526,9 @@ public void testGetArray() {
525526 // TODO(ozarov): construct a test to verify more results
526527 }
527528
528- public List <Entity > fetch (Key key , Key ... others ) {
529- Iterator <Entity > entities = datastore .get (key , others );
530- Map <Key , Entity > map = Maps .newHashMapWithExpectedSize (1 + others .length );
531- while (entities .hasNext ()) {
532- Entity entity = entities .next ();
533- map .put (entity .key (), entity );
534- }
535- List <Entity > list = new ArrayList <>(1 + others .length );
536- list .add (map .get (key ));
537- for (Key other : others ) {
538- list .add (map .get (other ));
539- }
540- return list ;
541- }
542-
543529 @ Test
544530 public void testAdd () {
545- List <Entity > keys = fetch (ENTITY1 .key (), ENTITY3 .key ());
531+ List <Entity > keys = helper . fetch (ENTITY1 .key (), ENTITY3 .key ());
546532 assertEquals (ENTITY1 , keys .get (0 ));
547533 assertNull (keys .get (1 ));
548534 assertEquals (2 , keys .size ());
@@ -559,7 +545,7 @@ public void testAdd() {
559545
560546 @ Test
561547 public void testUpdate () {
562- List <Entity > keys = fetch (ENTITY1 .key (), ENTITY3 .key ());
548+ List <Entity > keys = helper . fetch (ENTITY1 .key (), ENTITY3 .key ());
563549 assertEquals (ENTITY1 , keys .get (0 ));
564550 assertNull (keys .get (1 ));
565551 assertEquals (2 , keys .size ());
@@ -580,7 +566,7 @@ public void testUpdate() {
580566
581567 @ Test
582568 public void testPut () {
583- Iterator <Entity > keys = fetch (ENTITY1 .key (), ENTITY2 .key (), ENTITY3 .key ()).iterator ();
569+ Iterator <Entity > keys = helper . fetch (ENTITY1 .key (), ENTITY2 .key (), ENTITY3 .key ()).iterator ();
584570 assertEquals (ENTITY1 , keys .next ());
585571 assertEquals (ENTITY2 , keys .next ());
586572 assertNull (keys .next ());
@@ -589,7 +575,7 @@ public void testPut() {
589575 Entity entity2 = Entity .builder (ENTITY2 ).clear ().set ("bla" , new NullValue ()).build ();
590576 assertNotEquals (ENTITY2 , entity2 );
591577 datastore .put (ENTITY3 , ENTITY1 , entity2 );
592- keys = fetch (ENTITY1 .key (), ENTITY2 .key (), ENTITY3 .key ()).iterator ();
578+ keys = helper . fetch (ENTITY1 .key (), ENTITY2 .key (), ENTITY3 .key ()).iterator ();
593579 assertEquals (ENTITY1 , keys .next ());
594580 assertEquals (entity2 , keys .next ());
595581 assertEquals (ENTITY3 , keys .next ());
@@ -598,13 +584,13 @@ public void testPut() {
598584
599585 @ Test
600586 public void testDelete () {
601- Iterator <Entity > keys = fetch (ENTITY1 .key (), ENTITY2 .key (), ENTITY3 .key ()).iterator ();
587+ Iterator <Entity > keys = helper . fetch (ENTITY1 .key (), ENTITY2 .key (), ENTITY3 .key ()).iterator ();
602588 assertEquals (ENTITY1 , keys .next ());
603589 assertEquals (ENTITY2 , keys .next ());
604590 assertNull (keys .next ());
605591 assertFalse (keys .hasNext ());
606592 datastore .delete (ENTITY1 .key (), ENTITY2 .key (), ENTITY3 .key ());
607- keys = fetch (ENTITY1 .key (), ENTITY2 .key (), ENTITY3 .key ()).iterator ();
593+ keys = helper . fetch (ENTITY1 .key (), ENTITY2 .key (), ENTITY3 .key ()).iterator ();
608594 assertNull (keys .next ());
609595 assertNull (keys .next ());
610596 assertNull (keys .next ());
@@ -613,10 +599,10 @@ public void testDelete() {
613599
614600 @ Test
615601 public void testKeyFactory () {
616- KeyFactory keyFactory = new KeyFactory (datastore , KIND1 );
602+ KeyFactory keyFactory = new KeyFactory (datastore ). kind ( KIND1 );
617603 assertEquals (PARTIAL_KEY1 , keyFactory .newKey ());
618604 assertEquals (PartialKey .builder (PARTIAL_KEY1 ).kind (KIND2 ).build (),
619- new KeyFactory (datastore , KIND2 ).newKey ());
605+ new KeyFactory (datastore ). kind ( KIND2 ).newKey ());
620606 assertEquals (KEY1 , keyFactory .newKey ("name" ));
621607 assertEquals (Key .builder (KEY1 ).id (2 ).build (), keyFactory .newKey (2 ));
622608 }
0 commit comments