From 465950a65cf63fdbf9b885d606dc1799cbc30de9 Mon Sep 17 00:00:00 2001 From: Paul Filipow Date: Mon, 25 Jan 2021 16:11:54 -0800 Subject: [PATCH 1/3] don't clobber response content --- rswag-specs/lib/rswag/specs/swagger_formatter.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rswag-specs/lib/rswag/specs/swagger_formatter.rb b/rswag-specs/lib/rswag/specs/swagger_formatter.rb index 99b5912..94ff6eb 100644 --- a/rswag-specs/lib/rswag/specs/swagger_formatter.rb +++ b/rswag-specs/lib/rswag/specs/swagger_formatter.rb @@ -129,7 +129,7 @@ module Rswag end def upgrade_content!(mime_list, target_node) - target_node.merge!(content: {}) + target_node.merge!(content: {}) if target_node[:content].nil? schema = target_node[:schema] return if mime_list.empty? || schema.nil? From bd48e405291702d3d5d512489d52975928ef8087 Mon Sep 17 00:00:00 2001 From: Paul Filipow Date: Mon, 25 Jan 2021 21:12:16 -0800 Subject: [PATCH 2/3] add schema to mime type instead of overwriting --- rswag-specs/lib/rswag/specs/swagger_formatter.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rswag-specs/lib/rswag/specs/swagger_formatter.rb b/rswag-specs/lib/rswag/specs/swagger_formatter.rb index 94ff6eb..7fb9e61 100644 --- a/rswag-specs/lib/rswag/specs/swagger_formatter.rb +++ b/rswag-specs/lib/rswag/specs/swagger_formatter.rb @@ -135,7 +135,8 @@ module Rswag mime_list.each do |mime_type| # TODO upgrade to have content-type specific schema - target_node[:content][mime_type] = { schema: schema } + target_node[:content][mime_type] = {} if target_node[:content][mime_type].nil? + target_node[:content][mime_type][:schema] = schema end end From b63dd343afd2ffc4962c81e533fced019a460e6c Mon Sep 17 00:00:00 2001 From: Paul Filipow Date: Tue, 26 Jan 2021 13:57:44 -0800 Subject: [PATCH 3/3] safe navigation in build_query_string_part --- rswag-specs/lib/rswag/specs/request_factory.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rswag-specs/lib/rswag/specs/request_factory.rb b/rswag-specs/lib/rswag/specs/request_factory.rb index 2e8f3f1..2211fd0 100644 --- a/rswag-specs/lib/rswag/specs/request_factory.rb +++ b/rswag-specs/lib/rswag/specs/request_factory.rb @@ -118,7 +118,7 @@ module Rswag def build_query_string_part(param, value) name = param[:name] - return "#{name}=#{value}" unless param[:type].to_sym == :array + return "#{name}=#{value}" unless param[:type]&.to_sym == :array case param[:collectionFormat] when :ssv