Commit Graph

76 Commits

Author SHA1 Message Date
Greg Myers
e9aebe6221 fix mistake in assigning header nodes for type 2020-03-22 23:45:47 +00:00
Greg Myers
eb58fe687a add upgrade for basepath and host to server urls 2020-03-22 23:39:48 +00:00
Greg Myers
da230a4f3e add header type schema support for openapi3 2020-03-21 23:17:00 +00:00
Greg Myers
a25307dc69 add support for openapi 3 securitySchemas 2020-03-21 23:14:58 +00:00
Greg Myers
9414ca16b6 add upgrade parameters refs to openapi3 2020-03-21 22:38:49 +00:00
Greg Myers
70eb277e04 add upgrade path and query param type output to openapi3 if selected 2020-03-21 21:38:09 +00:00
Greg Myers
23a1074d07 Add tests for OA3 components/schemas loader with upgrade notice 2020-03-21 20:24:04 +00:00
Greg Myers
095067792f add loader for OA3 schema definitions with version based deprecation
notice
2020-03-21 19:51:01 +00:00
Greg Myers
b5e210cd96 Merge branch 'openapi/master' into openapi/merge 2020-03-20 15:38:40 +00:00
Karl Johansson
4c613af2ba Allow tests to be run without generating docs
By providing the 'document: false' metadata, tests will be run but no swagger
documentation will be generated for the tagged example groups. It works on all
kinds of example groups (responses, verbs, paths etc..).
2019-11-15 16:21:04 +01:00
Greg Myers
eeb1026691 Fix invalid Swagger in YAML values
The original fix failed because though the Keys were now strings, some
of the values for path variables were also symbols.
Psych does have a safe_load which has a whitelist of classes but it does
not have a safe_dump mode. We could have used deep_transform_values and
manually converted the classes we did not want, but why risk a buggy
implementation when JSON.generate works just fine?
2019-11-02 13:13:06 +00:00
Greg Myers
2c0f3c9396 Fix invalid Swagger in YAML 2019-11-02 12:58:36 +00:00
Greg Myers
acab437a7d Add failing test showing Psych errors 2019-11-02 12:55:09 +00:00
Greg Myers
0e04635b15 Write the files using specified format 2019-11-02 11:19:01 +00:00
Greg Myers
73b84101cc Adding yaml as option for generator
New installations will get :yaml as it's default with openapi 3 as the
version. Old installations will have the key missing and will default
to :json with an easy upgrade path.
2019-11-02 10:45:38 +00:00
Greg Myers
c14f72a45e Point the railtie to the correct file
Fixes #248
2019-10-18 23:18:32 +01:00
Greg Myers
77d00407a4 whitespace linting 2019-10-16 20:51:53 +01:00
Greg Myers
8b61984fb3
Merge branch 'master' into feature/request_spec_generator 2019-10-16 20:44:11 +01:00
Peter McCready
5c9154864e add options and trace verbs 2019-10-04 14:51:41 +01:00
Jay Danielian
13f7007b2f Renames and fixes specs in api and specs project to prefix OpenApi module. Gem name to open_api-rswag 2019-07-27 14:53:01 -04:00
Jay Danielian
b8dcc8fe30 Adds support for proper requestBody examples. Adds mechanism to allow for adding additional ways to add request body examples
Can add externalValue or  it will work and produce valid swagger spec.

