Device-PaloAlto-Firewall

 view release on metacpan or  search on metacpan

t/000-http_errors.t  view on Meta::CPAN

#!perl -T
use 5.006;
use strict;
use warnings;
use Test::More;
use Test::Warn;
use Test::Exception;
use HTTP::Response;

use Device::PaloAlto::Firewall;


 my $http_error_responses = [
     HTTP::Response->new(
         400, 
         "400 Response", 
         undef,
         q{<response status = 'error' code = '400'><result><msg>Illegal parameter [request]</msg></result></response>}
     ),
     HTTP::Response->new(
         403, 
         "403 Response", 
         undef,
         q{<response status = 'error' code = '403'><result><msg>Invalid credentials.</msg></result></response>}
     ),
     HTTP::Response->new(
         500, 
         "500 Response", 
         undef,
         q{}
     ),
     HTTP::Response->new(
         503, 
         "503 Response", 
         undef,
         q{<html>
         <head><title>502 Bad Gateway</title></head>
         <body bgcolor="white">
         <center><h1>502 Bad Gateway</h1></center>
         <hr><center></center>
         </body>
         </html>}
     )
 ];

plan tests => 47 * @{ $http_error_responses } ; 

my $fw = Device::PaloAlto::Firewall->new(uri => 'http://localhost.localdomain', username => 'test', password => 'test');
my $test = $fw->tester();

for my $response (@{ $http_error_responses }) { 

    $fw->meta->add_method('_send_http_request', sub { return $response } );

	# Supress the warning output
    no warnings 'redefine';
    local *Device::PaloAlto::Firewall::Test::carp = sub { };
    local *Device::PaloAlto::Firewall::carp = sub { };

    ok( !$fw->authenticate(), "authenticate() returns undef on ".$response->message );
    ok( !$fw->system_info(), "system_info() returns undef on ".$response->message );
    ok( !$fw->environmentals(), "environmentals() returns undef on ".$response->message );
    ok( !$fw->high_availability(), "high_availability() returns undef on ".$response->message );
    ok( !$fw->software_check(), "software_check() returns undef on ".$response->message );
    ok( !$fw->content_check(), "content_check() returns undef on ".$response->message );
    ok( !$fw->antivirus_check(), "antivirus_check() returns undef on ".$response->message );
    ok( !$fw->gp_client_check(), "gp_client_check() returns undef on ".$response->message );
    ok( !$fw->licenses(), "licenses() returns undef on ".$response->message );

    ok( !$fw->interfaces(), "interfaces() returns undef on ".$response->message );
    ok( !$fw->interface_counters_logical(), "interface_counters_logical() returns undef on ".$response->message );
    ok( !$fw->routing_table(), "routing_table() returns undef on ".$response->message );
    ok( !$fw->bgp_peers(), "bgp_peers() returns undef on ".$response->message );
    ok( !$fw->bgp_rib(), "bgp_rib() returns undef on ".$response->message );
    ok( !$fw->ospf_neighbours(), "ospf_neighbours() returns undef on ".$response->message );
    ok( !$fw->pim_neighbours(), "pim_neighbours() returns undef on ".$response->message );
    ok( !$fw->bfd_peers(), "bfd_peers() returns undef on ".$response->message );
    ok( !$fw->ntp(), "ntp() returns undef on ".$response->message );
    ok( !$fw->panorama_status(), "panorama_status() returns undef on ".$response->message );
    ok( !$fw->ip_user_mapping(), "ip_user_mapping() returns undef on ".$response->message );
    ok( !$fw->userid_server_monitor(), "userid_server_monitor() returns undef on ".$response->message );
    ok( !$fw->ike_peers(), "ike_peers() returns undef on ".$response->message );
    ok( !$fw->ipsec_peers(), "ipsec_peers() returns undef on ".$response->message );
    ok( !$fw->vpn_tunnels(), "vpn_tunnels() returns undef on ".$response->message );



( run in 1.684 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )