From 4d73906f8a60b81e47f98e819e85514265ad17a7 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Mon, 5 Jun 2017 17:32:43 -0300 Subject: [PATCH] Bug 18226: Perltidy + license --- t/db_dependent/01-test_dbic.t | 124 ++++++++++++++++++++++++------------------ 1 file changed, 70 insertions(+), 54 deletions(-) diff --git a/t/db_dependent/01-test_dbic.t b/t/db_dependent/01-test_dbic.t index 0731a99f8e..63dd55f690 100644 --- a/t/db_dependent/01-test_dbic.t +++ b/t/db_dependent/01-test_dbic.t @@ -1,6 +1,18 @@ #!/usr/bin/perl # This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 3 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Koha; if not, see . use Modern::Perl; @@ -11,84 +23,88 @@ use Koha::Database; use Koha::Libraries; subtest "Scenario: Show how caching prevents Test::DBIx::Class from working properly and how to circumvent it", sub { - my ($firstSchema, $cachedSchema, $cachedSchema2, $firstLibCount, $libCount); + my ( $firstSchema, $cachedSchema, $cachedSchema2, $firstLibCount, $libCount ); - eval { + eval { - ok($firstSchema = Koha::Database->schema, - 'Step: Given a normal DB connection.'); + ok( + $firstSchema = Koha::Database->schema, + 'Step: Given a normal DB connection.' + ); - $firstLibCount = Koha::Libraries->search->count; # first count normal conn + $firstLibCount = + Koha::Libraries->search->count; # first count normal conn - ok($cachedSchema = Koha::Database::get_schema_cached(), - ' And the DB connection is cached'); + ok( $cachedSchema = Koha::Database::get_schema_cached(), + ' And the DB connection is cached' ); - unlike(getConnectionDBName($cachedSchema), qr/sqlite/i, - ' And the cached DB connection type is not sqlite'); + unlike( getConnectionDBName($cachedSchema), + qr/sqlite/i, ' And the cached DB connection type is not sqlite' ); - use_ok('Test::DBIx::Class'); - my $db = Test::MockModule->new('Koha::Database'); - $db->mock( _new_schema => sub { return Schema(); } ); - ok(1, - 'Step: Given Test::DBIx::Class (T:D:C) is loaded and DB accessor is mocked. Connection from cache is still used.'); + use_ok('Test::DBIx::Class'); + my $db = Test::MockModule->new('Koha::Database'); + $db->mock( _new_schema => sub { return Schema(); } ); + ok( 1, +'Step: Given Test::DBIx::Class (T:D:C) is loaded and DB accessor is mocked. Connection from cache is still used.' + ); - $libCount = Koha::Libraries->search->count; + $libCount = Koha::Libraries->search->count; - is($libCount, $firstLibCount, - ' Then we got the same count as without T:D:C'); + is( $libCount, $firstLibCount, + ' Then we got the same count as without T:D:C' ); - $cachedSchema = Koha::Database::get_schema_cached(); - is($cachedSchema, $firstSchema, - ' And the cached DB connection is the same as without T:D:C'); + $cachedSchema = Koha::Database::get_schema_cached(); + is( $cachedSchema, $firstSchema, + ' And the cached DB connection is the same as without T:D:C' ); - is(getConnectionDBName($cachedSchema), getConnectionDBName($firstSchema), - ' And the cached DB connection type is unchanged'); + is( + getConnectionDBName($cachedSchema), + getConnectionDBName($firstSchema), + ' And the cached DB connection type is unchanged' + ); + ok( Koha::Database::flush_schema_cache(), + 'Step: Given the DB connection cache is flushed' ); - ok(Koha::Database::flush_schema_cache(), - 'Step: Given the DB connection cache is flushed'); + $libCount = Koha::Libraries->search->count; - $libCount = Koha::Libraries->search->count; + is( $libCount, 0, + ' Then we got 0 libraries because fixtures are not deployed' ); - is($libCount, 0, - ' Then we got 0 libraries because fixtures are not deployed'); + $cachedSchema = Koha::Database::get_schema_cached(); + isnt( $cachedSchema, $firstSchema, + ' And the cached DB connection has changed' ); - $cachedSchema = Koha::Database::get_schema_cached(); - isnt($cachedSchema, $firstSchema, - ' And the cached DB connection has changed'); + like( getConnectionDBName($cachedSchema), + qr/sqlite/i, ' And the cached DB connection type is sqlite' ); - like(getConnectionDBName($cachedSchema), qr/sqlite/i, - ' And the cached DB connection type is sqlite'); + fixtures_ok( + [ #Dynamically load fixtures, because we dynamically load T:D:C. Otherwise there be compile errors! + Branch => [ + [ 'branchcode', 'branchname' ], + [ 'XXX_test', 'my branchname XXX' ], + ] + ], + 'Step: Given we deploy T:D:C Fixtures' + ); + $libCount = Koha::Libraries->search->count; - fixtures_ok( [ #Dynamically load fixtures, because we dynamically load T:D:C. Otherwise there be compile errors! - Branch => [ - ['branchcode', 'branchname'], - ['XXX_test', 'my branchname XXX'], - ] - ], - 'Step: Given we deploy T:D:C Fixtures'); + is( $libCount, 1, ' Then we got the count from fixtures' ); - $libCount = Koha::Libraries->search->count; + $cachedSchema2 = Koha::Database::get_schema_cached(); + is( $cachedSchema2, $cachedSchema, + ' And the cached DB connection is the same from T:D:C' ); - is($libCount, 1, - ' Then we got the count from fixtures'); - - $cachedSchema2 = Koha::Database::get_schema_cached(); - is($cachedSchema2, $cachedSchema, - ' And the cached DB connection is the same from T:D:C'); - - like(getConnectionDBName($cachedSchema), qr/sqlite/i, - ' And the cached DB connection type is sqlite'); + like( getConnectionDBName($cachedSchema), + qr/sqlite/i, ' And the cached DB connection type is sqlite' ); + }; + ok( 0, $@ ) if $@; }; - ok(0, $@) if $@; -}; done_testing; - sub getConnectionDBName { - #return shift->storage->_dbh_details->{info}->{dbms_version}; #This would return the name from server, but sqlite doesn't report a clear text name and version here. - return shift->storage->connect_info->[0]->{dsn}; + return shift->storage->connect_info->[0]->{dsn}; } -- 2.11.0