Search in sources :

Example 11 with Transaction

use of com.google.cloud.datastore.Transaction in project google-cloud-java by GoogleCloudPlatform.

the class ITDatastoreTest method testTransactionWithRead.

@Test
public void testTransactionWithRead() {
    Transaction transaction = DATASTORE.newTransaction();
    assertNull(transaction.get(KEY3));
    transaction.add(ENTITY3);
    transaction.commit();
    assertEquals(ENTITY3, DATASTORE.get(KEY3));
    transaction = DATASTORE.newTransaction();
    assertEquals(ENTITY3, transaction.get(KEY3));
    // update entity3 during the transaction
    DATASTORE.put(Entity.newBuilder(ENTITY2).clear().set("from", "datastore").build());
    transaction.update(Entity.newBuilder(ENTITY2).clear().set("from", "transaction").build());
    try {
        transaction.commit();
        fail("Expecting a failure");
    } catch (DatastoreException expected) {
        assertEquals("ABORTED", expected.getReason());
    }
}
Also used : Transaction(com.google.cloud.datastore.Transaction) DatastoreException(com.google.cloud.datastore.DatastoreException) Test(org.junit.Test)

Example 12 with Transaction

use of com.google.cloud.datastore.Transaction in project google-cloud-java by GoogleCloudPlatform.

the class ITTransactionSnippets method testEntityAddGet.

@Test
public void testEntityAddGet() {
    Transaction transaction = datastore.newTransaction();
    TransactionSnippets transactionSnippets = new TransactionSnippets(transaction);
    transactionSnippets.addSingleEntity(registerKey("add_get_key"));
    transaction = datastore.newTransaction();
    transactionSnippets = new TransactionSnippets(transaction);
    Entity entity = transactionSnippets.get("add_get_key");
    assertEquals("value", entity.getString("propertyName"));
}
Also used : Entity(com.google.cloud.datastore.Entity) Transaction(com.google.cloud.datastore.Transaction) Test(org.junit.Test)

Example 13 with Transaction

use of com.google.cloud.datastore.Transaction in project google-cloud-java by GoogleCloudPlatform.

the class ITTransactionSnippets method testPutGetMultiple.

@Test
public void testPutGetMultiple() {
    Transaction transaction = datastore.newTransaction();
    TransactionSnippets transactionSnippets = new TransactionSnippets(transaction);
    transactionSnippets.multipleAddEntities(registerKey("add_get_multiple_key_1"), registerKey("put_get_multiple_key_2"));
    transaction = datastore.newTransaction();
    transactionSnippets = new TransactionSnippets(transaction);
    List<Entity> entities = transactionSnippets.getMultiple("add_get_multiple_key_1", "put_get_multiple_key_2");
    assertEquals(2, entities.size());
    Set<String> values = ImmutableSet.of(entities.get(0).getString("propertyName"), entities.get(1).getString("propertyName"));
    assertTrue(values.contains("value1"));
    assertTrue(values.contains("value2"));
}
Also used : Entity(com.google.cloud.datastore.Entity) Transaction(com.google.cloud.datastore.Transaction) Test(org.junit.Test)

Example 14 with Transaction

use of com.google.cloud.datastore.Transaction in project google-cloud-java by GoogleCloudPlatform.

the class ITTransactionSnippets method testEntityPutGet.

@Test
public void testEntityPutGet() {
    Transaction transaction = datastore.newTransaction();
    TransactionSnippets transactionSnippets = new TransactionSnippets(transaction);
    transactionSnippets.putSingleEntity(registerKey("put_get_key"));
    transaction = datastore.newTransaction();
    transactionSnippets = new TransactionSnippets(transaction);
    Entity entity = transactionSnippets.get("put_get_key");
    assertEquals("value", entity.getString("propertyName"));
}
Also used : Entity(com.google.cloud.datastore.Entity) Transaction(com.google.cloud.datastore.Transaction) Test(org.junit.Test)

Example 15 with Transaction

use of com.google.cloud.datastore.Transaction in project google-cloud-java by GoogleCloudPlatform.

the class ITTransactionSnippets method testAddGetUpdateMultiple.

@Test
public void testAddGetUpdateMultiple() {
    Transaction transaction = datastore.newTransaction();
    TransactionSnippets transactionSnippets = new TransactionSnippets(transaction);
    transactionSnippets.multipleAddEntities(registerKey("add_get_multiple_key_1"), registerKey("add_get_multiple_key_2"));
    transaction = datastore.newTransaction();
    transactionSnippets = new TransactionSnippets(transaction);
    List<Entity> entities = transactionSnippets.getMultiple("add_get_multiple_key_1", "add_get_multiple_key_2");
    assertEquals(2, entities.size());
    Set<String> values = ImmutableSet.of(entities.get(0).getString("propertyName"), entities.get(1).getString("propertyName"));
    assertTrue(values.contains("value1"));
    assertTrue(values.contains("value2"));
    transaction = datastore.newTransaction();
    transactionSnippets = new TransactionSnippets(transaction);
    transactionSnippets.multipleUpdateEntities(registerKey("add_get_multiple_key_1"), registerKey("add_get_multiple_key_2"));
    transaction = datastore.newTransaction();
    transactionSnippets = new TransactionSnippets(transaction);
    entities = transactionSnippets.getMultiple("add_get_multiple_key_1", "add_get_multiple_key_2");
    assertEquals(2, entities.size());
    values = ImmutableSet.of(entities.get(0).getString("propertyName"), entities.get(1).getString("propertyName"));
    assertTrue(values.contains("value3"));
    assertTrue(values.contains("value4"));
}
Also used : Entity(com.google.cloud.datastore.Entity) Transaction(com.google.cloud.datastore.Transaction) Test(org.junit.Test)

Aggregations

Transaction (com.google.cloud.datastore.Transaction)17 Test (org.junit.Test)16 Entity (com.google.cloud.datastore.Entity)15 Key (com.google.cloud.datastore.Key)9 DatastoreException (com.google.cloud.datastore.DatastoreException)4 FullEntity (com.google.cloud.datastore.FullEntity)3 ProjectionEntity (com.google.cloud.datastore.ProjectionEntity)3 Datastore (com.google.cloud.datastore.Datastore)1 DatastoreOptions (com.google.cloud.datastore.DatastoreOptions)1 IncompleteKey (com.google.cloud.datastore.IncompleteKey)1 KeyFactory (com.google.cloud.datastore.KeyFactory)1