use strict; use warnings; use lib './t'; use Test::More; use Test::Exception; use DBIx::Skinny::Schema::Loader; subtest 'invalid args' => sub { ok my $loader = DBIx::Skinny::Schema::Loader->new, 'created loader instance'; throws_ok { $loader->connect('', '', '') } qr/^Could not parse DSN/, 'caught exception when dsn was invalid'; done_testing; }; subtest 'Oracle' => sub { my $loader = DBIx::Skinny::Schema::Loader->new; throws_ok { $loader->connect('dbi:Oracle:test', '', '') } qr/^Oracle is not supported by DBIx::Skinny::Schema::Loader yet/, 'caught exception when driver was not supported'; done_testing; }; subtest 'connect_info array style' => sub { my $loader = DBIx::Skinny::Schema::Loader->new; ok $loader->connect('dbi:SQLite:test.db', '', ''), 'connect succeeded'; ok unlink('./test.db'), 'deleted test DB'; done_testing; }; subtest 'connect_info hashref style' => sub { my $loader = DBIx::Skinny::Schema::Loader->new; ok $loader->connect(+{ dsn => 'dbi:SQLite:test.db', user => '', pass =>'' }), 'connect succeeded(hashref style)'; ok unlink('./test.db'), 'deleted test DB'; done_testing; }; done_testing;