use
lib catdir
qw (
blib lib );
plan
tests
=> 48;
use_ok (
'Parse::Dia::SQL'
);
use_ok (
'Parse::Dia::SQL::Output'
);
use_ok (
'Parse::Dia::SQL::Output::MySQL'
);
my
$diasql
= Parse::Dia::SQL->new(
file
=> catfile(
qw(t data TestERD.dia)
),
db
=>
'mysql-myisam'
);
isa_ok(
$diasql
,
q{Parse::Dia::SQL}
,
q{Expect a Parse::Dia::SQL object}
);
is(
$diasql
->convert(), 1,
q{Expect convert() to return 1}
);
my
$output
=
undef
;
isa_ok(
$diasql
,
'Parse::Dia::SQL'
);
lives_ok(
sub
{
$output
=
$diasql
->get_output_instance(); },
q{get_output_instance (mysql-myisam) should not die}
);
isa_ok(
$output
,
'Parse::Dia::SQL::Output'
);
isa_ok(
$output
,
'Parse::Dia::SQL::Output::MySQL'
);
isa_ok(
$output
,
'Parse::Dia::SQL::Output::MySQL::MyISAM'
);
can_ok(
$output
,
'get_constraints_drop'
);
my
$drop_constraints
=
$output
->get_constraints_drop();
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ idx_iimd5 \s+ on \s+ imageInfo \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ idx_iiid \s+ on \s+ imageInfo \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ idx_siiid \s+ on \s+ subImageInfo \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ idx_siips \s+ on \s+ subImageInfo \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ idx_iclidnm \s+ on \s+ imageCategoryList \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ idx_uinm \s+ on \s+ userInfo \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ idx_uiid \s+ on \s+ userInfo \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ idx_uauiid \s+ on \s+ userAttribute \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ idx_uiruid \s+ on \s+ userImageRating \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ idx_acid \s+ on \s+ attributeCategory \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ idx_usmd5 \s+ on \s+ userSession \s* (;)?
.*/
six);
$diasql
= Parse::Dia::SQL->new(
file
=> catfile(
qw(t data TestERD.dia)
),
db
=>
'mysql-innodb'
,
backticks
=> 1);
isa_ok(
$diasql
,
q{Parse::Dia::SQL}
,
q{Expect a Parse::Dia::SQL object}
);
is(
$diasql
->convert(), 1,
q{Expect convert() to return 1}
);
$output
=
undef
;
isa_ok(
$diasql
,
'Parse::Dia::SQL'
);
lives_ok(
sub
{
$output
=
$diasql
->get_output_instance(); },
q{get_output_instance (mysql-innodb) should not die}
);
isa_ok(
$output
,
'Parse::Dia::SQL::Output'
);
isa_ok(
$output
,
'Parse::Dia::SQL::Output::MySQL'
);
isa_ok(
$output
,
'Parse::Dia::SQL::Output::MySQL::InnoDB'
);
can_ok(
$output
,
'get_constraints_drop'
);
$drop_constraints
=
$output
->get_constraints_drop();
like(
$drop_constraints
,
qr/.*
alter \s+ table \s+ `imageCategoryList` \s+ drop \s+ foreign \s+ key \s+ `fk_iiicl` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
alter \s+ table \s+ `imageAttribute` \s+ drop \s+ foreign \s+ key \s+ `fk_iiia` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
alter \s+ table \s+ `userImageRating` \s+ drop \s+ foreign \s+ key \s+ `fk_uiuir` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
alter \s+ table \s+ `userAttribute` \s+ drop \s+ foreign \s+ key \s+ `fk_uiua` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
alter \s+ table \s+ `userSession` \s+ drop \s+ foreign \s+ key \s+ `fk_uius` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
alter \s+ table \s+ `imageAttribute` \s+ drop \s+ foreign \s+ key \s+ `fk_iaac` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
alter \s+ table \s+ `userAttribute` \s+ drop \s+ foreign \s+ key \s+ `fk_acua` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ `idx_iimd5` \s+ on \s+ `imageInfo` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ `idx_iiid` \s+ on \s+ `imageInfo` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ `idx_siiid` \s+ on \s+ `subImageInfo` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ `idx_siips` \s+ on \s+ `subImageInfo` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ `idx_iclidnm` \s+ on \s+ `imageCategoryList` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ `idx_uinm` \s+ on \s+ `userInfo` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ `idx_uiid` \s+ on \s+ `userInfo` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ `idx_uauiid` \s+ on \s+ `userAttribute` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ `idx_uiruid` \s+ on \s+ `userImageRating` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ `idx_acid` \s+ on \s+ `attributeCategory` \s* (;)?
.*/
six);
like(
$drop_constraints
,
qr/.*
drop \s+ index \s+ `idx_usmd5` \s+ on \s+ `userSession` \s* (;)?
.*/
six);