Hi Everyone,
I'm developing a Catalyst::Controller::REST based controller in an app that I'm working on. I've created the _GET and _POST methods and now I'm trying to test them. They work fine if I test them using curl from the command line or LWP::UserAgent, but now I'm trying to add tests for them using Test::WWW::Mechanize::Catalyst.

I'm having a hard time getting Test::WWW::Mechanize::Catalyst to interact my REST controller. I can build the request fine with HTTP::Request and LWP::UserAgent, but I can't seem to get it to work with Test::WWW::Mechanize::Catalyst. Does anyone have any example code where they were able to get the GET, POST, and PUT to test successfully using Test::WWW::Mechanize::Catalyst?

Here is the basic construction of the POST with LWP::UserAgent and Test::More:

my $ua = new LWP::UserAgent;
$ua->default_header( 'X-Username' => 'xxxx', 'X-Password' => 'xxxxx' );

#my $req = new HTTP::Request POST => "http://localhost/rest/something";;
$req->content_type('text/x-json');
$req->content(to_json(( { name => "bla", foo => "haaa" } ));

my $res = $ua->request($req);

ok($res, "Request was successful");
ok($res->headers->{status} == 201);

my $something = from_json($res->content);
ok($something->{foo} eq 'haaa');

I could continue with LWP::UserAgent, but it seems easier and more maintainable to use the catalyst mechanize route if possible (testing against other servers, don't need local server running etc).

Thanks,
Damon



_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to