NAME

Test::Reporter::Transport::Metabase - Metabase transport for Test::Reporter

SYNOPSIS

my $report = Test::Reporter->new(
    transport => 'Metabase',
    transport_args => [
      uri     => 'http://metabase.example.com:3000/',
      id_file => '/home/jdoe/.metabase/metabase_id.json',
    ],
);

# use space-separated in a CPAN::Reporter config.ini
transport = Metabase uri http://metabase.example.com:3000/ ...

DESCRIPTION

This module submits a Test::Reporter report to the specified Metabase instance.

This requires a network connection to the Metabase uri provided. If you wish to save reports during offline operation, see Test::Reporter::Transport::File. (Eventually, you may be able to run a local Metabase instance to queue reports for later transmission, but this feature has not yet been developed.)

USAGE

See Test::Reporter and Test::Reporter::Transport for general usage information.

Transport arguments

Unlike most other Transport classes, this class requires transport arguments to be provided as key-value pairs:

my $report = Test::Reporter->new(
    transport => 'Metabase',
    transport_args => [
      uri     => 'http://metabase.example.com:3000/',
      id_file => '/home/jdoe/.metabase/metabase_id.json',
    ],
);

Arguments include:

uri (required)

The uri argument gives the network location of a Metabase instance to receive reports.

id_file (required)

The id_file argument must be a path to a Metabase ID file. If you do not already have an ID file, use the metabase-profile program to create one.

$ metabase-profile

This creates the file metabase_id.json in the current directory. You can also give an --output argument to save the file to a different location or with a different name.

client (optional)

The client argument is optional and specifies the type of Metabase::Client to use to transmit reports to the target Metabase. It defaults to Metabase::Client::Simple.

METHODS

These methods are only for internal use by Test::Reporter.

new

my $sender = Test::Reporter::Transport::File->new( $params );

The new method is the object constructor.

send

$sender->send( $report );

The send method transmits the report.

AUTHORS

David A. Golden (DAGOLDEN)
Richard Dawe (RICHDAWE)

COPYRIGHT AND LICENSE

Portions Copyright (c) 2009 by Richard Dawe
Portions Copyright (c) 2009-2010 by David A. Golden

Licensed under the same terms as Perl itself (the "License"). You may not use this file except in compliance with the License. A copy of the License was distributed with this file or you may obtain a copy of the License from http://dev.perl.org/licenses/

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.