How to implement a consumer-driven test