TODO.md in pacto-0.3.1 vs TODO.md in pacto-0.4.0.rc1

- old
+ new

@@ -1,20 +1,43 @@ # TODO +# v0.4 + +## Thor +- Kill rake tasks, replace w/ pacto binary +- Split Pacto server to separate repo?? + +## Swagger converter +- Legacy contracts -> Swagger + +## Swagger concepts not yet supported by Pacto +- Support schemes (multiple) +- Support multiple report types +- Validate parameters +- Support Swagger formats/serializations +- Support Swagger examples, or extension for examples + +## Documentation + +- Polytrix samples -> docs + +# v0.5 + +## Swagger +- Support multiple media types (not just JSON) +- Extension: templates for more advanced stubbing +- Patterns: detect creation, auto-delete +- Configure multiple producers: pacto server w/ multiple ports + +# v0.6 + ## Nice to have -- Cucumber Tests as docs (see https://relishapp.com/cucumber/cucumber/docs/); -- Fake Server (sinatra app generating fake responses based on the contracts); -- Optional "require" format for JSON Schema: # 'required': ['id', 'categorias', 'titulo', ...]; -- Contract variables for easy writing. Such as: 'path': '/member/{id}'; -- Add JSHint rake task to validate contracts syntax; + +# Someday + - Pretty output for hash difference (using something like [hashdiff](https://github.com/liufengyun/hashdiff)). - A default header in the response marking the response as "mocked" -- Parameter matcher should use an idea of "subset" instead of matching all the parameters -- 'default' value to be used when it is present with an array of types -- Support 'null' attribute type -- Validate contract structure in a rake task. Then assume all contracts are valid. -- When a request is not OK (200), the body may not be a json. Add support to ignore the body. ## Assumptions - JSON Schema references are stored in the 'definitions' attribute, in the schema's root element.