I want to direct my testing efforts in such a way to for example, with some level of automated checking, have some logical validation between my gateway’s way of consuming each of the external providers, in order to detect earlier the symptoms of issues where I have the implementation of the consumption of one provider sometimes breaking the consumption of another one.
The restraints of the problem are that I have zero control of the development process, that is itself somewhat chaotic, and I can hardly enforce or let alone promote, for example, proper unit checking of the implementations of the consumer, plus code quality standards, and overall API documentation.
I’ve thought about attacking this problem with some form of contract testing, where I define the model of external providers, taking into account their public apis and their documentation, and worry only about the implementation consumer-side part of testing.
The thing is, this sort of approach, from my understanding, seems to be “not advised” by people who work on contract testing libraries, for example:
(Not recommended) Testing providers where the consumer and provider teams do not have good communication channels. (Source https://docs.pact.io/getting_started/what_is_pact_good_for#what-is-it-not-good-for )
I’ve had a look at question “Testing interactions with external systems” but it’s not exactly what I’m looking for.
Any ideas are welcome.