tests + add TODO
authorpesch
Tue, 31 May 2016 23:45:16 +0200
changeset 18 936efccc64e6
parent 17 a8b89fc55a30
child 19 7c5787eaccb5
tests + add TODO
lib/Nagios/Check/DNS/check_tlsa_record.pm
t/check_tlsa_record.t
--- a/lib/Nagios/Check/DNS/check_tlsa_record.pm	Tue May 31 20:50:52 2016 +0200
+++ b/lib/Nagios/Check/DNS/check_tlsa_record.pm	Tue May 31 23:45:16 2016 +0200
@@ -30,6 +30,11 @@
 }
 
 sub dig_tlsa {
+  #@TODO
+  #dig tlsa _443._tcp.torproject.org +short 
+  #wildcard.torproject.org.
+  #3 1 1 578582E6B4569A4627AEF5DFE876EEC0539388E605DB170217838B10 D2A58DA5
+  # until it's fixed test 7 returns ok on test on crit tlsa status
     my $domain     = shift;
     my $port       = shift // croak 'Need a port number';
     my $protocol   = shift // 'tcp';
--- a/t/check_tlsa_record.t	Tue May 31 20:50:52 2016 +0200
+++ b/t/check_tlsa_record.t	Tue May 31 23:45:16 2016 +0200
@@ -8,20 +8,45 @@
 
 require_ok('Nagios::Check::DNS::check_tlsa_record');
 
-my $domain = 'ssl.schlittermann.de';
+#HTTP Domains
+my $domain  = 'ssl.schlittermann.de';
+my $domain2 = 'torproject.org';
+my $domain3 = 'freebsd.org';
+
+#smtpdomains
+my $sdomain = 'hh.schlittermann.de';
+
 
 #Test main()
-my $test_main_no_port = Nagios::Check::DNS::check_tlsa_record::main(($domain));
-like($test_main_no_port, qr(OK: .* is valid), 'main() no port');
+
+sub test_main() {
+  my $test_main_default_port = Nagios::Check::DNS::check_tlsa_record::main(($domain));
+  like($test_main_default_port, qr(OK: .* is valid), 'main() ok with domain and default port 443');
 
-my $test_main_no_tlsa = Nagios::Check::DNS::check_tlsa_record::main(('hh.schlittermann.de'));
-like($test_main_no_tlsa, qr(WARNING: .*), 'main() no SSL-Cert or no tlsa to dig');
+  my $test_main_domain_and_port = Nagios::Check::DNS::check_tlsa_record::main(($sdomain, 25));
+  like($test_main_domain_and_port, qr(OK: .* is valid), 'main() ok with domain and port');
+
+  my $test_main_domain_port_protocol = Nagios::Check::DNS::check_tlsa_record::main(($domain3, 443, 'tcp'));
+  like($test_main_domain_port_protocol, qr(OK: .* is valid), 'main() ok with domain, port and protocol');
+
+  my $test_main_no_tlsa = Nagios::Check::DNS::check_tlsa_record::main(($sdomain));
+  like($test_main_no_tlsa, qr(WARNING: .*), 'main() warning when no SSL-Certificate is available or dig returns no tlsa');
 
-my $test_main_domain_and_port = Nagios::Check::DNS::check_tlsa_record::main(('hh.schlittermann.de', 25));
-like($test_main_domain_and_port, qr(OK: .* is valid), 'main() domain and port');
+  my $test_main_default_port2 = Nagios::Check::DNS::check_tlsa_record::main(($domain2));
+  like($test_main_default_port2, qr(CRITICAL: .* valid), 'main() critical with domain and default port 443');
+
+}
+
+sub test_dig() {
 
-my $test_main_domain_protocol_port = Nagios::Check::DNS::check_tlsa_record::main(('hh.schlittermann.de', 25, 'tcp'));
-like($test_main_domain_protocol_port, qr(OK: .* is valid), 'main() domain, protocol and port');
+#my $test_dig_tlsa = Nagios::Check::DNS::check_tlsa_record::dig_tlsa($domain, 25, 'tcp');
+my $test_dig_tlsa = Nagios::Check::DNS::check_tlsa_record::dig_tlsa($domain, 443);
+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');
+
+}
+
+test_main();
+test_dig();