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)); |