Skip to content

Native implementation roadmap

Matt Fellows edited this page Sep 21, 2016 · 7 revisions

This is a crude list of the things that need to occur to swap out the Ruby implementation in favour of a completely native one:

v1.0.0 (MVP)

  • Remove old Ruby specific matchers
  • Replace Ruby Mock Server with dynamic library
  • Generate v2 compatible pact files, with parity of previous matching capabilities
  • Remove Mock Server from daemon code
  • Wire into PactClient and Pact structs
  • Add all of the body matchers supported by the JVM
  • Replace Ruby Verifier with dynamic library (WIP)
  • Remove remaining Ruby stuff from daemon
  • Remove all existing Daemon and CLI code
  • Ensure matcher error messages are formatted and readable
  • Create local Docker setup to test multi-OS capability
  • Update examples with latest DSL
  • Update documentation (pact.io, README and doc.go)

<--- feature parity = 1.0.0 release

v1.1.0

  • Manage provider states through Golang Pact API hooks, instead of HTTP endpoints
  • Add all of the matchers supported by the JVM, including Paths/Headers and other body matchers
  • Add support for XML
  • Allow root level matchers as per JVM (including arrays)

v1.2.0

  • Allow one-way messages to be Pact tested (think message queues)
  • Handle v1, v1.1, v2 and v3 specifications better
Clone this wiki locally