The Symbol name matching the let parameter is always required
2019-07-21 15:03:37 -04:00
Jay Danielian
4c2097e017 Fixes response_validator to handle 3.0 responses and validate against the schema.
JSON::Validator already handles anyOf oneOf schema definitions, so those can be passed in and validation errors are returned properly
2019-07-20 14:33:51 -04:00
Jay Danielian
eb4e6045c5 Modifies generator and specs to look for openapi: 3.0.0 vs swagger 2.0
Renames rswag-api to rswag_api as that is preferred file naming convention in initializers per rubocop linting
2019-07-20 12:52:31 -04:00
Jay Danielian
4baf5efd11 Updates specs to add 3.0 compliant structure and tests around the new schema/structure 2019-07-20 12:29:44 -04:00
Jay Danielian
659b328eda Fixes spec for #stop writing swagger docs 2019-07-17 20:35:56 -04:00
Jay Danielian
aa133b90fc Adds request_body_multipart method which enables schema properties to be written for multipart upload body
Will inspect the provided hash and add the property file_name to the parameters collection so upload and 3.0 output will work properly
2019-07-17 20:07:30 -04:00
Jay Danielian
c820bb75e0 Modifies parameters and body request/responses to output 3.0 syntax for basic operations.
SwaggerEditor passes basic output
2019-07-14 17:28:11 -04:00
Jay Danielian
0093efd4bf Adds rswag to test and development so rake tasks work
Adds to swagger_Formatter to remove injected body parameters since those are 2.0 and ont 3.0 compliant

Adds to example_group_helpers to only automatically save request examples in the swagger output on 2xx response, since otherwise it was getting clobbered
2019-07-07 22:57:55 -04:00
Jay Danielian
297cc447c8 Gets v3 request example saving as well as response example saving
Adds rubocop to the gemset

adds guard to the gemset for testing
2019-07-05 15:59:47 -04:00
Jay Danielian
768a1a1d43 Initial commit for trying to produce and consume v3 swagger 2019-06-29 18:12:21 -04:00
Nathan Broadbent
e381bf85d4 Show response body when the response code is unexpected. Makes it much easier to debug test failures 2018-12-22 15:20:49 +07:00
domaindrivendev
26a3bf5079 avoid metadata mutation in request_factory 2018-04-23 16:00:07 -07:00
Andrey Kurashev
05e1e2271f Fix Authorization header missing and duplicating 2018-02-20 14:49:13 +06:00
domaindrivendev
06d00de992 Assume symbol for referenced parameter key 2017-09-06 13:38:36 -07:00
domaindrivendev
ad9cd5de66 Support paired security requirements - e.g. basic and apiKey 2017-08-21 01:07:47 -07:00
Travis Hooper
037c0e374a Allows for parameters to be defined without the 'in' key defined to allow for parameter 2017-07-31 17:44:43 -05:00
domaindrivendev
8f16492462 Merge pull request #82 from domaindrivendev/per-response-metadata
Allow arbitrary metadata for path/response blocks
2017-07-22 10:33:05 -07:00
domaindrivendev
732cab994c simplify validation blocks and use correct scope 2017-07-21 22:26:14 -07:00
domaindrivendev
452d9176cc Allow arbitrary metadata for path/response blocks 2017-07-21 21:19:25 -07:00
domaindrivendev
7f0e437f8b For rswag, param names MUST be unique 2017-07-21 21:04:46 -07:00
domaindrivendev
b16198377b Merge branch 'add-formData-support' of https://github.com/thg303/rswag into thg303-add-formData-support 2017-07-21 14:25:29 -07:00
domaindrivendev
e18a001e9b Move rackify headers to RequestFactory + other minor refactors 2017-07-21 13:49:01 -07:00
domaindrivendev
97c2a39cfa Refactor request_factory & response_validator 2017-07-20 23:42:40 -07:00
Hannes Probst
8ede7f78f1 use fully_validate to get more specific error msg 2017-07-18 15:45:36 +02:00
Andrew Hobson
1515ce4fcb Support optional query parameters 2017-07-11 16:28:45 -04:00
domaindrivendev
3404fa72aa Publish gems via CI on tagged builds of master 2017-07-10 23:52:51 -07:00
Paul Carey
c9bda862b6 adds request spec generator shamelessly stollen from rspec-rails-swagger 2017-07-06 10:45:54 +01:00
Ali Qanavatian
44840ab836 Merge branch 'master' into add-formData-support 2017-07-04 09:45:33 +04:30
domaindrivendev
de7ec5f15d Leverage security definitions for headers in example requests 2017-06-26 17:52:00 -07:00
domaindrivendev
e40c5fc26e Prep for 1.3.0 2017-06-26 17:39:34 -07:00