From 6ab0bfca5a908882b295586d8772dd0fbf7eb933 Mon Sep 17 00:00:00 2001 From: Ton Voon Date: Thu, 19 Oct 2006 11:56:34 +0000 Subject: Added tests for SMTP servers without TLS and with TLS git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1500 f882894a-f735-0410-b71e-b25c423dba1c diff --git a/plugins/t/check_smtp.t b/plugins/t/check_smtp.t index 0046a58..ff58bc0 100644 --- a/plugins/t/check_smtp.t +++ b/plugins/t/check_smtp.t @@ -11,6 +11,10 @@ use NPTest; my $host_tcp_smtp = getTestParameter( "NP_HOST_TCP_SMTP", "A host providing an SMTP Service (a mail server)", "mailhost"); +my $host_tcp_smtp_tls = getTestParameter( "NP_HOST_TCP_SMTP_TLS", + "A host providing SMTP with TLS", $host_tcp_smtp); +my $host_tcp_smtp_notls = getTestParameter( "NP_HOST_TCP_SMTP_NOTLS", + "A host providing SMTP without TLS", ""); my $host_nonresponsive = getTestParameter( "NP_HOST_NONRESPONSIVE", "The hostname of system not responsive to network requests", "10.0.0.1" ); @@ -19,10 +23,10 @@ my $hostname_invalid = getTestParameter( "NP_HOSTNAME_INVALID", "An invalid (not known to DNS) hostname", "nosuchhost" ); my $res; -plan tests => 8; +plan tests => 10; SKIP: { - skip "No SMTP server defined", 3 unless $host_tcp_smtp; + skip "No SMTP server defined", 4 unless $host_tcp_smtp; $res = NPTest->testCmd( "./check_smtp $host_tcp_smtp" ); is ($res->return_code, 0, "OK"); @@ -39,12 +43,22 @@ SKIP: { local $TODO = "Output is over two lines"; like ( $res->output, qr/^SMTP WARNING/, "Correct error message" ); } +} - # SSL connection - $res = NPTest->testCmd( "./check_smtp -H $host_tcp_smtp -p 25 -S" ); +SKIP: { + skip "No SMTP server with TLS defined", 1 unless $host_tcp_smtp_tls; + # SSL connection for TLS + $res = NPTest->testCmd( "./check_smtp -H $host_tcp_smtp_tls -p 25 -S" ); is ($res->return_code, 0, "OK, with STARTTLS" ); } +SKIP: { + skip "No SMTP server without TLS defined", 2 unless $host_tcp_smtp_notls; + $res = NPTest->testCmd( "./check_smtp -H $host_tcp_smtp_notls -p 25 -S" ); + is ($res->return_code, 1, "OK, got warning from server without TLS"); + is ($res->output, "WARNING - TLS not supported by server", "Right error message" ); +} + $res = NPTest->testCmd( "./check_smtp $host_nonresponsive" ); is ($res->return_code, 2, "CRITICAL - host non responding" ); -- cgit v0.10-9-g596f