diff options
author | franck cuny <franck@lumberjaph.net> | 2010-06-03 10:01:01 +0200 |
---|---|---|
committer | franck cuny <franck@lumberjaph.net> | 2010-06-03 10:01:01 +0200 |
commit | 3da11a8153d3b42af2f2a250008be6cc52e57b09 (patch) | |
tree | 4da02b541e9f8d35e5f20d63908cd33fe64dc7f8 /t/05_authentication.t | |
parent | replace remainging with nothing (diff) | |
parent | fix attribute declaration (diff) | |
download | moosex-net-api-3da11a8153d3b42af2f2a250008be6cc52e57b09.tar.gz |
merge
Diffstat (limited to '')
-rw-r--r-- | t/05_authentication.t | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/t/05_authentication.t b/t/05_authentication.t new file mode 100644 index 0000000..e769a53 --- /dev/null +++ b/t/05_authentication.t @@ -0,0 +1,67 @@ +use strict; +use warnings; +use Test::More; + +package test::auth; +use MooseX::Net::API; + +net_api_declare fake_auth => ( + api_base_url => 'http://localhost', + format => 'json', + authentication => 1, + authentication_method => 'my_auth', +); + +net_api_method user => ( + method => 'GET', + path => '/user/', +); + +sub my_auth { + my ($self, $request, $ua, $h) = @_; + $request->header('Authentication' => 1); +} + +package test::auth::simple; +use MooseX::Net::API; + +net_api_declare fake_auth => ( + api_base_url => 'http://localhost', + format => 'json', + authentication => 1, +); + +net_api_method user => ( + method => 'GET', + path => '/user/', +); + +package main; + +ok my $api = test::auth->new, 'object api created'; +$api->api_useragent->add_handler( + request_send => sub { + my $request = shift; + is $request->header('Authentication'), 1, 'authentication header is set'; + my $res = HTTP::Response->new(200); + $res->content('[{"name":"eris"}]'); + $res; + } +); +ok $api->user, 'method user success'; + +ok $api = + test::auth::simple->new(api_username => 'foo', api_password => 'bar'), + 'object api simple created'; +$api->api_useragent->add_handler( + request_send => sub { + my $request = shift; + ok $request->header('authorization'), 'authentication header is set'; + my $res = HTTP::Response->new(200); + $res->content('[{"name":"eris"}]'); + $res; + } +); +ok $api->user, 'method user success'; + +done_testing; |