logo Boston Ruby Group


February 9, 2016

API Integrations for the Excessively Paranoid

by Alex Jarvis

When we integrate with external services, we are designating a new source of truth in our application, and we as developers have a responsibility to respect this truth with a rigorous interface. How can we move beyond 'service objects' and avoid a VCR-blasted test-suite while still maintaining tests that *actually* cover our new truths? In this talk, I'll propose breaking down the integration into layers of interface with our system, and discuss ways to separate their various duties through POROs. The end result: Exhaustively tested, easily readable integrations for those who think someone might be watching.