Skip to content

Commit 7ad4570

Browse files
committed
---
yaml --- r: 33 b: refs/heads/master c: 0baefcf h: refs/heads/master i: 31: c5787e1 v: v3
1 parent 3a4a461 commit 7ad4570

3 files changed

Lines changed: 56 additions & 12 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 4a7eaf15e8ab0ab6f5e408c53ecb15feb5fc807e
2+
refs/heads/master: 0baefcf6f8fc5488ec25f7d0ef33d2a8245feff6

trunk/src/main/java/com/google/gcloud/datastore/PartialKey.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,14 +242,14 @@ public Builder builder() {
242242
return new Builder(dataset(), kind()).namespace(namespace()).addAncestors(ancestors());
243243
}
244244

245-
public Key toKey(String name) {
245+
public Key newKey(String name) {
246246
return new Key.Builder(dataset(), kind(), name)
247247
.namespace(namespace())
248248
.addAncestors(ancestors())
249249
.build();
250250
}
251251

252-
public Key toKey(long id) {
252+
public Key newKey(long id) {
253253
return new Key.Builder(dataset(), kind(), id)
254254
.namespace(namespace())
255255
.addAncestors(ancestors())

trunk/src/test/java/com/google/gcloud/datastore/DatastoreServiceTest.java

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

Comments
 (0)