t/check_tlsa_record.t
changeset 18 936efccc64e6
parent 17 a8b89fc55a30
child 24 d98e12e07560
equal deleted inserted replaced
17:a8b89fc55a30 18:936efccc64e6
     6 
     6 
     7 BEGIN { use_ok('Nagios::Check::DNS::check_tlsa_record') };
     7 BEGIN { use_ok('Nagios::Check::DNS::check_tlsa_record') };
     8 
     8 
     9 require_ok('Nagios::Check::DNS::check_tlsa_record');
     9 require_ok('Nagios::Check::DNS::check_tlsa_record');
    10 
    10 
    11 my $domain = 'ssl.schlittermann.de';
    11 #HTTP Domains
       
    12 my $domain  = 'ssl.schlittermann.de';
       
    13 my $domain2 = 'torproject.org';
       
    14 my $domain3 = 'freebsd.org';
       
    15 
       
    16 #smtpdomains
       
    17 my $sdomain = 'hh.schlittermann.de';
       
    18 
    12 
    19 
    13 #Test main()
    20 #Test main()
    14 my $test_main_no_port = Nagios::Check::DNS::check_tlsa_record::main(($domain));
       
    15 like($test_main_no_port, qr(OK: .* is valid), 'main() no port');
       
    16 
    21 
    17 my $test_main_no_tlsa = Nagios::Check::DNS::check_tlsa_record::main(('hh.schlittermann.de'));
    22 sub test_main() {
    18 like($test_main_no_tlsa, qr(WARNING: .*), 'main() no SSL-Cert or no tlsa to dig');
    23   my $test_main_default_port = Nagios::Check::DNS::check_tlsa_record::main(($domain));
       
    24   like($test_main_default_port, qr(OK: .* is valid), 'main() ok with domain and default port 443');
    19 
    25 
    20 my $test_main_domain_and_port = Nagios::Check::DNS::check_tlsa_record::main(('hh.schlittermann.de', 25));
    26   my $test_main_domain_and_port = Nagios::Check::DNS::check_tlsa_record::main(($sdomain, 25));
    21 like($test_main_domain_and_port, qr(OK: .* is valid), 'main() domain and port');
    27   like($test_main_domain_and_port, qr(OK: .* is valid), 'main() ok with domain and port');
    22 
    28 
    23 my $test_main_domain_protocol_port = Nagios::Check::DNS::check_tlsa_record::main(('hh.schlittermann.de', 25, 'tcp'));
    29   my $test_main_domain_port_protocol = Nagios::Check::DNS::check_tlsa_record::main(($domain3, 443, 'tcp'));
    24 like($test_main_domain_protocol_port, qr(OK: .* is valid), 'main() domain, protocol and port');
    30   like($test_main_domain_port_protocol, qr(OK: .* is valid), 'main() ok with domain, port and protocol');
       
    31 
       
    32   my $test_main_no_tlsa = Nagios::Check::DNS::check_tlsa_record::main(($sdomain));
       
    33   like($test_main_no_tlsa, qr(WARNING: .*), 'main() warning when no SSL-Certificate is available or dig returns no tlsa');
       
    34 
       
    35   my $test_main_default_port2 = Nagios::Check::DNS::check_tlsa_record::main(($domain2));
       
    36   like($test_main_default_port2, qr(CRITICAL: .* valid), 'main() critical with domain and default port 443');
       
    37 
       
    38 }
       
    39 
       
    40 sub test_dig() {
       
    41 
       
    42 #my $test_dig_tlsa = Nagios::Check::DNS::check_tlsa_record::dig_tlsa($domain, 25, 'tcp');
       
    43 my $test_dig_tlsa = Nagios::Check::DNS::check_tlsa_record::dig_tlsa($domain, 443);
       
    44 like($test_dig_tlsa, qr(^[0-3]{1}\s[01]{1}\s[0-2]{1}\s[A-F0-9]{56}\s[A-F0-9]{8}), 'dig_tlsa() returnd format looks like an valid answer to dig tlsa');
       
    45 
       
    46 }
       
    47 
       
    48 test_main();
       
    49 test_dig();
    25 
    50 
    26 
    51 
    27 
    52 
    28 #@TODO write tests
    53 #@TODO write tests
    29 #my $return2 = Nagios::Check::DNS::check_tlsa_record::dig_tlsa(qw(hh.schlittermann.de 25 udp));
    54 #my $return2 = Nagios::Check::DNS::check_tlsa_record::dig_tlsa(qw(hh.schlittermann.de 25 udp));