X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F14ora_common.t;h=be5f6925fd558b3225037a6eeb055743435c2857;hb=3a36870932af0d82658cfc77693fec5c478cdaf0;hp=f68a7e35569f053204b78eca66b5acbc8df13cce;hpb=6b0e47fc86f045183810ccea343e9afcd438ee1a;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/t/14ora_common.t b/t/14ora_common.t index f68a7e3..be5f692 100644 --- a/t/14ora_common.t +++ b/t/14ora_common.t @@ -8,8 +8,18 @@ my $dsn = $ENV{DBICTEST_ORA_DSN} || ''; my $user = $ENV{DBICTEST_ORA_USER} || ''; my $password = $ENV{DBICTEST_ORA_PASS} || ''; +sub _custom_column_info { + my $info = shift; + + if ( $info->{TYPE_NAME} eq 'DATE' ){ + return { timezone => "Europe/Berlin" }; + } + return; +} + my $tester = dbixcsl_common_tests->new( vendor => 'Oracle', + custom_column_info => \&_custom_column_info, auto_inc_pk => 'INTEGER NOT NULL PRIMARY KEY', auto_inc_cb => sub { my ($table, $col) = @_; @@ -32,51 +42,33 @@ my $tester = dbixcsl_common_tests->new( dsn => $dsn, user => $user, password => $password, - extra => { - create => [ - q{ - CREATE TABLE oracle_loader_test1 ( - id INTEGER PRIMARY KEY, - a_varchar VARCHAR2(100) DEFAULT 'foo', - an_int INTEGER DEFAULT 42, - a_double DOUBLE PRECISION DEFAULT 10.555, - a_date DATE DEFAULT sysdate - ) - }, - ], - drop => [ qw/ oracle_loader_test1 / ], - count => 5, - run => sub { - my ($schema, $monikers, $classes) = @_; - - my $rsrc = $schema->resultset($monikers->{oracle_loader_test1}) - ->result_source; - - is $rsrc->column_info('a_varchar')->{default_value}, - 'foo', - 'constant character default'; + extra => { + create => [qq{ + CREATE TABLE oracle_loader_test1 ( + id number(5) NOT NULL, + name varchar2(100) NOT NULL, + create_date date NOT NULL, + modification_date date, + PRIMARY KEY (id) + ) + },], + drop => [qw/ oracle_loader_test1 /], + count => 2, + run => sub { + my ( $schema, $monikers, $classes ) = @_; + my $rs = $schema->resultset( $monikers->{oracle_loader_test1} ); - is $rsrc->column_info('an_int')->{default_value}, - 42, - 'constant integer default'; + is $rs->result_source->column_info('create_date')->{timezone}, + 'Europe/Berlin', + 'create_date hast timezone'; - is $rsrc->column_info('a_double')->{default_value}, - 10.555, - 'constant numeric default'; + is $rs->result_source->column_info('modification_date')->{timezone}, + 'Europe/Berlin', + 'modification_date hast timezone'; - my $function_default = - $rsrc->column_info('a_date')->{default_value}; - - ok ((ref $function_default eq 'SCALAR'), - 'default_value for function default is a scalar ref') - or diag "default_value is: ", $function_default - ; - - eval { is $$function_default, - 'sysdate', - 'default_value for function default is correct' }; }, - }, + } + ); if( !$dsn || !$user ) {