diff options
Diffstat (limited to 'plugins/t')
| -rw-r--r-- | plugins/t/check_smtp.t | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/plugins/t/check_smtp.t b/plugins/t/check_smtp.t index 0046a58a..ff58bc0b 100644 --- a/plugins/t/check_smtp.t +++ b/plugins/t/check_smtp.t | |||
| @@ -11,6 +11,10 @@ use NPTest; | |||
| 11 | 11 | ||
| 12 | my $host_tcp_smtp = getTestParameter( "NP_HOST_TCP_SMTP", | 12 | my $host_tcp_smtp = getTestParameter( "NP_HOST_TCP_SMTP", |
| 13 | "A host providing an SMTP Service (a mail server)", "mailhost"); | 13 | "A host providing an SMTP Service (a mail server)", "mailhost"); |
| 14 | my $host_tcp_smtp_tls = getTestParameter( "NP_HOST_TCP_SMTP_TLS", | ||
| 15 | "A host providing SMTP with TLS", $host_tcp_smtp); | ||
| 16 | my $host_tcp_smtp_notls = getTestParameter( "NP_HOST_TCP_SMTP_NOTLS", | ||
| 17 | "A host providing SMTP without TLS", ""); | ||
| 14 | 18 | ||
| 15 | my $host_nonresponsive = getTestParameter( "NP_HOST_NONRESPONSIVE", | 19 | my $host_nonresponsive = getTestParameter( "NP_HOST_NONRESPONSIVE", |
| 16 | "The hostname of system not responsive to network requests", "10.0.0.1" ); | 20 | "The hostname of system not responsive to network requests", "10.0.0.1" ); |
| @@ -19,10 +23,10 @@ my $hostname_invalid = getTestParameter( "NP_HOSTNAME_INVALID", | |||
| 19 | "An invalid (not known to DNS) hostname", "nosuchhost" ); | 23 | "An invalid (not known to DNS) hostname", "nosuchhost" ); |
| 20 | my $res; | 24 | my $res; |
| 21 | 25 | ||
| 22 | plan tests => 8; | 26 | plan tests => 10; |
| 23 | 27 | ||
| 24 | SKIP: { | 28 | SKIP: { |
| 25 | skip "No SMTP server defined", 3 unless $host_tcp_smtp; | 29 | skip "No SMTP server defined", 4 unless $host_tcp_smtp; |
| 26 | $res = NPTest->testCmd( "./check_smtp $host_tcp_smtp" ); | 30 | $res = NPTest->testCmd( "./check_smtp $host_tcp_smtp" ); |
| 27 | is ($res->return_code, 0, "OK"); | 31 | is ($res->return_code, 0, "OK"); |
| 28 | 32 | ||
| @@ -39,12 +43,22 @@ SKIP: { | |||
| 39 | local $TODO = "Output is over two lines"; | 43 | local $TODO = "Output is over two lines"; |
| 40 | like ( $res->output, qr/^SMTP WARNING/, "Correct error message" ); | 44 | like ( $res->output, qr/^SMTP WARNING/, "Correct error message" ); |
| 41 | } | 45 | } |
| 46 | } | ||
| 42 | 47 | ||
| 43 | # SSL connection | 48 | SKIP: { |
| 44 | $res = NPTest->testCmd( "./check_smtp -H $host_tcp_smtp -p 25 -S" ); | 49 | skip "No SMTP server with TLS defined", 1 unless $host_tcp_smtp_tls; |
| 50 | # SSL connection for TLS | ||
| 51 | $res = NPTest->testCmd( "./check_smtp -H $host_tcp_smtp_tls -p 25 -S" ); | ||
| 45 | is ($res->return_code, 0, "OK, with STARTTLS" ); | 52 | is ($res->return_code, 0, "OK, with STARTTLS" ); |
| 46 | } | 53 | } |
| 47 | 54 | ||
| 55 | SKIP: { | ||
| 56 | skip "No SMTP server without TLS defined", 2 unless $host_tcp_smtp_notls; | ||
| 57 | $res = NPTest->testCmd( "./check_smtp -H $host_tcp_smtp_notls -p 25 -S" ); | ||
| 58 | is ($res->return_code, 1, "OK, got warning from server without TLS"); | ||
| 59 | is ($res->output, "WARNING - TLS not supported by server", "Right error message" ); | ||
| 60 | } | ||
| 61 | |||
| 48 | $res = NPTest->testCmd( "./check_smtp $host_nonresponsive" ); | 62 | $res = NPTest->testCmd( "./check_smtp $host_nonresponsive" ); |
| 49 | is ($res->return_code, 2, "CRITICAL - host non responding" ); | 63 | is ($res->return_code, 2, "CRITICAL - host non responding" ); |
| 50 | 64 | ||
