4 use Test::More tests => 9;
10 my $schema = DBICTest->init_schema(
14 ok $schema->connection(
17 on_connect_do => ['CREATE TABLE TEST_empty (id INTEGER)'],
19 [\&check_exists, 'DROP TABLE TEST_empty', \&check_dropped],
23 ok $schema->storage->dbh->do('SELECT 1 FROM TEST_empty'), 'on_connect_do() worked';
24 eval { $schema->storage->dbh->do('SELECT 1 FROM TEST_nonexistent'); };
25 ok $@, 'Searching for nonexistent table dies';
27 $schema->storage->disconnect();
29 my($connected, $disconnected);
30 ok $schema->connection(
33 on_connect_do => sub { $connected = 1 },
34 on_disconnect_do => sub { $disconnected = 1 },
36 ), 'second connection()';
37 $schema->storage->dbh->do('SELECT 1');
38 ok $connected, 'on_connect_do() called after connect()';
39 ok ! $disconnected, 'on_disconnect_do() not called after connect()';
40 $schema->storage->disconnect();
41 ok $disconnected, 'on_disconnect_do() called after disconnect()';
46 ok $storage->dbh->do('SELECT 1 FROM TEST_empty'), 'Table still exists';
51 eval { $storage->dbh->do('SELECT 1 FROM TEST_empty'); };
52 ok $@, 'Reading from dropped table fails';