From 9ffbb7b32434094662033c3215ef21cc7eb87efb Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Mon, 12 Feb 2024 16:02:38 +0000 Subject: [PATCH] Revert "Bug 34979: Add unit test for comparing YAMl files with sysprefs.sql" This reverts commit 0aa7df0395a5d41a96efb72ddfbd4f51d3305461. Signed-off-by: Lucas Gass --- t/db_dependent/check_sysprefs.t | 82 +++++---------------------------- 1 file changed, 11 insertions(+), 71 deletions(-) diff --git a/t/db_dependent/check_sysprefs.t b/t/db_dependent/check_sysprefs.t index 019f6b0b83..1a83baf176 100755 --- a/t/db_dependent/check_sysprefs.t +++ b/t/db_dependent/check_sysprefs.t @@ -22,64 +22,27 @@ use Modern::Perl; use Carp; use Getopt::Long; use C4::Context; -use Array::Utils qw(array_minus); # When this option is set, no tests are performed. # The missing sysprefs are displayed as sql inserts instead. our $showsql = 0; GetOptions( 'showsql' => \$showsql ); -use Test::More tests => 2; - +use Test::More qw(no_plan); our $dbh = C4::Context->dbh; -my $intranetdir = C4::Context->config('intranetdir'); -my $root_dir = $intranetdir . '/installer/data/mysql/mandatory'; +my $root_dir = C4::Context->config('intranetdir') . '/installer/data/mysql/mandatory'; my $base_syspref_file = "sysprefs.sql"; open my $ref_fh, '<', "$root_dir/$base_syspref_file" or croak "Can't open '$root_dir/$base_syspref_file': $!"; -my $ref_syspref = get_syspref_from_file($ref_fh); +my $ref_syspref = get_syspref_from_file($ref_fh); my @ref_sysprefs = sort { lc $a cmp lc $b } keys %$ref_syspref; my $num_sysprefs = scalar @ref_sysprefs; +if ( !$showsql ) { + cmp_ok( $num_sysprefs, '>', 0, + "Found $num_sysprefs sysprefs" ); +} -subtest 'Compare database with sysprefs.sql file' => sub { - if ( !$showsql ) { - cmp_ok( - $num_sysprefs, '>', 0, - "Found $num_sysprefs sysprefs" - ); - } - - check_db($ref_syspref); -}; - -subtest 'Compare sysprefs.sql with YAML files' => sub { - plan tests => 2; - - my $yaml_prefs = get_syspref_from_yaml(); - my @yaml_mod = @$yaml_prefs; - @yaml_mod = grep !/marcflavour/, @yaml_mod; # Added by web installer - - my @sysprefs_mod = @ref_sysprefs; - @sysprefs_mod = grep !/ElasticsearchIndexStatus_authorities/, @sysprefs_mod; # Not to be changed manually - @sysprefs_mod = grep !/ElasticsearchIndexStatus_biblios/, @sysprefs_mod; # Not to be changed manually - @sysprefs_mod = grep !/OPACdidyoumean/, @sysprefs_mod; # Separate configuration page - @sysprefs_mod = grep !/UsageStatsID/, @sysprefs_mod; # Separate configuration page - @sysprefs_mod = grep !/UsageStatsLastUpdateTime/, @sysprefs_mod; # Separate configuration page - @sysprefs_mod = grep !/UsageStatsPublicID/, @sysprefs_mod; # Separate configuration page - - my @missing_yaml = array_minus( @sysprefs_mod, @yaml_mod ); - is( scalar @missing_yaml, 0, "No system preference entries missing from sysprefs.sql" ); - if ( scalar @missing_yaml > 0 ) { - print "System preferences missing from YAML:\n * " . join( "\n * ", @missing_yaml ) . "\n"; - } - - my @missing_sysprefs = array_minus( @yaml_mod, @sysprefs_mod ); - is( scalar @missing_sysprefs, 0, "No system preference entries missing from YAML files" ); - if ( scalar @missing_sysprefs > 0 ) { - print "System preferences missing from sysprefs.sql:\n * " . join( "\n * ", @missing_sysprefs ) . "\n"; - } -}; - +check_db($ref_syspref); # # Get sysprefs from SQL file populating sysprefs table with INSERT statement. @@ -105,27 +68,6 @@ sub get_syspref_from_file { return \%syspref; } -# Get system preferences from YAML files -sub get_syspref_from_yaml { - my @prefs; - foreach my $file ( glob( $intranetdir . "/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/*.pref" ) ) { - if ( open( my $fh, '<:encoding(UTF-8)', $file ) ) { - while ( my $row = <$fh> ) { - chomp $row; - my $pref; - if ( $row =~ /pref: (.*)/ ) { - $pref = $1; - $pref =~ s/["']//ig; - push @prefs, $pref; - } - } - } else { - warn "Could not open file '$file' $!"; - } - } - return \@prefs; -} - sub check_db { my $sysprefs = shift; @@ -165,12 +107,10 @@ syspref.t =head1 DESCRIPTION -This test checks for missing system preferences in the database -and the sysprefs.sql file. +This test checks for missing sysprefs in the database. -System prefereces are gathered from the installation and YAML files. -The database is then queried to check if all the system preferneces are -in it. +Sysprefs are gathered from the installation file. The database is +then queried to check if all the sysprefs are in it. =head1 USAGE -- 2.20.1