Hello! We are just getting started with contact tests and Pact and primarily use gRPC apis. I was wondering if anyone has guidance on what the development workflow would look like for consumer driven contract testing with pact for gRPC/protobuf defined apis since the provider would typically (I assume) own the protobuf definition? For example:
1. Consumer engineer creates a protobuf file describing the api they would like to be implemented
2. Consumer engineer builds any tooling to make requests to said protobuf file
3. Consumer engineer writes pact unit tests against the protobuf file
4. Consumer engineer publishes pactfile generated from said unit tests
5. Provider engineer is notified of new pactfile (I'm curious about how this would work for a new api, but I assume an existing API this could be automatically discovered during the provider's verify step)
6. Provider engineer copies/creates matching protobuf file (and potentially publishes it)
7. Provider engineer implements api that satisfies contract defined in pactfile
8. Provider publishes new version of api and notifies consumer
There are a couple of potential issues I see with this process:
1. The consumer may have to make some assumptions about the proto file like namespacing/endpoint name or other organizational concerns
2. We currently have our provider publish ruby and python grpc libraries to consume our grpc apis, fi the consumer is starting the process, presumably they are responsible for generating this on their own until the provider publishes an official library
Please let me know your thoughts from anyone with experience in this area so we can get off on the right foot. Thank you in advance!