Divio Documentation System

Divio Documentation System

References

include dependencies info for each (what parts it can see and what it can’t, what it trusts and what it doesn’t)

  1. Port
  2. Adapter
  3. Contract test
  4. Simulator
  5. Application
  6. Core
  7. Simulator test
  8. How they come together

Tutorials

  1. Create a new service that uses an API, a data store, & exposes an API (3 ports).
  2. Shopping cart for small, in-person business

How-tos

  1. Add a new port (and stuff) to one edge of an existing service.
  2. Refactor access of API to be behind a port & get it under test.
  3. Respond to a change in behavior by a dependency
  4. Encapsulate into adapter
  5. Expose through Port
  6. Add complexity to Port (meeting new needs of application)
  7. Detect impact of breaking change or upgrade (using platform tests)
  8. Detect impact of a breaking change on your consumers

Explanations

  1. Interlocking tests. From adapter to adapter across contract tests. Or between adapter and application across simulator test + simulator + contract test.
  2. Contract tests as platform tests to detect upstream breaking changes
  3. Contract tests as customer acceptance tests to determine impact of breaking changes
  4. Producer / consumer interaction models (consumers know producer, consumers and producers know each other, consumers know each other and producer), and how that impacts upgrade
  5. It’s about point of view — “self vs other”.