Code

Added tests for SMTP servers without TLS and with TLS
authorTon Voon <tonvoon@users.sourceforge.net>
Thu, 19 Oct 2006 11:56:34 +0000 (11:56 +0000)
committerTon Voon <tonvoon@users.sourceforge.net>
Thu, 19 Oct 2006 11:56:34 +0000 (11:56 +0000)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1500 f882894a-f735-0410-b71e-b25c423dba1c

plugins/t/check_smtp.t

index 0046a58a921cceab77d32d43ad780588e8c1bbfe..ff58bc0bed283fea2ddb6f5f599b83de0e1ff0a0 100644 (file)
@@ -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" );