4 use Test::More tests => 9;
10 my $schema = DBICTest->init_schema(
14 ok $schema->connection(
18 'CREATE TABLE TEST_empty (id INTEGER)',
19 [ 'INSERT INTO TEST_empty VALUES (?)', {}, 2 ],
23 [\&check_exists, 'DROP TABLE TEST_empty', \&check_dropped],
28 $schema->storage->dbh->selectall_arrayref('SELECT * FROM TEST_empty'),
29 [ [ 2 ], [ 3 ], [ 7 ] ],
30 'on_connect_do() worked';
31 eval { $schema->storage->dbh->do('SELECT 1 FROM TEST_nonexistent'); };
32 ok $@, 'Searching for nonexistent table dies';
34 $schema->storage->disconnect();
36 my($connected, $disconnected);
37 ok $schema->connection(
40 on_connect_do => sub { $connected = 1 },
41 on_disconnect_do => sub { $disconnected = 1 },
43 ), 'second connection()';
44 $schema->storage->dbh->do('SELECT 1');
45 ok $connected, 'on_connect_do() called after connect()';
46 ok ! $disconnected, 'on_disconnect_do() not called after connect()';
47 $schema->storage->disconnect();
48 ok $disconnected, 'on_disconnect_do() called after disconnect()';
53 ok $storage->dbh->do('SELECT 1 FROM TEST_empty'), 'Table still exists';
59 eval { $storage->dbh->do('SELECT 1 FROM TEST_empty'); };
60 ok $@, 'Reading from dropped table fails';
64 sub insert_from_subref {
67 [ 'INSERT INTO TEST_empty VALUES (?)', {}, 3 ],
68 'INSERT INTO TEST_empty VALUES (7)',