Nexmo / oas_parser

An open source Open API Spec 3 Definition Parser
MIT License
51 stars 16 forks source link

KeyError when parsing reports.yml #43

Closed timcraft closed 4 years ago

timcraft commented 4 years ago

Parsing the reports.yml in api-specification raises key not found: 401 (KeyError)

This appears to be because reports.yml is using string keys for the the responses, but oas_parser is converting numeric pointer references to integers. This was working previously, so I'm guessing the change is due to https://github.com/Nexmo/api-specification/pull/227

lornajane commented 4 years ago

That's interesting! I'm not clear what you mean by "parsing" though, how can I reproduce this error? The parser is in a few different places and I haven't seen this error (yet!)

timcraft commented 4 years ago

I can reproduce like this (in the api-specification directory):

$ irb -r oas_parser
irb(main):001:0> OasParser::Definition.resolve 'definitions/reports.yml'

Is that not the correct way to parse the definitions?

timcraft commented 4 years ago

Actually I think this might have been fixed by the latest version, I must have been using 0.22.2 🙈

lornajane commented 4 years ago

I just haven't used the tool like that. There is a validation script in bin/ and I also use the Nexmo-oas-renderer locally which I think does depend on the parser. I haven't tried just parsing but it seems like there is something here to take another look at

mheap commented 4 years ago

This was an issue and was fixed in 0.23.0 https://github.com/Nexmo/oas_parser/commit/2babdc1d1bc26cc20658d84983502a7fe43064dc