Add failing test showing Psych errors

This commit is contained in:
Greg Myers 2019-11-02 12:55:09 +00:00
parent 3ff1de5d65
commit acab437a7d
2 changed files with 4 additions and 0 deletions

View File

@ -48,6 +48,8 @@ module Rswag
def pretty_generate(doc)
if @config.swagger_format == :yaml
# NOTE: Yaml will quite happily embed ruby-only classes such as symbols.
# clean_doc = stringify(doc)
YAML.dump(doc)
else # config errors are thrown in 'def swagger_format', no throw needed here
JSON.pretty_generate(doc)

View File

@ -74,6 +74,8 @@ module Rswag
it 'writes the swagger_doc(s) as yaml' do
expect(File).to exist("#{swagger_root}/v1/swagger.json")
expect { JSON.parse(File.read("#{swagger_root}/v1/swagger.json")) }.to raise_error(JSON::ParserError)
# Psych::DisallowedClass would be raised if we do not pre-process ruby symbols
expect { YAML.safe_load(File.read("#{swagger_root}/v1/swagger.json")) }.not_to raise_error
end
end