All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- BREAKING: Replaced hard Guzzle dependency with PSR-18 (HTTP Client) and PSR-17 (HTTP Factories) interfaces
- Module now depends on PSR standards instead of concrete Guzzle implementation
- HTTP client architecture refactored to support any PSR-18/PSR-17 compliant implementation
- PSR-18
ClientInterfacesupport for true dependency inversion - PSR-17
RequestFactoryInterfaceandStreamFactoryInterfacesupport - Optional auto-discovery: automatically creates Guzzle instances if available (backward compatible)
- Support for any PSR-18/PSR-17 compliant HTTP client (Guzzle, Symfony HttpClient, custom implementations)
- New configuration options:
httpClient,requestFactory,streamFactory - Private initialization methods:
initHttpClient(),initRequestFactory(),initStreamFactory()
- Hard dependency on
guzzlehttp/guzzle(now optional, moved torequire-dev)
- Initial release of Codeception WireMock integration module
haveHttpStubFor()- Create HTTP stubs for any method with advanced request matchingseeHttpRequest()- Verify HTTP requests were made with pattern matchingdontSeeHttpRequest()- Verify HTTP requests were NOT madeseeRequestCount()- Assert exact number of matching requestsgrabRequestCount()- Retrieve count of matching requestsgrabAllRequests()- Retrieve all recorded requests for debugginggrabUnmatchedRequests()- Retrieve requests that didn't match any stubsendReset()- Reset WireMock to default statesendClearRequests()- Clear request journal without affecting stubs- Automatic cleanup hooks (
cleanupBefore: test|suite|never) - Near-miss analysis for failed request verifications
- Support for advanced request matching (body patterns, headers, query parameters)
- WireMock health check on module initialization
- Comprehensive test coverage (15 unit tests, 11 functional tests)
- Guzzle HTTP client integration