use lib qw(t/lib);
use DBICTest;
-use DBIC::SqlMakerTest;
plan skip_all => 'Test needs ' . DBIx::Class::Optional::Dependencies->req_missing_for ('test_rdbms_mysql')
unless DBIx::Class::Optional::Dependencies->req_ok_for ('test_rdbms_mysql');
plan skip_all => 'Set $ENV{DBICTEST_MYSQL_DSN}, _USER and _PASS to run this test'
unless ($dsn && $user);
-my $schema = DBICTest::Schema->connect($dsn, $user, $pass, { quote_names => 1 });
+my $schema = DBICTest->connect_schema($dsn, $user, $pass, { quote_names => 1 });
my $dbh = $schema->storage->dbh;
# make sure sqlt_type overrides work (::Storage::DBI::mysql does this)
{
- my $schema = DBICTest::Schema->connect($dsn, $user, $pass);
+ my $schema = DBICTest->connect_schema($dsn, $user, $pass);
ok (!$schema->storage->_dbh, 'definitely not connected');
is ($schema->storage->sqlt_type, 'MySQL', 'sqlt_type correct pre-connection');
# with it (ribasushi, 2009/07/03)
NULLINSEARCH: {
- my $ansi_schema = DBICTest::Schema->connect ($dsn, $user, $pass, { on_connect_call => 'set_strict_mode' });
+ my $ansi_schema = DBICTest->connect_schema ($dsn, $user, $pass, { on_connect_call => 'set_strict_mode' });
$ansi_schema->resultset('Artist')->create ({ name => 'last created artist' });
# check for proper grouped counts
{
- my $ansi_schema = DBICTest::Schema->connect ($dsn, $user, $pass, {
+ my $ansi_schema = DBICTest->connect_schema ($dsn, $user, $pass, {
on_connect_call => 'set_strict_mode',
quote_char => '`',
});
is ($rs->count, 10, '10 artists present');
- my $orig_debug = $schema->storage->debug;
- $schema->storage->debug(1);
- my $query_count;
- $schema->storage->debugcb(sub { $query_count++ });
-
- $query_count = 0;
- $complex_rs->delete;
-
- is ($query_count, 1, 'One delete query fired');
+ $schema->is_executed_querycount( sub {
+ $complex_rs->delete;
+ }, 1, 'One delete query fired' );
is ($rs->count, 0, '10 Artists correctly deleted');
$rs->create({
});
is ($rs->count, 1, 'Artist with cd created');
- $query_count = 0;
- $schema->resultset('CD')->search_related('artist',
- { 'artist.name' => { -like => 'baby_with_%' } }
- )->delete;
- is ($query_count, 1, 'And one more delete query fired');
- is ($rs->count, 0, 'Artist with cd deleted');
- $schema->storage->debugcb(undef);
- $schema->storage->debug($orig_debug);
+ $schema->is_executed_querycount( sub {
+ $schema->resultset('CD')->search_related('artist',
+ { 'artist.name' => { -like => 'baby_with_%' } }
+ )->delete;
+ }, 1, 'And one more delete query fired');
+ is ($rs->count, 0, 'Artist with cd deleted');
}
ZEROINSEARCH: {
]});
warnings_exist { is_deeply (
- [ $restrict_rs->get_column('y')->all ],
- [ $y_rs->all ],
+ [ sort $restrict_rs->get_column('y')->all ],
+ [ sort $y_rs->all ],
'Zero year was correctly excluded from resultset',
) } qr/
\QUse of distinct => 1 while selecting anything other than a column \E
# make sure find hooks determine driver
{
- my $schema = DBICTest::Schema->connect($dsn, $user, $pass);
+ my $schema = DBICTest->connect_schema($dsn, $user, $pass);
$schema->resultset("Artist")->find(4);
isa_ok($schema->storage->sql_maker, 'DBIx::Class::SQLMaker::MySQL');
}
# make sure the mysql_auto_reconnect buggery is avoided
{
local $ENV{MOD_PERL} = 'boogiewoogie';
- my $schema = DBICTest::Schema->connect($dsn, $user, $pass);
+ my $schema = DBICTest->connect_schema($dsn, $user, $pass);
ok (! $schema->storage->_get_dbh->{mysql_auto_reconnect}, 'mysql_auto_reconnect unset regardless of ENV' );
# Make sure hardcore forking action still works even if mysql_auto_reconnect
# is true (test inspired by ether)
- my $schema_autorecon = DBICTest::Schema->connect($dsn, $user, $pass, { mysql_auto_reconnect => 1 });
+ my $schema_autorecon = DBICTest->connect_schema($dsn, $user, $pass, { mysql_auto_reconnect => 1 });
my $orig_dbh = $schema_autorecon->storage->_get_dbh;
weaken $orig_dbh;