I found a way to invoke a task servlet using ServletUnit (but not LocalTaskQueue.runTask(), alas) and wrote it up:
http://turbomanage.wordpress.com/2010/03/03/a-recipe-for-unit-testing-appengine-task-queues/ /dmc On Mar 2, 11:42 pm, David Chandler <[email protected]> wrote: > I'm using the workaround above and it's reading my queue.xml > correctly; however, when I call runTask() I am getting a connection > refused exception. Does the AppEngine test environment provide a > servlet container or mock thereof for running the task servlet? The > task servlet is configured in my web.xml and works fine in dev and > prod, but not in unit tests, so I'm guessing I need to wire in a > lightweight servlet container in test also... would appreciate any > pointers. > > INFO: Local task queue initialized with base urlhttp://localhost:8080 > Mar 2, 2010 11:33:05 PM > org.apache.commons.httpclient.HttpMethodDirector executeWithRetry > INFO: I/O exception (java.net.ConnectException) caught when processing > request: Connection refused: connect > Mar 2, 2010 11:33:05 PM > org.apache.commons.httpclient.HttpMethodDirector executeWithRetry > INFO: Retrying request > > Thank you, > /dmc > > On Feb 16, 6:08 pm, "Max Ross (Google)" <[email protected]> > wrote: > > > Sorry Will, we look for ./WEB-INF/queue.xml by default. Anyway glad you got > > it working with the workaround. I'll get this straightened out for the next > > release. > > > Max > > > On Tue, Feb 16, 2010 at 11:41AM, Will Bunker <[email protected]> wrote: > > > I put in queue.xml in the test directory and it didn't seem to find > > > it. > > > > On Feb 16, 10:47am, "Max Ross (Google)" > > > <[email protected]<maxr%[email protected]> > > > > wrote: > > > > I see. In the test environment it looks in "." by default so if you > > > place > > > > queue.xml in the directory from which you're executing the test it > > > > should > > > > pick it up.I > > > > > On Tue, Feb 16, 2010 at 10:35AM, Will Bunker <[email protected]> > > > wrote: > > > > > I am saying that it is not reading queue.xml. I am testing to make > > > > > sure a certain function puts "x" number tasks in a queue that is not > > > > > the default. It doesn't load the queue.xml file unless I use your > > > > > workaround (then it works great.) > > > > > > On Feb 16, 10:21am, "Max Ross (Google)" > > > > > <[email protected]<maxr%[email protected]> > > > <maxr%[email protected] <maxr%[email protected]>> > > > > > > wrote: > > > > > > By default the LocalTaskQueueTestConfig configures the local task > > > queue > > > > > > service to not automatically execute tasks: > > > > >http://code.google.com/appengine/docs/java/tools/localunittesting/jav. > > > .. > > > > > > > Or are you saying it's not reading queue.xml? > > > > > > > On Tue, Feb 16, 2010 at 10:16AM, Will Bunker <[email protected]> > > > > > wrote: > > > > > > > Actually it doesn't seem to be reading the queue at all. It is > > > coming > > > > > > > from the standard directory in WAR, but doesn't seem to pick it > > > > > > > up. > > > I > > > > > > > am on Mac OS if that makes any difference. > > > > > > > > On Feb 16, 9:35am, "Max Ross (Google)" > > > > > > > <[email protected]<maxr%[email protected]> > > > <maxr%[email protected] <maxr%[email protected]>> > > > > > <maxr%[email protected] <maxr%[email protected]> < > > > maxr%[email protected] <maxr%[email protected]>>> > > > > > > > > wrote: > > > > > > > > Hi Will, > > > > > > > > > You're loading queue.xml from a different location in your unit > > > > > tests? > > > > > > > This > > > > > > > > is a use case I didn't thoroughly consider. I can certainly fix > > > this > > > > > for > > > > > > > > the next release but let me see if I can find a workaround for > > > you. > > > > > > > > > Thanks, > > > > > > > > Max > > > > > > > > -- > > > > > > > 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 > > > > > > > [email protected]. > > > > > > > To unsubscribe from this group, send email to > > > > > > > [email protected]<google-appengine-java%[email protected]> > > > <google-appengine-java%[email protected]<google-appengine-java%[email protected]> > > > > > > <google-appengine-java%[email protected]<google-appengine-java%[email protected]> > > > <google-appengine-java%[email protected]<google-appengine-java%[email protected]> > > > > > > > > . > > > > > > > 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 > > > > > [email protected]. > > > > > To unsubscribe from this group, send email to > > > > > [email protected]<google-appengine-java%[email protected]> > > > <google-appengine-java%[email protected]<google-appengine-java%[email protected]> > > > > > > . > > > > > 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 > > > [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]<google-appengine-java%[email protected]> > > > . > > > 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
