File: 06-Proxy.t

package info (click to toggle)
libwebinject-perl 1.86-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 428 kB
  • ctags: 197
  • sloc: perl: 4,101; xml: 257; makefile: 7
file content (80 lines) | stat: -rw-r--r-- 2,417 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/usr/bin/env perl

##################################################

use strict;
use Test::More;
use Data::Dumper;
use FindBin qw($Bin);
use lib 't';


if(!$ENV{TEST_AUTHOR}) {
    plan skip_all => 'Author test. Set $ENV{TEST_AUTHOR} to a true value to run.';
}
elsif(!$ENV{'TEST_PROXY'}) {
    plan skip_all => 'Author test. Set $ENV{TEST_PROXY} to run this test.';
}
else{
    plan tests => 8;
}


use_ok('Webinject');

my $webinject = Webinject->new();
isa_ok($webinject, "Webinject", 'Object is a Webinject');

# clean env
for my $key (qw/http_proxy https_proxy HTTP_PROXY HTTPS_PROXY/) {
    delete($ENV{$key});
}

##################################################
# start our test cases
$webinject = Webinject->new("proxy" => $ENV{'TEST_PROXY'});
test_case($webinject, 'http://www.google.de');
test_case($webinject, 'https://encrypted.google.com/');

##################################################
# SUBs
##################################################

##################################################
# Test Case
sub test_case {
    my $webinject = shift;
    my $url       = shift;
    my $case = {
        'logresponse'         => 'yes',
        'logrequest'          => 'yes',
        'verifyresponsecode'  => 200,
        'verifypositive'      => 'Google',
        'url'                 => $url,
        'warning'             => 30,
        'critical'            => 30,
    };
    my $expected = {
        'id'                  => 1,
        'passedcount'         => 4,
        'failedcount'         => 0,
        'url'                 => $case->{'url'},
        'logresponse'         => 'yes',
        'logrequest'          => 'yes',
        'verifyresponsecode'  => 200,
        'verifypositive'      => $case->{'verifypositive'},
        'iscritical'          => 0,
        'iswarning'           => 0,
        'warning'             => 30,
        'critical'            => 30,
    };
    my $result = $webinject->_run_test_case($case);

    delete $result->{'messages'};
    delete $result->{'latency'};
    delete $result->{'response'};
    delete $result->{'request'};
    is_deeply($result, $expected, '01 - proxy '.$url.' - result') or BAIL_OUT("expected: \n".Dumper($expected)."\nresult: \n".Dumper($result));
    is($webinject->{'result'}->{'iscritical'}, 0, '06 - proxy '.$url.' - iscritical');
    is($webinject->{'result'}->{'iswarning'}, 0, '06 - proxy '.$url.' - iswarning');
}