X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fversion_storages%2Fstandard.t;h=211fde67441634330b3585c0f4473a48e4ce8c92;hb=91adde755e5808a1ec12bcf00e683e3754964cc9;hp=dcd4c2fa3870468369ac62b07dfe8d93abcf1dda;hpb=566925dfdff725b5ea43a9a5600bf26044df418c;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/t/version_storages/standard.t b/t/version_storages/standard.t index dcd4c2f..211fde6 100644 --- a/t/version_storages/standard.t +++ b/t/version_storages/standard.t @@ -6,8 +6,8 @@ use Test::Exception; use lib 't/lib'; use DBICDHTest; -use DBICTest; use aliased 'DBIx::Class::DeploymentHandler::VersionStorage::Standard'; +use aliased 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator'; use DBICVersion_v1; use DBIx::Class::DeploymentHandler; @@ -17,61 +17,70 @@ my $sql_dir = 't/sql'; my $s = DBICVersion::Schema->connect(@connection); { - my $warning; - local $SIG{__WARN__} = sub {$warning = shift}; - my $t = DBICVersion::Schema->connect('frewfrew', '', ''); - like( $warning, qr/Your DB is currently unversioned. Please call upgrade on your schema to sync the DB/, 'warning when database is unversioned'); + my $warning; + local $SIG{__WARN__} = sub {$warning = shift}; + my $t = DBICVersion::Schema->connect('frewfrew', '', ''); + like( $warning, qr/Your DB is currently unversioned. Please call upgrade on your schema to sync the DB/, 'warning when database is unversioned'); } DBICDHTest::ready; -my $handler = DBIx::Class::DeploymentHandler->new({ - upgrade_directory => $sql_dir, - schema => $s, - databases => 'SQLite', - sqltargs => { add_drop_table => 0 }, +my $dm = Translator->new({ + schema => $s, + script_directory => $sql_dir, + databases => ['SQLite'], + sql_translator_args => { add_drop_table => 0 }, }); -$handler->prepare_install(); - my $vs = Standard->new({ schema => $s }); +$dm->prepare_resultsource_install({ + result_source => $vs->version_rs->result_source +}); + ok( $vs, 'DBIC::DH::VersionStorage::Standard instantiates correctly' ); ok( !$vs->version_storage_is_installed, 'VersionStorage is not yet installed' ); -$handler->install(); +$dm->install_resultsource({ + result_source => $vs->version_rs->result_source, + version => '1.0', +}); ok( $vs->version_storage_is_installed, 'VersionStorage is now installed' ); +$vs->add_database_version({ + version => '1.0', +}); + ok( - eq_array( - [ $vs->version_rs->search(undef, {order_by => 'id'})->get_column('version')->all], - [ '1.0' ], - ), - 'initial version works correctly' + eq_array( + [ $vs->version_rs->search(undef, {order_by => 'id'})->get_column('version')->all], + [ '1.0' ], + ), + 'initial version works correctly' ); is( $vs->database_version, '1.0', 'database version is 1.0'); $vs->add_database_version({ - version => '2.0', + version => '2.0', }); is( $vs->database_version, '2.0', 'database version is 2.0'); ok( - eq_array( - [ $vs->version_rs->search(undef, {order_by => 'id'})->get_column('version')->all], - [ '1.0', '2.0', ], - ), - 'adding another version works correctly' + eq_array( + [ $vs->version_rs->search(undef, {order_by => 'id'})->get_column('version')->all], + [ '1.0', '2.0', ], + ), + 'adding another version works correctly' ); { - my $warning; - local $SIG{__WARN__} = sub {$warning = shift}; - my $u = DBICVersion::Schema->connect($db, '', ''); - like( $warning, qr/Versions out of sync. This is 1.0, your database contains version 2.0, please call upgrade on your Schema./, 'warning when database/schema mismatch'); + my $warning; + local $SIG{__WARN__} = sub {$warning = shift}; + my $u = DBICVersion::Schema->connect($db, '', ''); + like( $warning, qr/Versions out of sync. This is 1.0, your database contains version 2.0, please call upgrade on your Schema./, 'warning when database/schema mismatch'); }