We have a similar set-up, and your A
is what we call a Gateway API
. It calls other APIs and might (or might not) add some additional logic.
If the underlying APIs are not your team's responsibility, and you are finding defects in there, then basically you have impediments due to dependencies on a third party (in the broadest sense).
As for storing responses, yes, we do so for all our API tests (currently almost 1000). In a nutshell: we call the API via C# test methods and compare our json against the actual response (using NewtonSoft JSON's DeepEquals
method).
So we are able to run 1000 tests in a few minutes.
As for your problematic situation, it kind of depends:
- Have you reported the test failures (impediments) to your lead? What was the response? Will the other teams fix it with priority or not?
- Depending on the above, for your metrics, would it be useful to execute the test every time resulting in failure? As it is a known defect.
- Will your team be accounted on the final product quality? I.e. while the underlying APIs are not your responsibility, you might still want to have tests on them to make sure your product at least is fed with quality input.
Edit (to clarify):
If you don't get time to automate API tests, then all you can do is formally present your case one more time and make clear not automating them will cost more in the long run. For example: testing two days manually for every release costs 50 days each year. Automating these cases (set-up included) also costs 50 days, and let's say 10 days a year for maintenance. So over five years you get 250 days versus 100 days. Not to forget, the set-up is the hard part. Once you have a framework, adding tests is easy peasy. So if more features are added, the profit is even larger.
Secondly, to expand on our API testing. We have a framework written in C# to be able to easily send requests and store responses. So, first we manually check an API result (request X should always return response Y) and we store the JSONs used in files.
We then write a test method using these JSON files to generate the same request every time, and thus to validate that the response is still exactly the same as when we saved it.
Thirdly, without automated tests you will indeed spend a lot of time, every time again, to test all APIs to see where the error is coming from. The question is, do you need to do a root cause analysis of the issue? And again, make it clear to your manager that you are repetitively losing time on similar issues.