t/00-basic.t
changeset 23 c52bb12b3ed0
parent 20 2c6f22539c7f
child 24 d98e12e07560
equal deleted inserted replaced
22:c440abd2b56a 23:c52bb12b3ed0
       
     1 use strict;
       
     2 use warnings;
     1 use Test::More qw(no_plan);
     3 use Test::More qw(no_plan);
     2 use Test::Exception;
     4 use Test::Exception;
     3 
     5 
     4 use_ok 'Nagios::Check::DNS::check_tlsa_record' or BAIL_OUT;
     6 use_ok 'Nagios::Check::DNS::check_tlsa_record' or BAIL_OUT;
     5 can_ok 'Nagios::Check::DNS::check_tlsa_record', qw(dig_tlsa) or BAIL_OUT;
     7 can_ok 'Nagios::Check::DNS::check_tlsa_record', qw(dig_tlsa) or BAIL_OUT;
    13     dies_ok { dig_tlsa('example.org') } 'API: dig_tlsa() missing port';
    15     dies_ok { dig_tlsa('example.org') } 'API: dig_tlsa() missing port';
    14 };
    16 };
    15 
    17 
    16 # get and compare the TLSA records via dig_tlsa with `dig …`
    18 # get and compare the TLSA records via dig_tlsa with `dig …`
    17 subtest 'Data' => sub {
    19 subtest 'Data' => sub {
    18     foreach (['ssl.schlittermann.de' => 443], ['mx1.mailbox.org.de' => 25],) {
    20     foreach (['ssl.schlittermann.de' => 443], ['mx1.mailbox.org' => 25], ['ssl.kugelbus.de' => 443]) {
    19         my ($domain, $port) = @$_;
    21         my ($domain, $port) = @$_;
    20         is dig_tlsa($domain, $port),
    22 	my (@tlsa) = map { /^_$port._tcp.\S+\s+\d+\s+IN\s+TLSA\s+(.*\n)/i  } `dig tlsa _$port._tcp.$domain`;
    21           `dig +short tlsa _$port._tcp.$domain` => "TLSA $domain:$port";
    23         is dig_tlsa($domain, $port), $tlsa[0] => "TLSA for $domain:$port";
    22     }
    24     }
    23 };
    25 };