1 contributor
use Test::More 'no_plan';
{
package MyDBI1;
use base 'DBIx::Custom';
use DBIx::Connector;
__PACKAGE__->attr(connection_manager => sub {
my $self = shift;
my $cm = DBIx::Connector->new(
$self->data_source,
$self->user,
$self->password,
{
%{$self->default_dbi_option},
%{$self->dbi_option}
}
);
return $cm
});
sub dbh { shift->connection_manager->dbh }
sub connect {
my $self = shift->SUPER::new(@_);
return $self;
}
}
# user password database
our ($USER, $PASSWORD, $DATABASE) = connect_info();
# Functions for tests
sub connect_info {
my $file = 'password.tmp';
open my $fh, '<', $file
or return;
my ($user, $password, $database) = split(/\s/, (<$fh>)[0]);
close $fh;
return ($user, $password, $database);
}
my $dbi = MyDBI1->connect(
user => $USER, password => $PASSWORD,
data_source => "dbi:mysql:database=$DATABASE");
$dbi->delete_all(table => 'table1');
$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
is_deeply($dbi->select(table => 'table1')->fetch_hash_all, [{key1 => 1, key2 => 2}]);