Hi,

I have this test (I am creating object, persist it and trying to
remove it) and it is failing on "fail("not supposed to get here");"
line. Is it bug in GAE JDO or JDO is supposed to work in this way?

private final LocalServiceTestHelper helper = new
LocalServiceTestHelper(
                        new LocalDatastoreServiceTestConfig());

@Before
        public void setUp() {
                helper.setUp();

        }

        @After
        public void tearDown() {
                helper.tearDown();
        }

@Test
        public void testBasicDelete() {
                Properties newProperties = new Properties();
                newProperties
                                .put("javax.jdo.PersistenceManagerFactoryClass",
                                                
"org.datanucleus.store.appengine.jdo.DatastoreJDOPersistenceManagerFactory");
                newProperties.put("javax.jdo.option.ConnectionURL", 
"appengine");
                newProperties.put("javax.jdo.option.NontransactionalRead", 
"true");
                newProperties.put("javax.jdo.option.NontransactionalWrite", 
"true");
                newProperties.put("javax.jdo.option.RetainValues", "true");
                
newProperties.put("datanucleus.appengine.autoCreateDatastoreTxns",
                                "true");
                
newProperties.put("datanucleus.appengine.autoCreateDatastoreTxns",
                                "true");
                PersistenceManagerFactory pmf = JDOHelper
                                .getPersistenceManagerFactory(newProperties);
                PersistenceManager pm = pmf.getPersistenceManager();
                JDOMockBasicObject m = new JDOMockBasicObject();

                pm.makePersistent(m);

                long id = m.getId();

                assertTrue(id > 0);

                JDOMockBasicObject k = (JDOMockBasicObject) pm.getObjectById(
                                JDOMockBasicObject.class, id);
                pm.deletePersistent(k);

                Query query = pm.newQuery(JDOMockBasicObject.class);
                query.setFilter("key == k");
                query.declareParameters("com.google.appengine.api.datastore.Key 
k");
                query.deletePersistentAll(k.getKey());

                try {

                        JDOMockBasicObject l = (JDOMockBasicObject) 
pm.getObjectById(
                                        JDOMockBasicObject.class, id);
                        fail("not supposed to get here");
                } catch (JDOObjectNotFoundException e) {

                }
        }

// Mock class:

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.google.appengine.api.datastore.Key;

@PersistenceCapable
public class JDOMockBasicObject {

        @PrimaryKey
        @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
        private Key key;

        public Long getId(){
                return key.getId();
        }

        public Key getKey(){
                return key;
        }
}

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to