NAME

HTTP::WebTest::Plugin::Hooks - Provides callbacks called during test run

SYNOPSIS

plugins = ( ::Hooks )

test_name = Name1
    ....
    # do some test initialization
    on_request = { My::init() }
end_test

test_name = Name2
    ....
    # define custom test
    on_response = ( { My::test() ? 'yes' : 'no' } => 'My test' )
end_test

test_name = Name3
    ....
    # call finalization code with returning any test results
    on_response = { My::finalize(); return [] }
end_test

DESCRIPTION

This plugin module adds test parameters whose values are evaluated at specific times of the HTTP::WebTest test run. It can be used to do some initialization before doing test request, to do some finalization when test response is received or to implement user defined tests without writing a new plugin module.

TEST PARAMETERS

on_request

The value of this test parameter is ignored. However, it is evaluted before the HTTP request is done, so it can be used to do initalization before the request.

on_response

This is a list parameter which is treated as test result. It is evaluted when the HTTP response for the test request is received.

It can be used to define custom tests without writing new plugins. It can also be used to run some code when the HTTP response for the test request is received.

Allowed values

( YESNO1, COMMENT1
  YESNO2, COMMENT2
  ....
  YESNON, COMMENTN )

Here YESNO, COMMENT is a test result. YESNO is either yes if test is successful or no if it is not. COMMENT is a comment associated with this test.

Example

See example in HTTP::WebTest::Cookbook.

COPYRIGHT

Copyright (c) 2001-2002 Ilya Martynov. All rights reserved.

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

SEE ALSO

HTTP::WebTest

HTTP::WebTest::API

HTTP::WebTest::Plugin

HTTP::WebTest::Plugins