Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Vcr Plugin Laravel Package

php-http/vcr-plugin

A PHP-HTTP plugin that records real HTTP interactions and replays them in tests, similar to Ruby's VCR. Drop it into any HTTPlug-compatible client to capture responses once, then run fast, deterministic, offline test suites without hitting external APIs.

Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for test infrastructure. Adopting this replaces an in-house cassette/recorder layer. It is a small, MIT-licensed plugin, so the decision is really "buy a tiny dependency" vs. "own ~200 lines of HTTP-interception code forever." Weigh maintenance of our own recorder against the bus-factor of a 21-star package.
  • Integration-test coverage strategy. Enables recording real third-party API traffic (payments, shipping, KYC, LLM providers, partner APIs) once and replaying it in every CI run. This shifts the conversation from "we can't integration-test because sandbox access is slow/rate-limited/costly" to "we can, deterministically."
  • Test-suite modernization roadmap. A concrete migration path off hand-written mocks and sleep()-laden staging calls, and toward fast, offline, reproducible suites. It also nudges us to standardize on PSR-18/HTTPlug clients (Guzzle) so tooling remains portable.
  • CI reliability and cost investment. Directly reduces flaky builds, pipeline minutes, and third-party sandbox quota spend. Useful input to "should we invest in test determinism this quarter?"
  • Secret management and compliance posture. Recorded cassettes can remove live credentials from CI entirely — a security/compliance argument, not just an engineering one.
  • Contract-drift detection cadence. Requires a product decision on re-recording: how often do we refresh cassettes against the real API to catch vendor schema changes? That is a recurring operational commitment, not a one-time setup.
  • Scope of use cases. Well suited to regression tests of existing API integrations; poorly suited to exploratory or load testing, and not a substitute for true contract testing (Pact) where both sides change.

When to Consider This Package

Adopt when:

  • The application talks to HTTP APIs through a PSR-18/HTTPlug-compatible client (typically Guzzle 7). This plugin hooks into that layer.
  • Tests currently hit external services and are slow, flaky, rate-limited, or cost money per run.
  • You want real recorded payloads (schema fidelity matters) rather than hand-authored stubs that drift from reality.
  • Cassettes can live in the repo and be code-reviewed — the team accepts fixture churn as a normal maintenance cost.
  • You are comfortable treating it as a small internal utility: vendored, wrapped, and forkable if upstream goes quiet.

Look elsewhere when:

  • You are on Laravel and simple stubs suffice — Http::fake() is built in, first-party, and zero-dependency. Reach for this package only when you need genuine recorded fidelity, not fabricated responses.
  • You are on Symfony HttpClient — the framework's own mock/recorder facilities avoid bridging through HTTPlug.
  • The team needs a widely adopted, well-documented tool: VCRPHP has far more usage; WireMock/MockServer if you want a language-agnostic mock server shared across services.
  • You need contract testing (both consumer and provider verified) — that is Pact's job.
  • You depend on streaming, SSE, large binary, or multipart uploads — confirm replay support before committing; these are common gaps in recorder plugins.
  • Low adoption (21 stars, single-maintainer risk) is disqualifying for a critical-path platform dependency. Treat it as a leaf dependency, never a load-bearing one.

How to Pitch It (Stakeholders)

For executives (one paragraph): Our test suite calls real third-party APIs, which makes builds slow, occasionally flaky, and dependent on live sandbox credentials. This small MIT-licensed plugin records those HTTP interactions once and replays them on every subsequent test run, so CI becomes fast, deterministic, and offline. The business case is straightforward: fewer flaky builds and faster feedback for engineers, lower sandbox/quota spend, and no production-like secrets sitting in CI. The main caveat is maturity — it is a low-adoption package — so we would treat it as a small, isolated utility we can wrap or replace, not a platform commitment. Net: a low-cost, low-risk way to cut CI time and third-party coupling, contingent on a short engineering spike to confirm it fits our client stack.

For engineering (summary): Drop-in HTTPlug/PSR-18 plugin for Guzzle-based clients. Record-once/replay-many, cassettes committed as reviewable fixtures, offline and deterministic. It is not a framework-level fixture tool — Symfony and Laravel each have first-party options (HttpClient mocking, Http::fake()), so the value here is recorded payload fidelity, not stubbing convenience. Risks: 21 stars, single-maintainer, thin docs, unclear coverage of streaming/large payloads, and cassette churn as vendors evolve. Recommended posture: 1–2 day spike, wrap behind an internal test helper, pin the version, and keep a documented exit path (VCRPHP or hand-rolled stubs). Do not spread it across the whole suite until the spike and one representative integration are green.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums