From dadd89cccbab4b16e859a14a7256371115b671cd Mon Sep 17 00:00:00 2001 From: Mark Tompsett Date: Thu, 12 Apr 2018 19:36:29 +0000 Subject: [PATCH] Bug 18738: Improve failure cases to skip better TEST PLAN --------- no elasticsearch section in koha-conf.xml prove t/db_dependent/Koha_Elasticsearch_Indexer.t -- nasty elasticsearch, but no nodes prove t/db_dependent/Koha_Elasticsearch_Indexer.t -- ugly apply patch re-run above cases -- unique skips run qa test tools --- t/db_dependent/Koha_Elasticsearch_Indexer.t | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/t/db_dependent/Koha_Elasticsearch_Indexer.t b/t/db_dependent/Koha_Elasticsearch_Indexer.t index 7ad9e21..079a94b 100644 --- a/t/db_dependent/Koha_Elasticsearch_Indexer.t +++ b/t/db_dependent/Koha_Elasticsearch_Indexer.t @@ -1,3 +1,5 @@ +#!/usr/bin/perl + # Copyright 2015 Catalyst IT # # This file is part of Koha. @@ -19,6 +21,7 @@ use Modern::Perl; use Test::More tests => 6; use Test::MockModule; +use English qw( -no_match_vars ); use t::lib::Mocks; use MARC::Record; @@ -50,10 +53,28 @@ is( $converted->count, 1, 'One converted record' ); SKIP: { - eval { $indexer->get_elasticsearch_params; }; - - skip 'ElasticSeatch configuration not available', 1 - if $@; + my $check; + my $msg; + if ( !defined C4::Context->config('elasticsearch') ) { + $msg = 'ElasticSearch configuration not available'; + } + if ( !$msg ) { + my $ses = + Search::Elasticsearch->new( { $indexer->get_elasticsearch_params } ); + $check = eval { my $node_check = $ses->nodes->info; }; + $msg = $EVAL_ERROR; + } + + if ( !$check && !$msg ) { + $msg = 'Unable to check ElasticSearch node info'; + } + elsif ( $msg =~ /NoNode/xsm ) { + $msg = 'ElasticSearch lacks nodes'; + } + + if ($msg) { + skip $msg, 1; + } ok( $indexer->update_index(undef,$records), 'Update Index' ); } -- 2.1.4