Oracle: works again. Firebird: better cleanup in common tests
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / lib / dbixcsl_firebird_extra_tests.pm
CommitLineData
243c6ebc 1package dbixcsl_firebird_extra_tests;
2
3use strict;
4use warnings;
5use Test::More;
6use Test::Exception;
7
8sub extra { +{
9 create => [
10# test a mixed case table
11 q{
12 CREATE TABLE "Firebird_Loader_Test1" (
13 "Id" INTEGER NOT NULL PRIMARY KEY
14 )
15 },
16 q{
17 CREATE GENERATOR "Gen_Firebird_Loader_Test1_Id"
18 },
19 q{
20 CREATE TRIGGER "Firebird_Loader_Test1_BI" for "Firebird_Loader_Test1"
21 ACTIVE BEFORE INSERT POSITION 0
22 AS
23 BEGIN
24 IF (NEW."Id" IS NULL) THEN
25 NEW."Id" = GEN_ID("Gen_Firebird_Loader_Test1_Id",1);
26 END
27 },
28 ],
29 pre_drop_ddl => [
30 q{DROP TRIGGER "Firebird_Loader_Test1_BI"},
31 q{DROP GENERATOR "Gen_Firebird_Loader_Test1_Id"},
32 ],
33 drop => [
34 q{"Firebird_Loader_Test1"}
35 ],
36 count => 5,
37 run => sub {
38 my ($schema, $monikers, $classes) = @_;
39
40 ok ((my $rsrc = eval { $schema->resultset($monikers->{Firebird_Loader_Test1})->result_source }),
41 'got rsrc for mixed case table');
42
43 ok ((my $col_info = eval { $rsrc->column_info('Id') }),
44 'got column_info for column Id');
45
46 is $col_info->{accessor}, 'id', 'column Id has lowercase accessor "id"';
47
48 is $col_info->{is_auto_increment}, 1, 'is_auto_increment detected for mixed case trigger';
49
50 is $col_info->{sequence}, 'Gen_Firebird_Loader_Test1_Id', 'correct mixed case sequence name';
51 },
52}}
53
541;