For our integrations we usually do webmocking/cassettes. Maybe these 2 keywords help you to find something similar for yourself. So outgoing requests are disabled and can get overwritten with certain results e.g. If somebody makes a request to http://endpoint/route then return status 200 with json body of file result.json.
zammad/spec/lib/external_credential/microsoft_graph_spec.rb at ad5bbf36284feb464551c56cb5c11235cc35cd08 · zammad/zammad · GitHub
zammad/spec/system/import/zendesk_spec.rb at ad5bbf36284feb464551c56cb5c11235cc35cd08 · zammad/zammad · GitHub