From df6f11a8f6ee934a16f2b57c3cb54350a3d629eb Mon Sep 17 00:00:00 2001 From: jordanbreen28 Date: Tue, 2 May 2023 16:08:54 +0100 Subject: [PATCH 1/2] (CONT-904) - Removal of tech debt Fixes a bug where non-array values passed to 'object_name' did not work and returned unknown variable "$_togrant_object_only". The correcting of this bug means the temporary fix to disable strict checking can now be removed. --- manifests/server/grant.pp | 3 +++ spec/spec_helper_acceptance_local.rb | 8 -------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/manifests/server/grant.pp b/manifests/server/grant.pp index aeb265fe51..a2a747d383 100644 --- a/manifests/server/grant.pp +++ b/manifests/server/grant.pp @@ -432,6 +432,9 @@ default: { $_granted_object = $_object_name $_togrant_object = $_object_name + # if $_togrant_object_only not set, set it to a default value $_togrant_object + # allows an Array or String to be passed as $_object_name i.e. [$schema, $table] or $table + $_togrant_object_only = $_togrant_object } } diff --git a/spec/spec_helper_acceptance_local.rb b/spec/spec_helper_acceptance_local.rb index b70a812737..d6ef2bf3f6 100644 --- a/spec/spec_helper_acceptance_local.rb +++ b/spec/spec_helper_acceptance_local.rb @@ -16,17 +16,9 @@ def unindent RSpec.configure do |c| c.before :suite do install_dependencies - turn_off_strict_error end end -def turn_off_strict_error - # this is only temporary fix until we finish adding support for puppet 8 - # strict=warning is defaulted on puppet versions below 8, whereas puppet 8 has strict=error by default - # error is caused by 'onlyif_exists' in spec/acceptance/server/grant_spec.rb L78 (works when removed, but not what we want to test) - LitmusHelper.instance.run_shell("echo 'strict=warning\nstrict_variables=false' >> /etc/puppetlabs/puppet/puppet.conf") -end - def export_locales(locale) LitmusHelper.instance.run_shell('echo export PATH="/opt/puppetlabs/bin:$PATH" > ~/.bashrc') LitmusHelper.instance.run_shell('echo export LC_ALL="C" > /etc/profile.d/my-custom.lang.sh') From 224a8c4260d0d782c845c2e4cc89f24d9df092a4 Mon Sep 17 00:00:00 2001 From: jordanbreen28 Date: Tue, 2 May 2023 16:10:34 +0100 Subject: [PATCH 2/2] (Maint) - Fix incorrect interpolation --- manifests/server/grant.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/server/grant.pp b/manifests/server/grant.pp index a2a747d383..4221d65dea 100644 --- a/manifests/server/grant.pp +++ b/manifests/server/grant.pp @@ -452,9 +452,9 @@ $_onlyif = $onlyif_function ? { 'table_exists' => "SELECT true FROM pg_tables WHERE tablename = '${_togrant_object_only}'", - 'language_exists' => "SELECT true from pg_language WHERE lanname = '${_togrant_object_only}}'", + 'language_exists' => "SELECT true from pg_language WHERE lanname = '${_togrant_object_only}'", 'role_exists' => "SELECT 1 FROM pg_roles WHERE rolname = '${role}' or '${role}' = 'PUBLIC'", - 'function_exists' => "SELECT true FROM pg_proc WHERE (oid::regprocedure)::text = '${_togrant_object_only}}${arguments}'", + 'function_exists' => "SELECT true FROM pg_proc WHERE (oid::regprocedure)::text = '${_togrant_object_only}${arguments}'", default => undef, }