The http-response-diff-pipeline testing tool is a lightweight celery based pipeline to diff responses from two endpoints. It includes helpers for WMF specific functionality.
The initial idea of http-response-diff-pipeline was to create a more generic tool that would have had something like a DSL (eg. config YAML) to describe more complicated pipelines. But the initial need was mostly around single GET requests so it was scoped down to match that use case.
It would be very useful if this tool could be used for more complex pipelines. For example, it would have been very useful in the Reading Lists work (see T336693: Re-implement reading lists REST interface outside RESTBase, T360217: Reading List REST Interface: external compatibility testing, and T348492: Reading List REST Interface: testing plan). Instead, that need was handled via a bespoke testing script that would be difficult to extend to other projects.
- Evaluate third party open source options to ensure nothing is available that meets this need (has already been done a couple of times, but good to ensure nothing was missed, or nothing new is available)
- Identify detailed requirements for a next round of improvements to http-response-diff-pipeline. Desirable features include handlings of more HTTP verb types (POST, PUT, DELETE, etc.), token handling, and the ability to chain calls such that data from the response of one endpoint can be used in subsequent calls. We don't have to ado all of that at once. Any improvements are welcome.
- If necessary, create implementation subtasks for distinct portions of the work
- Make the changes
Tagging with MW REST API, as that is a likely major use case given the current RESTBase deprecation work, and associated need to change endpoint implementation. However, the tool itself should work with things other than the MW REST API.