From: Greg Sabino Mullane Date: Fri, 10 Apr 2009 16:14:44 +0000 (-0400) Subject: New 'listen' test from Jeff Boes. X-Git-Tag: 2.9.0~118 X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=5425d90daa596168714e0b57cc4d56641f77859a;p=check_postgres.git New 'listen' test from Jeff Boes. Add new get_dbname method to CP_Testing.pm --- diff --git a/t/02_listener.t b/t/02_listener.t new file mode 100644 index 000000000..0edeb3ab9 --- /dev/null +++ b/t/02_listener.t @@ -0,0 +1,53 @@ +#!perl + +## Test the "listener" action + +use strict; +use warnings; +use Data::Dumper; +use DBI; +use Test::More tests => 8; +use lib 't','.'; +use CP_Testing; + +use vars qw/$dbh $result $t $host $dbname/; + +my $cp = CP_Testing->new( {default_action => 'listener'} ); + +$dbh = $cp->test_database_handle(); + +$host = $cp->get_host(); +$dbname = $cp->get_dbname(); + +my $S = q{Action 'listener'}; + +$result = $cp->run('-w foo'); + +$t = qq{$S returned expected text and warning}; +like ($result, qr{^POSTGRES_LISTENER WARNING:}, $t); + +$t = qq{$S returned correct host name}; +like ($result, qr{\(host:$host\)}, $t); + +$t = qq{$S returned correct database name}; +like ($result, qr{DB "$dbname"}, $t); + +$t = qq{$S returned zero listeners}; +like ($result, qr{listeners found: 0\b}, $t); + +$dbh->do(q{LISTEN "FOO"}) or die $dbh->errstr; +$dbh->commit; + +$t = qq{$S returned critical as expected<}; +like ($cp->run('-c nomatch'), qr{^POSTGRES_LISTENER CRITICAL}, $t); + +$t = qq{$S found one listener via explicit name}; +like ($cp->run('-w FOO'), qr{listeners found: 1\b}, $t); + +$t = qq{$S found one listener via regex}; +like ($cp->run('-w ~FO'), qr{listeners found: 1\b}, $t); + +$t = qq{$S returned correct information for MRTG output}; +is ($cp->run('-w ~FO --output=MRTG'), qq{1\n0\n\n\n}, $t); + +exit; diff --git a/t/CP_Testing.pm b/t/CP_Testing.pm index ff0be5ad0..66004378b 100644 --- a/t/CP_Testing.pm +++ b/t/CP_Testing.pm @@ -205,6 +205,11 @@ sub get_host { return $self->{dbhost}; } +sub get_dbname { + my $self = shift; + return $self->{dbname}; +} + sub get_dbh { my $self = shift; return $self->{dbh} || die;