X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F71mysql.t;h=2e54352923b4fd77735b05d4a769841e2ea66f77;hb=2c2bc4e58c2146670960fc1a0a2ae802cb650506;hp=e1e68ee83628e26e8a86e2a5847e2e9ac751bf8e;hpb=b6a469f7cbcc6114eb59a8557906af4ec6b0e9a4;p=dbsrgits%2FDBIx-Class.git diff --git a/t/71mysql.t b/t/71mysql.t index e1e68ee..2e54352 100644 --- a/t/71mysql.t +++ b/t/71mysql.t @@ -11,7 +11,6 @@ use DBIx::Class::Optional::Dependencies (); 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'); @@ -21,7 +20,7 @@ my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_MYSQL_${_}" } qw/DSN USER PASS/}; 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; @@ -53,7 +52,7 @@ $dbh->do("CREATE TABLE books (id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, so # 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'); @@ -210,7 +209,7 @@ lives_ok { $cd->set_producers ([ $producer ]) } 'set_relationship doesnt die'; # 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' }); @@ -234,7 +233,7 @@ NULLINSEARCH: { # 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 => '`', }); @@ -285,15 +284,9 @@ NULLINSEARCH: { 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({ @@ -302,15 +295,13 @@ NULLINSEARCH: { }); 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: { @@ -361,8 +352,8 @@ 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 @@ -372,7 +363,7 @@ ZEROINSEARCH: { # 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'); } @@ -380,13 +371,13 @@ ZEROINSEARCH: { # 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;