- What is mykholy/laravel-failurelab used for?
- It is a test-time fault-injection utility for Laravel applications. It lets you simulate failures in requests, jobs, and services, replay webhooks, and assert recovery paths so you can prove idempotency and lost-acknowledgement handling with PHPUnit. It is intended for resilience and chaos-style testing, not production messaging.
- How do I install mykholy/laravel-failurelab in a Laravel app?
- Install it as a development dependency with Composer, typically using composer require --dev mykholy/laravel-failurelab. Then define fault plans and recovery assertions in your test suite. Check the package README for the exact setup and any required test bootstrap configuration, since the supplied assessment does not include installation details.
- Which Laravel and PHP versions does mykholy/laravel-failurelab support?
- The provided v1.1.0 assessment does not list supported Laravel or PHP version ranges. Treat the package's composer.json and README as the authoritative compatibility sources before adding it to CI. The release notes only state that v1.1.0 is API-compatible with v1.0.0.
- Does mykholy/laravel-failurelab work with PHPUnit and Pest?
- The package is described for PHPUnit-based Laravel tests. Pest compatibility is not confirmed in the supplied v1.1.0 materials. Verify it against your test runner and any existing queue fakes or test helpers before adopting it broadly.
- Can it test lost acknowledgements and job idempotency?
- Yes, the package is designed to deterministically simulate acknowledgement loss after a successful handler and to assert recovery behavior. That helps you test whether queued jobs remain idempotent when a later acknowledgement occurs or is missing. It validates application-level idempotency under simulated ack loss, not broker delivery semantics.
- Which queue drivers and databases does mykholy/laravel-failurelab support?
- The assessment says it complements integration testing against real brokers such as SQS, Redis, and database queues, but it does not document which drivers' redelivery semantics are modeled. It also mentions idempotency tests across SQLite, MySQL, and PostgreSQL, though it is unclear whether those tests ship for consumers or run only in the package's CI. Review the README and test suite for confirmed coverage.
- How does it inject faults, and how does it compare with Laravel queue fakes?
- The supplied assessment does not specify whether interception uses job middleware, a wrapper, an event listener, or an extension of Laravel's queue fake. Review the source and README to confirm how handlers are wrapped and how fault plans are activated. It complements rather than replaces Laravel queue fakes and real broker integration tests, especially when you need deterministic ack-loss and recovery assertions.
- Is mykholy/laravel-failurelab safe to use in production?
- It is intended as a require-dev, test-time fault-injection utility, not a production messaging component. Do not use passing simulated ack-loss tests as evidence of exactly-once delivery; the package explicitly disclaims real queue or network packet loss and exactly-once guarantees. Keep it out of production dependencies.
- What changed in v1.1.0 and is it backward compatible?
- v1.1.0 is described as additive and API-compatible with v1.0.0. It adds assertion guards against unreachable fault plans and missing later-acknowledged recovery, and expands idempotency coverage to SQLite, MySQL, and PostgreSQL. Previously passing suites may now fail where fault plans were misconfigured or recovery was not acknowledged, which is intended but needs triage.
- Who maintains mykholy/laravel-failurelab, and what license and security process does it use?
- The supplied materials do not name the maintainer, license, release cadence, or security disclosure process. Confirm those details in the repository before adopting the package. If provenance or maintenance activity is unclear, pilot it in a single queue-heavy module before broader use.