Просмотр исходного кода

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
Ton Voon 19 лет назад
Родитель
Сommit
6ab0bfca5a
1 измененных файлов с 18 добавлено и 4 удалено
  1. 18 4
      plugins/t/check_smtp.t

+ 18 - 4
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" );