https://pact.io logo
#pactflow
Title
# pactflow
y

Yousaf Nabi (pactflow.io)

05/05/2022, 10:11 AM
👋 Hello everybody, Have you tried to publish a Pact or Provider contract to the Pactflow platform and been unsuccessful? Got an account but not tried it out yet? Drop me a reply in a 🧵 and we'll see if we can get you sorted!
❤️ 2
j

Jaswanth M

05/05/2022, 11:15 PM
👋 Hello Yousaf! I'm about to wrap up my business case proposal that I'm putting forward in my company. I've been trying to build POCs for most of the scenarios we use. The two pieces I'm trying to get my head around are 1. Setting up an example for a BFF -> AWS API gateway. Although @Matt (pactflow.io / pact-js / pact-go) pointed me to this one which is really helpful. https://github.com/pact-foundation/docs.pact.io/pull/148/files 2. The other pending scenario is for a kafka consumer in ruby (via Avro schemas). I'm about to dig into this one https://github.com/pact-foundation/pact-message-ruby I am sure that there is a lot of support from pactflow for different scenarios, but I'm just looking for docs/samples that can push me through. Appreciate the help. Please point me to any other docs if you think it'll help 🙏 ta!
🪀 1
🎉 1
y

Yousaf Nabi (pactflow.io)

05/05/2022, 11:54 PM
Hey man, still super new to the world of avro, so will defer that one for now, but will see what I can rummage. On point 1, yes that has been on my mind too. I have situations I have encountered with api gateway acting as both an auth and transformational layer, for accessing on prem services. The gateway services were written in Nodejs and some of the on prem services would co ordinate multiple downstream calls before returning back to the client, all in under 29 seconds ( gateway window is 30 ) We would short circuit in certain downstream services to provide the client with a we are processing this request, and the client would then poll, until their request was satisfied or errored. Client side, we had various lambdas, one was the main BFF which served the interactions between a website served in s3 built with react. All the clients needs awsv4 signed requests. I can think of a few other past client scenarios, I need to sketch them out. Pretty late here now but I'll see what I can cook up tomorrow / next week. Feel free to fire me over some kind of sample architecture diagram here or via pm if you want, and I could try and work an example of something that replicates it
🙏 1
j

Jaswanth M

05/05/2022, 11:55 PM
Thanks Yousaf! Chat later.
m

Matt (pactflow.io / pact-js / pact-go)

05/06/2022, 2:14 AM
The other pending scenario is for a kafka consumer in ruby (via Avro schemas). I’m about to dig into this one https://github.com/pact-foundation/pact-message-ruby
Hi Jas, we don’t currently support Avro. Whilst I know people have requested/discussed it, it’s not highly voted for (https://pact.canny.io/feature-requests/p/support-apache-avro) It’s probably possible to do it though, but you could look to use a strategy like https://medium.com/@ivangsa/consumer-driven-contract-testing-for-grpc-pact-io-d60155d21c4c to transform the payload to/from Avro into JSON so that Pact can store it in the contract.
The pact message ruby repo is definitely the right one
j

Jaswanth M

05/06/2022, 4:10 AM
Yup that's what I thought too 🙏 I saw that there was a level of abstraction there. Happy to contribute to the thought there and add a layer on top for avro specifically when I get to work on it 👍 ta!
❤️ 2
m

Matt (pactflow.io / pact-js / pact-go)

05/06/2022, 4:18 AM
That’d be amazing, thank you
☝️ 1