Real world challenges with contract testing and integration issues #709
Replies: 3 comments 3 replies
-
@kiranpatel11 thanks for starting this thread. Before I address the main point of this topic, just want to clarify that we are not claiming anywhere that "all realworld integration issues can be resolved using the schema-based validations." in our comparison at all. In our point "Minimal / No Leakage for Compatibility Issues" we are clearly calling out that we catch issues where there is deviation from the API specifications. When the specification only captures structure / signature of the API and not the behaviour, we can only validate to that extent. Not sure what makes you think this way. Can you please elaborate? |
Beta Was this translation helpful? Give feedback.
-
Question for you @harikrishnan83, Considering my I guess it will not, because the schema does not really exist, but thought of confirming with you. |
Beta Was this translation helpful? Give feedback.
-
related discussion #1029 , though not verified yet. |
Beta Was this translation helpful? Give feedback.
-
Many real-world APIs are defined using the open-ended schema (like key-value pairs) for the genuine reasons.
e.g.
I know the schema of such dynamic content is still important, without that things are not expected to work e2e (see the dynamic schema references in TMF APIs). However, in realworld they are not used consistently unfornately and not much tooling around it.
Usually the behavior of such APIs are expected to be defined using the BDD style requirements. However, using the Specmatic schema-based approach, the consumer stubs validation against the schema, does not add any additional value as stubs are not getting validated against the allowed/possible behavior described by the provider.
Consider the below OpenAPI specs for the detailed explaination.
Just to exaggerate, the provider may have defined behavior to accept IPhone, Broadband products order, but consumer create stubs using the grocery items but valid against the schema for verifying their implementation.
Hence, IMO, the behavioral aspects are important in Service Virtualization, and Specmatic comparision with Pact and PactFlow ignore such usecases and appears to be mis-leading that all realworld integration issues can be resolved using the schema-based validations.
IMO, this problem can only be solved by "subset compatibility" checks of stubs with provider behavioral scenarios.
Beta Was this translation helpful? Give feedback.
All reactions