From 357bb7e1e36b2e72e73f88a073fcdde99e6eb945 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 29 Oct 2015 11:20:06 -0300 Subject: [PATCH] Bug 15082: t/db_dependent/Search.t shouldn't mock the DB connection This patch makes the t/db_dependent/Search.t tests use a real DB instead of mocking the DB handler (which is not actually used and generates unnecesary warnings when running the tests). It does so by grabbing the DB configuration data using C4::Context->config() and passing it (writing %ENV) to rewrite-config.PL, all is done in zebra_config.pl which is only used on the Search.t file. To test: - Run $ prove t/db_dependent/Search.t => FAIL: Warnings are raised about DB being mocked and DBIC not recognising 'Mock' as a valid DB driver. - Apply the patch - Run $ prove r/db_dependent/Search.t => SUCCESS: Same tests results, no warning about DBIC driver. - Sign off :-D Disclamer: As of writing this patch, the Search.t tests pass. The patch is not dealing with tests results, but how they use the DB. Sponsored-by: Universidad Nacional de Cordoba Signed-off-by: Bernardo Gonzalez Kriegel Test pass before & after, a 'little' less noisy No errors Signed-off-by: Jonathan Druart Signed-off-by: Tomas Cohen Arazi --- t/db_dependent/Search.t | 5 ----- t/db_dependent/zebra_config.pl | 10 ++++++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/t/db_dependent/Search.t b/t/db_dependent/Search.t index 904e8b8c0a..cac37e88ab 100644 --- a/t/db_dependent/Search.t +++ b/t/db_dependent/Search.t @@ -37,8 +37,6 @@ use Test::Warn; use File::Temp qw/ tempdir /; use File::Path; -use t::lib::Mocks; - our $child; our $datadir; @@ -84,9 +82,6 @@ sub cleanup { } } -BEGIN { - t::lib::Mocks::mock_dbh; -} # Fall back to make sure that the Zebra process # and files get cleaned up END { diff --git a/t/db_dependent/zebra_config.pl b/t/db_dependent/zebra_config.pl index 75efb7b5c6..55fedf4d6f 100755 --- a/t/db_dependent/zebra_config.pl +++ b/t/db_dependent/zebra_config.pl @@ -1,12 +1,15 @@ #!/usr/bin/perl use Modern::Perl; + use File::Copy; use File::Path qw(make_path); use File::Find; use File::Basename; use File::Spec; +use C4::Context; + my $source = File::Spec->rel2abs('.'); my $destination = $ARGV[0]; my $marc_type = $ARGV[1] || 'marc21'; @@ -48,6 +51,13 @@ make_path("$destination/var/run/zebradb"); $ENV{'INSTALL_BASE'} = $destination; $ENV{'__INSTALL_BASE__'} = $destination; +$ENV{'__DB_TYPE__'} = C4::Context->config('db_scheme') // 'mysql'; +$ENV{'__DB_NAME__'} = C4::Context->config('database') // 'koha'; +$ENV{'__DB_HOST__'} = C4::Context->config('hostname') // 'localhost'; +$ENV{'__DB_PORT__'} = C4::Context->config('port') // '3306'; +$ENV{'__DB_USER__'} = C4::Context->config('user') // 'kohaadmin'; +$ENV{'__DB_PASS__'} = C4::Context->config('pass') // 'katikoan'; + my @files = ( "$source/etc/koha-conf.xml", "$source/etc/searchengine/queryparser.yaml", ); -- 2.39.5