From 6bf66ccd1a05f45fdcc6a074e9ec1c0fc4f66def Mon Sep 17 00:00:00 2001 From: Martin Brennan Date: Tue, 7 Nov 2023 11:50:20 +1000 Subject: [PATCH] DEV: Re-enable site setting deprecation specs (#24258) Followup to baeac8f105cff8bbe70db67789bc96883cb185bc --- spec/lib/site_setting_extension_spec.rb | 46 +++++++++++-------------- 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/spec/lib/site_setting_extension_spec.rb b/spec/lib/site_setting_extension_spec.rb index 1a5753b4f05..b94abbccf03 100644 --- a/spec/lib/site_setting_extension_spec.rb +++ b/spec/lib/site_setting_extension_spec.rb @@ -834,27 +834,24 @@ RSpec.describe SiteSettingExtension do end context "for deprecated settings" do + let(:fake_logger) { FakeLogger.new } + before do @orig_logger = Rails.logger - Rails.logger = @fake_logger = FakeLogger.new + Rails.logger = fake_logger end after { Rails.logger = @orig_logger } - xit "does not log deprecation warnings" do - begin - original_settings = SiteSettings::DeprecatedSettings::SETTINGS.dup - SiteSettings::DeprecatedSettings::SETTINGS.clear - SiteSettings::DeprecatedSettings::SETTINGS.push( - ["use_https", "force_https", true, "0.0.1"], - ) + it "does not log deprecation warnings" do + stub_const( + SiteSettings::DeprecatedSettings, + "SETTINGS", + [["use_https", "force_https", true, "0.0.1"]], + ) do SiteSetting.setup_deprecated_methods - SiteSetting.client_settings_json_uncached - expect(@fake_logger.warnings).to eq([]) - ensure - SiteSettings::DeprecatedSettings::SETTINGS.clear - SiteSettings::DeprecatedSettings::SETTINGS.concat(original_settings) + expect(fake_logger.warnings).to eq([]) end end end @@ -862,27 +859,24 @@ RSpec.describe SiteSettingExtension do describe ".settings_hash" do context "for deprecated settings" do + let(:fake_logger) { FakeLogger.new } + before do @orig_logger = Rails.logger - Rails.logger = @fake_logger = FakeLogger.new + Rails.logger = fake_logger end after { Rails.logger = @orig_logger } - xit "does not log deprecation warnings" do - begin - original_settings = SiteSettings::DeprecatedSettings::SETTINGS.dup - SiteSettings::DeprecatedSettings::SETTINGS.clear - SiteSettings::DeprecatedSettings::SETTINGS.push( - ["use_https", "force_https", true, "0.0.1"], - ) + it "does not log deprecation warnings" do + stub_const( + SiteSettings::DeprecatedSettings, + "SETTINGS", + [["use_https", "force_https", true, "0.0.1"]], + ) do SiteSetting.setup_deprecated_methods - SiteSetting.settings_hash - expect(@fake_logger.warnings).to eq([]) - ensure - SiteSettings::DeprecatedSettings::SETTINGS.clear - SiteSettings::DeprecatedSettings::SETTINGS.concat(original_settings) + expect(fake_logger.warnings).to eq([]) end end end