Looks nice.

Singleton - ah, yes, that sounds like it will work well, good call.

On Wed, Nov 11, 2009 at 12:05 PM, David Pollak <
[email protected]> wrote:

>
>
> On Wed, Nov 11, 2009 at 7:09 AM, Alex Black <[email protected]> wrote:
>
>>
>> What are you unhappy about? Those tests look pretty simple and slick
>> to me!
>>
>>
> Yeah, but with this change: http://reviewboard.liftweb.net/r/95/
>
> You'll get:
>
>  "Login" in {
>       for{
>         login <- post("/api/login", "token" -> token) !@ "Failed to log in" 
> if (testSuccess(login))
>         status <- login.get("/api/status") !@ "Failed to get status" if 
> (testSuccess(status))
>       } {
>         (status.xml \ "user" \ "@id").text must_== theUser.id.toString
>       }
>     }
>
>
>
>> It looks like the JettyTestServer is a singleton inside the test suite
>> - what happens if you have another test suite? I think you'd then hit
>> the same problem that I did, when the second test suite tries to fire
>> up Jetty it will fail because Lift has already been initialized.
>>
>
> The example in ESME is a singleton, but the start method is actually a lazy
> val, so you can call it from any test, but it will only be triggered once
> per run per classloader.  Does this give you what you want?  If not, it'll
> be some mucking around with multiple classloaders.
>
>
>
>
>>
>> - Alex
>>
>> On Nov 10, 2:25 pm, David Pollak <[email protected]>
>> wrote:
>> > I've just committed simple API test code up to the ESME project.  The
>> key
>> > pieces are at:
>> >
>> >
>> http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/test/sca...http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/test/sca.
>> ..
>> >
>> > After spending 30 minutes with the Lift TestKit, I'm wicked unhappy with
>> > it... but that will change later today. ;-)
>> >
>> >
>> >
>> > On Tue, Nov 10, 2009 at 9:51 AM, Alex Black <[email protected]> wrote:
>> >
>> > > My first unit test worked fine, but my second one dies:
>> >
>> > > ERROR - Failed to Boot
>> > > java.lang.IllegalStateException: Cannot modify after boot.
>> > >        at
>> net.liftweb.http.RulesSeq$class.safe_$qmark(LiftRules.scala:885)
>> > >        at net.liftweb.http.RulesSeq$class.prepend(LiftRules.scala:892)
>> > >        at
>> net.liftweb.http.RulesSeq$$anon$3.prepend(LiftRules.scala:872)
>> > > ....
>> >
>> > > Presumably because it has already loaded and started Lift, and my
>> > > second unit test fires up Jetty again trying to start Lift again which
>> > > I take it is not supported.
>> >
>> > > So, I figure I should either:
>> > > a. refactor my tests so that I only create one jetty and lift instance
>> > > ever
>> > > - this will probably require 'resetting' the service somehow to ensure
>> > > a blank slate between each unit test, not sure how I get a hold of the
>> > > instance in question for that
>> >
>> > > b. somehow launch jetty/lift differently, or force lift to cleanup?
>> >
>> > > On Nov 9, 10:50 pm, Jonathan Ferguson <[email protected]> wrote:
>> > > > We fire up Jetty populate a temp database and then run a batch of
>> tests.
>> > > > Seems to work well for us.
>> >
>> > > > Jono
>> >
>> > > > 2009/11/10 Alex Black <[email protected]>
>> >
>> > > > > Can anyone suggest some good examples or strategies to use to test
>> a
>> > > > > webservice written with Lift?
>> >
>> > > > > I've started down the path of firing up Jetty in a unit test, then
>> > > > > just hitting it with say a GET and checking the response.  Whats a
>> > > > > good way of firing up Jetty?  It looks like using ServletTester
>> would
>> > > > > be the way to go:
>> >
>> > >
>> http://www.christianschenk.org/blog/testing-web-applications-with-jetty/
>> >
>> > > > > could that work with Lift?
>> >
>> > > > > - Alex
>> >
>> > --
>> > Lift, the simply functional web frameworkhttp://liftweb.net
>> > Beginning Scalahttp://www.apress.com/book/view/1430219890
>> > Follow me:http://twitter.com/dpp
>> > Surf the harmonics
>>
>>
>
>
> --
> Lift, the simply functional web framework http://liftweb.net
> Beginning Scala http://www.apress.com/book/view/1430219890
>
> Follow me: http://twitter.com/dpp
> Surf the harmonics
>
> >
>


-- 
http://blog.alexblack.ca
http://twitter.com/waterlooalex

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" 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/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to