@@ -26,7 +26,7 @@ public class DatastoreServiceTest {
2626 new BooleanValue .Builder (false ).indexed (false ).build ();
2727 private static final PartialKey PARTIAL_KEY1 = new PartialKey .Builder (DATASET , KIND1 ).build ();
2828 private static final PartialKey PARTIAL_KEY2 = new PartialKey .Builder (DATASET , KIND2 ).build ();
29- private static final Key KEY1 = PARTIAL_KEY1 .toKey ("name" );
29+ private static final Key KEY1 = PARTIAL_KEY1 .newKey ("name" );
3030 private static final Key KEY2 = new Key .Builder (KEY1 , KIND2 , 1 ).build ();
3131 private static final Key KEY3 = KEY2 .builder ().name ("bla" ).build ();
3232 private static final PartialEntity PARTIAL_ENTITY1 = new PartialEntity .Builder (PARTIAL_KEY2 )
@@ -74,14 +74,58 @@ public void testGetOptions() {
7474 }
7575
7676 @ Test
77- public void testNewTransaction () {
77+ public void testNewTransactionCommit () {
78+ fail ("Not yet implemented" );
79+ }
80+
81+ @ Test
82+ public void testNewTransactionRollback () {
7883 fail ("Not yet implemented" );
7984 }
8085
8186 @ Test
8287 public void testNewBatchWriter () {
88+ BatchWriter batchWriter = datastore .newBatchWriter ();
89+ Entity entity1 = ENTITY1 .builder ().clearProperties ().build ();
90+ Entity entity2 = ENTITY2 .builder ()
91+ .clearProperties ()
92+ .setProperty ("bla" , new NullValue ())
93+ .build ();
94+ Entity entity4 = new Entity .Builder (KEY2 .newKey ("newName1" ))
95+ .setProperty ("value" , new StringValue ("value" ))
96+ .build ();
97+ Entity entity5 = new Entity .Builder (KEY2 .newKey ("newName2" ))
98+ .setProperty ("value" , new StringValue ("value" ))
99+ .build ();
100+ batchWriter .add (entity4 , entity5 );
101+ batchWriter .put (ENTITY3 , entity1 , entity2 );
102+ batchWriter .submit ();
103+ Iterator <Entity > entities = datastore .get (KEY1 , KEY2 , KEY3 , entity4 .key (), entity5 .key ());
104+ assertEquals (entity1 , entities .next ());
105+ assertEquals (entity2 , entities .next ());
106+ assertEquals (ENTITY3 , entities .next ());
107+ assertEquals (entity4 , entities .next ());
108+ assertEquals (entity5 , entities .next ());
109+ assertFalse (entities .hasNext ());
83110
84- fail ("Not yet implemented" );
111+ try {
112+ batchWriter .submit ();
113+ } catch (DatastoreServiceException ex ) {
114+ // expected to fail
115+ }
116+ batchWriter = datastore .newBatchWriter ();
117+ batchWriter .delete (entity4 .key (), entity5 .key ());
118+ batchWriter .update (ENTITY1 , ENTITY2 , ENTITY3 );
119+ batchWriter .submit ();
120+ entities = datastore .get (KEY1 , KEY2 , KEY3 , entity4 .key (), entity5 .key ());
121+ assertEquals (ENTITY1 , entities .next ());
122+ assertEquals (ENTITY2 , entities .next ());
123+ assertEquals (ENTITY3 , entities .next ());
124+ assertNull (entities .next ());
125+ assertNull (entities .next ());
126+ assertFalse (entities .hasNext ());
127+
128+ // TODO need to cover more edge cases (ds failures, re-use of same entities,..)
85129 }
86130
87131 @ Test
@@ -100,15 +144,15 @@ public void testAllocateId() {
100144 assertEquals (key1 .kind (), pk1 .kind ());
101145 assertTrue (key1 .hasId ());
102146 assertFalse (key1 .hasName ());
103- assertEquals (pk1 .toKey (key1 .id ()), key1 );
147+ assertEquals (pk1 .newKey (key1 .id ()), key1 );
104148
105149 Key key2 = datastore .allocateId (pk1 );
106150 assertNotEquals (key1 , key2 );
107- assertEquals (pk1 .toKey (key2 .id ()), key2 );
151+ assertEquals (pk1 .newKey (key2 .id ()), key2 );
108152
109153 Key key3 = datastore .allocateId (key1 );
110154 assertNotEquals (key1 , key3 );
111- assertEquals (pk1 .toKey (key3 .id ()), key3 );
155+ assertEquals (pk1 .newKey (key3 .id ()), key3 );
112156 }
113157
114158 @ Test
@@ -125,9 +169,9 @@ public void testAllocateIdArray() {
125169 map .put (++count , result .next ());
126170 }
127171 assertEquals (6 , map .size ());
128- assertEquals (pKey1 .toKey (map .get (1 ).id ()), map .get (1 ));
129- assertEquals (pKey1 .toKey (map .get (5 ).id ()), map .get (5 ));
130- assertEquals (pKey2 .toKey (map .get (2 ).id ()), map .get (2 ));
172+ assertEquals (pKey1 .newKey (map .get (1 ).id ()), map .get (1 ));
173+ assertEquals (pKey1 .newKey (map .get (5 ).id ()), map .get (5 ));
174+ assertEquals (pKey2 .newKey (map .get (2 ).id ()), map .get (2 ));
131175 assertEquals (key3 .builder ().id (map .get (3 ).id ()).build (), map .get (3 ));
132176 assertEquals (key3 .builder ().id (map .get (6 ).id ()).build (), map .get (6 ));
133177 assertEquals (key4 .builder ().id (map .get (4 ).id ()).build (), map .get (4 ));
0 commit comments