You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
API breaking changes are bad and also tricky to identify somehow. Right now, there's nothing really helping us not breaking the API apart from our own discipline. Despite being disciplined, something can also slip through our attention and get merged, unnoticed. A simple step towards this would be to add a few golden tests to make sure that API types aren't actually changing in a non backward-compatible ways.
If a given API type has one or a few associated golden test, hopefully, upon making a change, the underlying change would fail. Then, we can assess whether this change is a breaking change or just a soft extension.
We have / will have API-level types with AesonToJSON/FromJSON - instances. The API types can be composed of smaller types as product (record) or sum types. It seems like we could generate golden tests automatically.
Decision
Find a way to generate golden-tests automatically, to ensure that the JSON-format stays consistent. We want to test all interesting cases of our types (e.g make sure we test the format of all the error-cases in an error sum-type)
Acceptance Criteria
There must exist a way to trigger re-generation of golden-tests
Generated golden-tests should test the format of all API types, in all interesting cases. (May be weakened if infeasible)
Context
Golden tests can help us verify that our API json format doesn't change accidentally.
There were some talk about golden-tests on the legacy-wallet (and there was one ticket created input-output-hk/cardano-wallet-legacy#124)
We have / will have API-level types with
Aeson
ToJSON
/FromJSON
- instances. The API types can be composed of smaller types as product (record) or sum types. It seems like we could generate golden tests automatically.Decision
Find a way to generate golden-tests automatically, to ensure that the JSON-format stays consistent. We want to test all interesting cases of our types (e.g make sure we test the format of all the error-cases in an error sum-type)
Acceptance Criteria
Development Plan
PR
master
master
QA
The text was updated successfully, but these errors were encountered: