From 90649d783fda49259855c7ab28481446cabb89b8 Mon Sep 17 00:00:00 2001 From: NickLaMuro Date: Tue, 10 Nov 2020 12:22:42 -0600 Subject: [PATCH 1/4] [rails6][BaseController::Logger] Use ActiveSupport::ParameterFilter Fixes the following deprecation warning in Rails 6: DEPRECATION WARNING: ActionDispatch::Http::ParameterFilter is deprecated and will be removed from Rails 6.1. Use ActiveSupport::ParameterFilter instead. (called from log_api_request at manageiq-api/app/controllers/api/base_controller/logger.rb:32) --- app/controllers/api/base_controller/logger.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/api/base_controller/logger.rb b/app/controllers/api/base_controller/logger.rb index 4a0e6c3ee5..85b70f416c 100644 --- a/app/controllers/api/base_controller/logger.rb +++ b/app/controllers/api/base_controller/logger.rb @@ -29,7 +29,7 @@ def log_api_auth end def log_api_request - @parameter_filter ||= ActionDispatch::Http::ParameterFilter.new(Rails.application.config.filter_parameters) + @parameter_filter ||= ActiveSupport::ParameterFilter.new(Rails.application.config.filter_parameters) return unless api_log_info? log_request("Request", @req.to_hash) unfiltered_params = request.query_parameters From 9d930341f238c6771505a0e709a702d8f3d1fc00 Mon Sep 17 00:00:00 2001 From: NickLaMuro Date: Tue, 10 Nov 2020 14:37:33 -0600 Subject: [PATCH 2/4] [rails6][ProvidersController] Use .module_parent .parent is deprecated in Rails 6, so use it's replacement .module_parent rails/rails@004fda3 --- app/controllers/api/providers_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/api/providers_controller.rb b/app/controllers/api/providers_controller.rb index 843504d5c3..03d07904bb 100644 --- a/app/controllers/api/providers_controller.rb +++ b/app/controllers/api/providers_controller.rb @@ -175,7 +175,7 @@ def providers_options supported_providers = supported_types_for_create.map do |klass| if klass.supports_regions? - regions = klass.parent::Regions.all.sort_by { |r| r[:description] }.map { |r| r.slice(:name, :description) } + regions = klass.module_parent::Regions.all.sort_by { |r| r[:description] }.map { |r| r.slice(:name, :description) } end { From 5bd10057ca2c09b601d271b8654999158f69ed33 Mon Sep 17 00:00:00 2001 From: NickLaMuro Date: Tue, 10 Nov 2020 12:34:55 -0600 Subject: [PATCH 3/4] [WIP][rails6][result_downloads_spec.rb] Fix specs A change seemed to happen regarding the result of the "Content-Disposition" header generation when upgrading to Rails 6.0. TODO: Will need to determine if this is fine being changed and where the change originated from. --- spec/requests/result_downloads_spec.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/requests/result_downloads_spec.rb b/spec/requests/result_downloads_spec.rb index 981005b176..8d90e362a9 100644 --- a/spec/requests/result_downloads_spec.rb +++ b/spec/requests/result_downloads_spec.rb @@ -265,7 +265,7 @@ def task_results_url(task) expect(response).to have_http_status(:ok) expect(response.header["Content-Type"]).to eq("application/text") - expect(response.header["Content-Disposition"]).to eq("attachment; filename=\"results_#{result_1.id}_report.txt\"") + expect(response.header["Content-Disposition"]).to eq("attachment; filename=\"results_#{result_1.id}_report.txt\"; filename*=UTF-8''results_#{result_1.id}_report.txt") expect(response.body).to eq(task_results_1_txt) end @@ -278,7 +278,7 @@ def task_results_url(task) expect(response).to have_http_status(:ok) expect(response.header["Content-Type"]).to eq("application/csv") - expect(response.header["Content-Disposition"]).to eq("attachment; filename=\"results_#{result_1.id}_report.csv\"") + expect(response.header["Content-Disposition"]).to eq("attachment; filename=\"results_#{result_1.id}_report.csv\"; filename*=UTF-8''results_#{result_1.id}_report.csv") expect(response.body).to eq(task_results_1_csv) end @@ -304,7 +304,7 @@ def task_results_url(task) expect(response).to have_http_status(:ok) expect(response.header["Content-Type"]).to eq("application/pdf") - expect(response.header["Content-Disposition"]).to eq("attachment; filename=\"results_#{result_1.id}_report.pdf\"") + expect(response.header["Content-Disposition"]).to eq("attachment; filename=\"results_#{result_1.id}_report.pdf\"; filename*=UTF-8''results_#{result_1.id}_report.pdf") expect(response.body).to eq(task_results_1_pdf) end end From 5b0c540d279bd7eabf5b229d267fc783c52b0b12 Mon Sep 17 00:00:00 2001 From: Nick LaMuro Date: Wed, 11 Nov 2020 15:44:53 -0600 Subject: [PATCH 4/4] [rails-6][vms_spec.rb] Fix deprecation warning Fixes the following deprecation warning: DEPRECATION WARNING: update_attributes is deprecated and will be removed from Rails 6.1 (please, use update instead) (called from block (3 levels) in at manageiq-api/spec/requests/vms_spec.rb:309) --- spec/requests/vms_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/requests/vms_spec.rb b/spec/requests/vms_spec.rb index 9050783ea4..1e60d42db8 100644 --- a/spec/requests/vms_spec.rb +++ b/spec/requests/vms_spec.rb @@ -306,7 +306,7 @@ def query_match_regexp(*tables) add_hardware_and_os_to_vms - host.update_attributes(:ext_management_system => ems) + host.update(:ext_management_system => ems) end it "removes N+1's from the index query for subcollections/virtual_attributes" do