NAME
ASP4::API - Public Programmatic API to an ASP4 Application
SYNOPSIS
#!/usr/bin/perl -w
use strict;
use warnings 'all';
# Load up and initialize ASP4::API *before* using your app's classes:
use ASP4::API;
my $api; BEGIN { $api = ASP4::API->new }
# - or -
my $api; BEGIN { $api = ASP4::API->init }
# Now you can use your app's other classes:
use app::user;
use app::product;
use app::order;
# Use the API:
my $res = $api->ua->get('/index.asp');
if( $res->is_success ) {
print $res->content;
}
# Access your test data:
warn $res->test_data->contact_form->email;
# Access your properties YAML:
warn $res->properties->contact_form->email->is_missing;
# Access the application config:
warn $api->config->system->settings->foo;
DESCRIPTION
ASP4::API
is very useful for unit tests - specifically when writing tests for the actual web pages themselves.
Example Unit Test
#!/usr/bin/perl -w
use strict;
use warnings 'all';
use Test::More 'no_plan';
use ASP4::API;
my $api; BEGIN { $api = ASP4::API->new }
ok(
$api, "Got api"
);
is(
$api->ua->get('/hello.asp')->content => 'Hello World!',
'Website is friendly'
);
CONSTRUCTOR
new( )
Takes no arguments. Finds and initializes your application's configuration, which means that any other part of your application which requires the configuration to have been loaded up will now work.
init( )
init()
is simply an alias of new()
PUBLIC PROPERTIES
ua
Returns an ASP4::UserAgent that can be used to interact with pages on your website.
context
Returns the current instance of ASP4::HTTPContext in use.
config
Returns the ASP4::Config object for the web application.
properties
Returns an object representing your /etc/properties.yaml
file.
data
Returns an object representing your /etc/test_fixtures.yaml
file.
BUGS
It's possible that some bugs have found their way into this release.
Use RT http://rt.cpan.org/NoAuth/Bugs.html?Dist=ASP4 to submit bug reports.
HOMEPAGE
Please visit the ASP4 homepage at http://0x31337.org/code/ to see examples of ASP4 in action.