HTTP::WebTest::Test - Test object class


HTTP-WebTest documentation Contained in the HTTP-WebTest distribution.

Index


Code Index:

NAME

Top

HTTP::WebTest::Test - Test object class

SYNOPSIS

Top

    use HTTP::WebTest::Test;

    my $test = HTTP::WebTest::Test->new(%params);
    my $test = HTTP::WebTest::Test->convert($raw_test);

    my $value = $test->param($param);
    my $value = $test->params->{$param};

    my $results = $test->results;
    my $result = $test->result->[0];
    $test->result->[0] = $result;
    $test->results([ @results ]);

    my $request = $test->request;
    $test->request($request);
    my $response = $test->response;
    $test->response($response);
    my $response_time = $test->response_time;
    $test->response_time($response_time);

DESCRIPTION

Top

Objects of this class represent tests. They store both test parameters and test results.

CLASS METHODS

Top

new (%params)

Constructor.

Parameters

* %params

A hash with test parameters.

Returns

A new HTTP::WebTest::Test object.

params

Returns

A reference to a hash with all test parameters.

param ($param)

Returns

A value of test parameter named $param.

results ($optional_results)

Can set HTTP::WebTest::TestResult objects for this HTTP::WebTest::Test object if an array reference $optional_results is passed.

Returns

A reference to an array that contains HTTP::WebTest::TestResult objects.

request ($optional_request)

If parameter $optional_request is passed, set HTTP::Request object for this HTTP::WebTest::Test object.

Returns

A HTTP::Request object.

response ($optional_response)

If parameter $optional_response is passed, set HTTP::Response object for this HTTP::WebTest::Test object.

Returns

A HTTP::Response object.

response_time ($optional_response_time)

If parameter $optional_response_time is passed, set response time for this HTTP::WebTest::Test object.

Returns

A response time.

convert ($test)

Tries to convert test definition in some form into HTTP::WebTest::Test object. Currenlty supports test defintion in form of HTTP::WebTest::Test object (it is just passed through) or in the form of hash reference:

    { test_param1 => test_value1, test_param2 => test_value2 }

Returns

A new HTTP::WebTest::Test object.

reset ()

Resets test object

COPYRIGHT

Top

SEE ALSO

Top

HTTP::WebTest

HTTP::WebTest::API (HTTP::WebTest::API)

HTTP::WebTest::TestResult

HTTP::Request

HTTP::Response


HTTP-WebTest documentation Contained in the HTTP-WebTest distribution.
# $Id: Test.pm,v 1.7 2003/03/02 11:52:10 m_ilya Exp $

package HTTP::WebTest::Test;

use strict;

use HTTP::WebTest::Utils qw(make_access_method);

sub new {
    my $class = shift;
    my %params = @_;

    my $self = bless {}, $class;
    $self->params({ %params });

    return $self;
}

*params = make_access_method('PARAMS', sub { {} });

sub param {
    my $self = shift;
    my $param = shift;

    return $self->params->{$param};
}

*results = make_access_method('RESULTS', sub { [] });

*request = make_access_method('REQUEST');

*response = make_access_method('RESPONSE');

*response_time = make_access_method('RESPONSE_TIME');

sub convert {
    my $class = shift;
    my $test = shift;

    return $test if UNIVERSAL::isa($test, 'HTTP::WebTest::Test');

    my $conv_test = $class->new(%$test);

    return $conv_test;
}

sub reset {
    my $self = shift;

    $self->request(undef);
    $self->response(undef);
    $self->response_time(undef);
    $self->results(undef);
}

1;