NAME

HTTP::WebTest::Plugin - Base class for HTTP::WebTest plugins.

SYNOPSIS

Not applicable.

DESCRIPTION

HTTP::WebTest plugin classes can inherit from this class. It provides some useful helper methods.

METHODS

new ($webtest)

Constructor.

Returns

A new plugin object that will be used by HTTP::WebTest object $webtest.

webtest ()

Returns

An HTTP::WebTest object that uses this plugin.

global_test_param ($param, $optional_default)

Returns

If global test parameter $param is not defined, returns $optional_default or undef if there is no default.

If the global test parameter $param is defined, returns it's value.

test_param ($param, $optional_default)

Returns

If latest test parameter $param is not defined, returns $optional_default or undef if there is no default.

If latest test parameter $param is defined returns it's value.

global_yesno_test_param ($param, $optional_default)

Returns

If the global test parameter $param is not defined, returns $optional_default or false if no default exists.

If the global test parameter $param is defined, returns true if latest test parameter $param is yes, false otherwise.

yesno_test_param ($param, $optional_default)

Returns

If latest test parameter $param is not defined returns $optional_default or false if it is not defined also.

If latest test parameter $param is defined returns true if latest test parameter $param is yes. False otherwise.

test_result ($ok, $comment)

Factory method that creates test result object.

Returns

A HTTP::WebTest::TestResult object.

validate_params (@params)

Checks test parameters in @params. Throws exception if any of them are invalid.

global_validate_params (@params)

Checks global test parameters in @params. Throws exception if any of them are invalid.

validate_value($param, $value, $type)

Checks if $value of test parameter $param has type <$type>.

Exceptions

Dies if check is not successful.

param_types ()

This method should be redefined in the subclasses. Returns information about test parameters that are supported by plugin. Used to validate tests.

Returns

A string that looks like:

'param1 type1
 param2 type2
 param3 type3(optional,args)
 param4 type4'

check_anything ($value)

Method that checks whether test parameter value is of anything type.

This is NOOP operation. It always succeed.

check_list ($param, $value, @optional_spec)

Method that checks whether test parameter value is of list type. That is it is a reference on an array.

Optional list @optional_spec can define specification on allowed elements of list. It can be either

('TYPE_1', 'TYPE_2', ..., 'TYPE_N')

or

('TYPE_1', 'TYPE_2', ..., 'TYPE_M', '...')

First specification requires list value of test parameter to contain N elements. First element of list should be of should TYPE_1 type, second element of list should of TYPE_2 type, ..., N-th element of list should be of TYPE_N type.

Second specification requires list value of test parameter to contain at least N elements. First element of list should be of should TYPE_1 type, second element of list should of TYPE_2 type, ..., M-th element of list should be of TYPE_M type, all following elements should be of TYPE_M type.

Exceptions

Dies if checks is not successful.

check_scalar ($param, $value, $optional_regexp)

Method that checks whether test parameter value is of scalar type (that is it is usual Perl scalar and is not a reference).

If $optional_regexp is specified also checks value of parameter using this regual expression.

Exceptions

Dies if check is not successful.

check_stringref ($param, $value)

Method that checks whether test parameter value is of stringref type (that is it is a reference on scalar).

Exceptions

Dies if check is not successful.

check_uri ($param, $value)

Method that checks whether test parameter value is of uri type (that is it either scalar or URI object).

Exceptions

Dies if check is not successful.

check_hashlist ($param, $value)

Method that checks whether test parameter value is of hashlist type (that is it is either a hash reference or an array reference that points to array containing even number of elements).

Exceptions

Dies if check is not successful.

check_yesno ($param, $value)

Same as

check_scalar($param, $value, '^(?:yes|no)$');

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::Plugins

HTTP::WebTest::ReportPlugin