From 99df55a6b47654c9bc5a16cbcc1c28f8fc83e414 Mon Sep 17 00:00:00 2001 From: Olli-Antti Kivilahti Date: Tue, 7 Mar 2017 18:56:29 +0200 Subject: [PATCH] Bug 18226 - Remove "use Test::DBIx::Class" instantiations' dangerous code duplication Content-Type: text/plain; charset=utf-8 Is 'instantiations' even a word? Use a Test::DBIx::Class defaults instead. Save your keyboard and prevent horrible bugs from emerging from rampant code duplication. This change doesn't seem to have any impact on the speed of executing those tests. --- t/Auth_with_shibboleth.t | 2 +- t/Biblio.t | 8 ++------ t/Calendar.t | 7 +------ t/Images.t | 7 +------ t/Koha.t | 7 +------ t/Letters.t | 7 +------ t/Matcher.t | 7 +------ t/Members_AttributeTypes.t | 7 +------ t/NorwegianPatronDB.t | 7 +------ t/Prices.t | 7 +------ t/SocialData.t | 7 +------ t/XSLT.t | 15 ++------------- t/db_dependent/Sitemapper.t | 7 +------ 13 files changed, 15 insertions(+), 80 deletions(-) diff --git a/t/Auth_with_shibboleth.t b/t/Auth_with_shibboleth.t index 3b35709..ab03248 100644 --- a/t/Auth_with_shibboleth.t +++ b/t/Auth_with_shibboleth.t @@ -34,7 +34,7 @@ BEGIN { } } -use Test::DBIx::Class { schema_class => 'Koha::Schema', connect_info => ['dbi:SQLite:dbname=:memory:','',''] }; +use Test::DBIx::Class; # Mock Variables my $matchpoint = 'userid'; diff --git a/t/Biblio.t b/t/Biblio.t index 1cec33b..1bf7895 100755 --- a/t/Biblio.t +++ b/t/Biblio.t @@ -33,12 +33,8 @@ BEGIN { use_ok('C4::Biblio'); -use Test::DBIx::Class { - schema_class => 'Koha::Schema', - connect_info => ['dbi:SQLite:dbname=:memory:','',''], - connect_opts => { name_sep => '.', quote_char => '`', }, - fixture_class => '::Populate', -}, 'Biblio' ; +#use Test::DBIx::Class {}, 'Biblio'; +use Test::DBIx::Class; #No difference between these two invocations in time taken to execute tests. sub fixtures { my ( $data ) = @_; diff --git a/t/Calendar.t b/t/Calendar.t index 3082271..076eb8d 100755 --- a/t/Calendar.t +++ b/t/Calendar.t @@ -37,12 +37,7 @@ BEGIN { use_ok('Koha::Calendar'); -use Test::DBIx::Class { - schema_class => 'Koha::Schema', - connect_info => ['dbi:SQLite:dbname=:memory:','',''], - connect_opts => { name_sep => '.', quote_char => '`', }, - fixture_class => '::Populate', -}, 'Biblio' ; +use Test::DBIx::Class; sub fixtures { my ( $data ) = @_; diff --git a/t/Images.t b/t/Images.t index 0ee5ce6..02bcd82 100644 --- a/t/Images.t +++ b/t/Images.t @@ -32,12 +32,7 @@ BEGIN { use_ok('C4::Images'); -use Test::DBIx::Class { - schema_class => 'Koha::Schema', - connect_info => ['dbi:SQLite:dbname=:memory:','',''], - connect_opts => { name_sep => '.', quote_char => '`', }, - fixture_class => '::Populate', -}, 'Biblioimage' ; +use Test::DBIx::Class; # Make the code in the module use our mocked Koha::Schema/Koha::Database my $db = Test::MockModule->new('Koha::Database'); diff --git a/t/Koha.t b/t/Koha.t index e617146..2e11ab7 100755 --- a/t/Koha.t +++ b/t/Koha.t @@ -33,12 +33,7 @@ BEGIN { use_ok('C4::Koha'); -use Test::DBIx::Class { - schema_class => 'Koha::Schema', - connect_info => ['dbi:SQLite:dbname=:memory:','',''], - connect_opts => { name_sep => '.', quote_char => '`', }, - fixture_class => '::Populate', -}, 'Branch' ; +use Test::DBIx::Class; sub fixtures { my ( $libraries ) = @_; diff --git a/t/Letters.t b/t/Letters.t index a072044..4c75efa 100755 --- a/t/Letters.t +++ b/t/Letters.t @@ -30,12 +30,7 @@ BEGIN { } } -use Test::DBIx::Class { - schema_class => 'Koha::Schema', - connect_info => ['dbi:SQLite:dbname=:memory:','',''], - connect_opts => { name_sep => '.', quote_char => '`', }, - fixture_class => '::Populate', -}, 'Letter' ; +use Test::DBIx::Class; use t::lib::Mocks; fixtures_ok [ diff --git a/t/Matcher.t b/t/Matcher.t index 3d7f6e9..30d1b90 100755 --- a/t/Matcher.t +++ b/t/Matcher.t @@ -35,12 +35,7 @@ BEGIN { use_ok('C4::Matcher'); -use Test::DBIx::Class { - schema_class => 'Koha::Schema', - connect_info => ['dbi:SQLite:dbname=:memory:','',''], - connect_opts => { name_sep => '.', quote_char => '`', }, - fixture_class => '::Populate', -}, 'MarcMatcher' ; +use Test::DBIx::Class; fixtures_ok [ MarcMatcher => [ diff --git a/t/Members_AttributeTypes.t b/t/Members_AttributeTypes.t index 4721fad..42b04d5 100755 --- a/t/Members_AttributeTypes.t +++ b/t/Members_AttributeTypes.t @@ -32,12 +32,7 @@ BEGIN { use_ok('C4::Members::AttributeTypes'); -use Test::DBIx::Class { - schema_class => 'Koha::Schema', - connect_info => ['dbi:SQLite:dbname=:memory:','',''], - connect_opts => { name_sep => '.', quote_char => '`', }, - fixture_class => '::Populate', -}, 'BorrowerAttributeType', 'Category' ; +use Test::DBIx::Class; fixtures_ok [ Category => [ diff --git a/t/NorwegianPatronDB.t b/t/NorwegianPatronDB.t index 1f0808c..ec63020 100644 --- a/t/NorwegianPatronDB.t +++ b/t/NorwegianPatronDB.t @@ -60,12 +60,7 @@ BEGIN { } } -use Test::DBIx::Class { - schema_class => 'Koha::Schema', - connect_info => ['dbi:SQLite:dbname=:memory:','',''], - connect_opts => { name_sep => '.', quote_char => '`', }, - fixture_class => '::Populate', -}, 'Borrower', 'BorrowerSync'; +use Test::DBIx::Class {}, 'Borrower', 'BorrowerSync'; #Also loads those modules. # Make the code in the module use our mocked Koha::Schema/Koha::Database my $db = Test::MockModule->new('Koha::Database'); diff --git a/t/Prices.t b/t/Prices.t index f89c7f6..c65f203 100644 --- a/t/Prices.t +++ b/t/Prices.t @@ -20,12 +20,7 @@ use_ok('Koha::Number::Price'); t::lib::Mocks::mock_preference( 'gist', '0.02|0.05|0.196' ); -use Test::DBIx::Class { - schema_class => 'Koha::Schema', - connect_info => ['dbi:SQLite:dbname=:memory:','',''], - connect_opts => { name_sep => '.', quote_char => '`', }, - fixture_class => '::Populate', -}, 'Currency' ; +use Test::DBIx::Class; my $db = Test::MockModule->new('Koha::Database'); $db->mock( _new_schema => sub { return Schema(); } ); diff --git a/t/SocialData.t b/t/SocialData.t index 8b6a93b..eec1e5c 100644 --- a/t/SocialData.t +++ b/t/SocialData.t @@ -34,12 +34,7 @@ BEGIN { use_ok('C4::SocialData'); } -use Test::DBIx::Class { - schema_class => 'Koha::Schema', - connect_info => ['dbi:SQLite:dbname=:memory:','',''], - connect_opts => { name_sep => '.', quote_char => '`', }, - fixture_class => '::Populate', -}, 'SocialData', 'Biblioitem' ; +use Test::DBIx::Class; fixtures_ok [ Biblioitem => [ diff --git a/t/XSLT.t b/t/XSLT.t index 7136375..aefa4df 100755 --- a/t/XSLT.t +++ b/t/XSLT.t @@ -27,7 +27,7 @@ use Module::Load::Conditional qw/check_install/; BEGIN { if ( check_install( module => 'Test::DBIx::Class' ) ) { - plan tests => 10; + plan tests => 9; } else { plan skip_all => "Need Test::DBIx::Class" } @@ -35,18 +35,7 @@ BEGIN { use_ok('C4::XSLT'); }; -use Test::DBIx::Class { - schema_class => 'Koha::Schema', - connect_info => ['dbi:SQLite:dbname=:memory:','',''], - connect_opts => { name_sep => '.', quote_char => '`', }, - fixture_class => '::Populate', -}, 'Branch' ; - -fixtures_ok [ - Branch => [ - ], -]; - +use Test::DBIx::Class; my $dir = File::Temp->newdir(); my @themes = ('prog', 'test'); diff --git a/t/db_dependent/Sitemapper.t b/t/db_dependent/Sitemapper.t index 848fc3b..4276470 100755 --- a/t/db_dependent/Sitemapper.t +++ b/t/db_dependent/Sitemapper.t @@ -40,12 +40,7 @@ sub slurp { return $cont; } -use Test::DBIx::Class { - schema_class => 'Koha::Schema', - connect_info => ['dbi:SQLite:dbname=:memory:','',''], - connect_opts => { name_sep => '.', quote_char => '`', }, - fixture_class => '::Populate', -}, 'Biblio' ; +use Test::DBIx::Class; sub fixtures { my ( $data ) = @_; -- 2.1.4