# $Id$ use strict; use warnings; use IO::File; use Test::More; use Log::Any::Adapter; $^W = 1; my $logtmp1; END { foreach my $tmpfile($logtmp1) { if (defined($tmpfile)) { eval {unlink($tmpfile) or diag("unlink $tmpfile - $!")}; } } } push @INC, 't'; require 'lib.pl'; my ($dsn,$user,$password,$table) = get_config(); if (!defined($dsn) || ($dsn eq "")) { plan skip_all => "connection orientated test not run because no database connect information supplied"; exit 0; } else { plan tests => 11; } my $out; ######################### $logtmp1 = config(); Log::Any::Adapter->set ('File', $logtmp1); #use_ok('DBIx::LogAny'); use DBIx::LogAny; my $dbh = DBIx::LogAny->connect($dsn, $user, $password); ok($dbh, 'connect to db'); BAIL_OUT("Failed to connect to database - all other tests abandoned") if (!$dbh); my $size; ok($size = check_log(\$out, $logtmp1, $size), 'test for log output'); { local $dbh->{PrintError} = 0; eval {$dbh->do(qq/drop table $table/)}; } ok($size = check_log(\$out, $logtmp1, $size), 'drop test table'); ok($dbh->do(qq/create table $table (a int primary key, b char(50))/), 'create test table'); ok($size = check_log(\$out, $logtmp1, $size), 'test for log output'); my $sth; ok($sth = $dbh->prepare(qq/insert into $table values (?,?)/), 'prepare insert'); SKIP: { skip "prepare failed", 3 unless $sth; ok($size = check_log(\$out, $logtmp1, $size), 'test for log output'); ok($sth->execute(1, 'one'), 'insert one'); ok($size = check_log(\$out, $logtmp1, $size), 'test for log output'); }; ok ($dbh->disconnect, 'disconnect'); ok($size = check_log(\$out, $logtmp1, $size), 'test for log output');