In that case, your ds files must be written somewhere else when you run unit tests.
On Nov 19, 9:28 pm, Jerry <jerry.morri...@gmail.com> wrote: > Thanks for the hypotheses! > > I do have > <datastore-indexes autoGenerate="true"> > in war/WEB-INF/datastore-indexes.xml. > > I tried not tearing down the helper. Still, the test doesn't touch > either of the files > WEB-INF/appengine-generated/datastore-indexes-auto.xml > war/WEB-INF/appengine-generated/datastore-indexes-auto.xml > > Any more ideas? > > Code excerpts: > > public class DatastoreIndexText { > private final LocalServiceTestHelper helper = > fileBasedDatastoreTestHelper(); > private PersistenceManager pm; > > @Before > public void setUp() throws Exception { > helper.setUp(); > pm = PMF.get().getPersistenceManager(); > ... > } > > @After > public void tearDown() throws Exception { > try { > deleteScheme(schemeId); > } finally { > pm.close(); > // helper.tearDown(); > } > } > > private static LocalServiceTestHelper fileBasedDatastoreTestHelper() > { > File location = new File("war/WEB-INF/appengine-generated/ > local_db.bin"); > > // TODO: Read these elements from the File("war/WEB-INF/appengine- > web.xml"). > String appId = ... > String appVersionId = "1"; > > LocalDatastoreServiceTestConfig dsConfig = new > LocalDatastoreServiceTestConfig() > .setBackingStoreLocation(location.getAbsolutePath()) > .setNoStorage(false); > System.out.println(dsConfig.getBackingStoreLocation()); > > return new LocalServiceTestHelper( > new LocalUserServiceTestConfig(), > dsConfig) > .setEnvIsAdmin(false) > .setEnvIsLoggedIn(true) > .setEnvEmail(AUTHOR_EMAIL) > .setEnvAuthDomain(AUTH_DOMAIN) > .setEnvAppId(appId) > .setEnvVersionId(appVersionId); > } > > On Nov 19, 12:58 am, Cyrille Vincey <crll...@gmail.com> wrote: > > > > > Check your war > WEB-INF >datastore-indexes.xml > > (NOT the war > WEB-INF > appengine-generated > datastore-indexes-auto.xml) > > > You might read: <datastore-indexes autoGenerate="false"> > > Try to replace with : <datastore-indexes autoGenerate="true"> > > > On 19/11/10 01:39, "Jerry" <jerry.morri...@gmail.com> wrote: > > > >Great tip but it's not working. Running the test updates the mod date > > >of local_db.bin but not datastore-indexes-auto.xml. > > > >I'm also configuring a LocalUserServiceTestConfig for a logged in > > >user, but that doesn't seem to affect it. > > > >Is another setup step needed? > > > >I'd like a unit test to trigger all auto-index because my app has many > > >possible combinations of query filters. > > > >Thanks! > > > >On Nov 11, 11:24 am, Starman <r...@arrova.ca> wrote: > > >> Something like the following will setup the datastore helper and > > >> create the datastore-indexes-auto.xml: > > > >> LocalDatastoreServiceTestConfig dsConfig = new > > >> LocalDatastoreServiceTestConfig(); > > >> File location = new File("war/WEB-INF/appengine-generated/ > > >> local_db.bin"); > > > >> dsConfig.setBackingStoreLocation(location.getAbsolutePath()); > > > >> // And it seems that for the local ds service to be able > > >> to load the local_db.bin file, the local > > >> // environment must match the app id and version as stored > > >> in the file. > > > >> String xml; > > >> try { > > >> xml = FileUtils.readFileToString(new File("war/WEB-INF/ > > >> appengine-web.xml")); > > >> } > > >> catch (IOException e) { > > >> throw new RuntimeException(e); > > >> } > > >> String application = StringUtils.substringBetween(xml, > > >> "<application>", "</application>"); > > >> String version = StringUtils.substringBetween(xml, > > >> "<version>", "</version>"); > > > >> // Default behavior is to keep everything in RAM. Tell the > > >> local services to use the file system > > > >> dsConfig.setNoStorage(false); > > > >> // Create the local services. > > > >> gaeDatastoreHelper = new LocalServiceTestHelper(dsConfig); > > >> gaeDatastoreHelper.setEnvAppId(application); > > >> gaeDatastoreHelper.setEnvVersionId(version); > > > >> // Calling setUp() will start the local ds service and > > >> load the local_db.bin file. > > > >> gaeDatastoreHelper.setUp(); > > > >> This way, you can even write tests against a previously generated > > >> local_db.bin if you want. > > > >-- > > >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-j...@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. -- 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-j...@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.