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.

Reply via email to