Package com.googlecode.objectify.test.entity

Examples of com.googlecode.objectify.test.entity.Trivial


  /** */
  @Test
  public void testSimpleTransaction() throws Exception {
    fact().register(Trivial.class);

    final Trivial triv = new Trivial("foo", 5);

    Key<Trivial> k = ofy().transact(new Work<Key<Trivial>>() {
      @Override
      public Key<Trivial> run() {
        return ofy().save().entity(triv).now();
      }
    });

    Trivial fetched = ofy().load().key(k).now();

    assert fetched.getId().equals(k.getId());
    assert fetched.getSomeNumber() == triv.getSomeNumber();
    assert fetched.getSomeString().equals(triv.getSomeString());
  }
View Full Code Here


   */
  @Test
  public void testConcurrencyFailure() throws Exception {
    fact().register(Trivial.class);

    Trivial triv = new Trivial("foo", 5);
    final Key<Trivial> tk = ofy().save().entity(triv).now();

    try {
      ofy().transactNew(2, new VoidWork() {
        @Override
        public void vrun() {
          Trivial triv1 = ofy().transactionless().load().key(tk).now();
          Trivial triv2 = ofy().load().key(tk).now();

          triv1.setSomeString("bar");
          triv2.setSomeString("shouldn't work");

          ofy().transactionless().save().entity(triv1).now();
          ofy().save().entity(triv2).now();
        }
      });
      assert false// must throw exception
    }
    catch (ConcurrentModificationException ex) {}

    Trivial fetched = ofy().load().key(tk).now();

    // This will be fetched from the cache, and must not be the "shouldn't work"
    assert fetched.getSomeString().equals("bar");
  }
View Full Code Here

   */
  @Test
  public void testTransactWork() throws Exception {
    fact().register(Trivial.class);

    final Trivial triv = new Trivial("foo", 5);
    ofy().save().entity(triv).now();

    Trivial updated = ofy().transact(new Work<Trivial>() {
      @Override
      public Trivial run() {
        Trivial result = ofy().load().entity(triv).now();
        result.setSomeNumber(6);
        ofy().save().entity(result);
        return result;
      }
    });
    assert updated.getSomeNumber() == 6;

    Trivial fetched = ofy().load().entity(triv).now();
    assert fetched.getSomeNumber() == 6;
  }
View Full Code Here

   */
  @Test
  public void testAsyncDelete() throws Exception {
    fact().register(Trivial.class);

    final Trivial triv = new Trivial("foo", 5);

    // Make sure it's in the session (and memcache for that matter)
    ofy().saveClearLoad(triv);

    ofy().transact(new Work<Void>() {
      @Override
      public Void run() {
        // Load this, enlist in txn
        Trivial fetched = ofy().load().entity(triv).now();

        // Do this async, don't complete it manually
        ofy().delete().entity(fetched);

        return null;
View Full Code Here

    try {
      ofy().transact(new VoidWork() {
        @Override
        public void vrun() {
          Trivial triv = new Trivial("foo", 5);
          ofy().save().entity(triv).now();
          throw new RuntimeException();
        }
      });
    } catch (RuntimeException ex) {}

    // Now verify that it was not saved
    Trivial fetched = ofy().load().type(Trivial.class).first().now();
    assert fetched == null;
  }
View Full Code Here

  /** */
  @Test
  public void alsoLoadWorksWithLoad() throws Exception
  {
    Trivial triv = new Trivial("someString", 123L);
    Key<Trivial> trivKey = ofy().save().entity(triv).now();

    com.google.appengine.api.datastore.Entity ent = new com.google.appengine.api.datastore.Entity(Key.getKind(HasConcrete.class));
    ent.setProperty("foo", trivKey.getRaw());
    ds().put(null, ent);

    Key<HasConcrete> key = Key.create(ent.getKey());
    HasConcrete fetched = ofy().load().key(key).now();

    assert fetched.bar.equals(triv.getSomeString());
  }
View Full Code Here

  @Test
  public void testToPojoAndBack() throws Exception
  {
    fact().register(Trivial.class);

    Trivial triv = new Trivial(123L, "blah", 456);

    com.google.appengine.api.datastore.Entity ent = ofy().save().toEntity(triv);
    assert ent.getKey().getId() == 123L;
    assert ent.getProperty("someString").equals("blah");
    assert ent.getProperty("someNumber").equals(456L);

    Trivial converted = ofy().load().fromEntity(ent);
    assert converted.getId().equals(triv.getId());
    assert converted.getSomeString().equals(triv.getSomeString());
    assert converted.getSomeNumber() == triv.getSomeNumber();
  }
View Full Code Here

    Query<Trivial> q = ofy().load().type(Trivial.class).order("__key__");
    QueryResultIterator<Trivial> it = q.iterator();

    @SuppressWarnings("unused")
    Cursor cursor0 = it.getCursor();
    final Trivial item1 = it.next();

    Cursor cursor1 = it.getCursor();
    final Trivial item2 = it.next();
    assert !it.hasNext();

    Cursor cursor2 = it.getCursor();
    Cursor cursor2Rev = it.getCursor().reverse();

    it = q.reverse().startAt(cursor2Rev).iterator();

    final Trivial item2Rev = it.next();

    // This worked in 1.9.5 but fails in 1.9.9. Equality test seems a little sketchy anyways.
    //assert it.getCursor().equals(cursor2);

    assert item2Rev.getSomeString().equals(item2.getSomeString());

    assert it.hasNext();

    final Trivial item1Rev = it.next();

    //assert it.getCursor().equals(cursor1);
    assert item1Rev.getSomeString().equals(item1.getSomeString());
    assert !it.hasNext();
  }
View Full Code Here

  @Test
  public void testEntityEmbedsOtherEntity() throws Exception {
    fact().register(EntityEmbedsOtherEntity.class);

    EntityEmbedsOtherEntity embeds = new EntityEmbedsOtherEntity();
    embeds.other = new Trivial(123L, "blah", 7);

    EntityEmbedsOtherEntity fetched = ofy().saveClearLoad(embeds);

    assert embeds.other.getId().equals(fetched.other.getId());
    assert embeds.other.getSomeString().equals(fetched.other.getSomeString());
View Full Code Here

  /** */
  @Test
  public void simpleQueryWorks() throws Exception {
    fact().register(Trivial.class);

    Trivial triv = new Trivial(123L, "foo", 12);
    ofy().save().entity(triv).now();

    Query q = new Query("Trivial");
    PreparedQuery pq = ds().prepare(q);
    List<Entity> stuff = pq.asList(FetchOptions.Builder.withDefaults());
View Full Code Here

TOP

Related Classes of com.googlecode.objectify.test.entity.Trivial

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.