Clarify Testing endpoint API documentation

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Proposal

The API descriptions need to be improved for better clarity

  • Pipeline#test_report_summary: Fast as it look at summary data persisted in the database.
  • Pipeline#test_reports: Slow as it goes through each artifacts and parse them on the fly.

Details

Based on the above and comments from customers, here are just a few thoughts of what we could do better or consider doing:

  1. test_report_summary should say whether a test suite's artifact has expired
  2. test_report_summary should be more clear about why an empty report was returned (e.g. no report was found in artifacts)
  3. test_reports should consider relying on the persisted data to make sure statistics are correct even when artifacts have expired
  4. We should consider persisting full test reports. The main con is that it would be a lot of data to save. The benefits are that we could make quicker requests, have a more straightforward API, and the Pipeline Test Report page would be able to switch over to GraphQL without degrading performance due to pagination requiring parsing the artifact again and again.
Edited by 🤖 GitLab Bot 🤖