use strict;
use warnings;
use Test::More;
BEGIN {
eval "use DBI;";
if ($@) {
plan skip_all => "No DBI installed";
exit(0);
}
};
use Log::Handler::Output::DBI;
plan tests => 8;
my ($ret, $log);
$log = Log::Handler::Output::DBI->new(
database => "dbname",
driver => "mysql",
user => "dbuser",
password => "dbpass",
host => "127.0.0.1",
port => 3306,
debug => 0,
table => "messages",
columns => "level message",
values => "%level %message",
persistent => 0,
);
ok(1, "new");
$ret = $log->{statement} eq "insert into messages (level,message) values (?,?)";
ok($ret, "checking statement");
#$ret = $log->{cstr}->[0] eq "dbi:mysql:database=dbname;host=127.0.0.1;port=3306";
$ret = $log->{cstr}->[0] eq "dbi:mysql:database=dbname;host=127.0.0.1;port=3306";
ok($ret, "checking cstr");
$ret = $log->{cstr}->[1] eq "dbuser";
ok($ret, "checking user");
$ret = $log->{cstr}->[2] eq "dbpass";
ok($ret, "checking password");
$ret = $log->{cstr}->[3]->{PrintError} == 0;
ok($ret, "checking argument PrintError");
$ret = $log->{cstr}->[3]->{AutoCommit} == 1;
ok($ret, "checking argument AutoCommit");
$log->reload(
{
database => "dbname",
driver => "mysql",
user => "dbuser",
password => "new password",
host => "127.0.0.1",
port => 3306,
debug => 0,
table => "messages",
columns => "level message",
values => "%level %message",
persistent => 0,
}
);
ok($log->{password} eq "new password", "checking reload ($log->{password})");