The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Test::PlugAuth - minimum PlugAuth server to test Clustericious apps against

VERSION

version 0.38

SYNOPSIS

assuming you have a Clustericious app MyApp with authentication/authorization directives that you need to test:

 use Test::Clustericious::Config;
 use Test::Clustericious;
 use Test::PlugAuth;
 
 my $auth = Test::PlugAuth->new(auth => {
   my($user,$pass) = @_;
   return $user eq 'gooduser' && $pass eq 'goodpass';
 });
 
 create_config_ok 'MyApp', { plug_auth => { url => $auth->url } };
 
 $t = Test::Clustericious->new('MyApp');
 $auth->apply_to_client_app($t->app);
 
 my $port = $t->ua->app_url->port;
 
 $t->get_ok("http://baduser:badpass\@localhost:$port/private")
   ->status_is(401);
 $t->get_ok("http://gooduser:goodpass\@localhost:$port/private")
   ->status_is(200);

DESCRIPTION

Provides a way to test a Clustericious application with a fake PlugAuth server with reduced boilerplate

CONSTRUCTOR

Test::PlugAuth->new( $config )

Creates a new instance of Test::PlugAuth. The $config is passed directly into PlugAuth::Lite. See Mojolicious::Plugin::PlugAuthLite for details.

ATTRIBUTES

ua

The Mojo::UserAgent used to connect to the PlugAuth (lite) server.

app

The PlugAuth::Lite instance of the PlugAuth server.

url

The (fake) url used to connect to the PlugAuth server with. You MUST connect to through the Mojo::UserAgent above.

METHODS

$test_auth->apply_to_client_app( $client_app )

Given a Clustericious application $client_app, this method will rewire our Mojo::UserAgent for authentication requests to PlugAuth.

AUTHOR

Graham Ollis <plicease@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Graham Ollis.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.