Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Testably/Mockolate
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.2.0
Choose a base ref
...
head repository: Testably/Mockolate
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.3.0
Choose a head ref
  • 7 commits
  • 47 files changed
  • 2 contributors

Commits on Feb 2, 2026

  1. chore: Bump SharpCompress from 0.44.3 to 0.44.5 (#455)

    ---
    updated-dependencies:
    - dependency-name: SharpCompress
      dependency-version: 0.44.5
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Feb 2, 2026
    Configuration menu
    Copy the full SHA
    c1fab83 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2026

  1. feat: add WithHeaders parameter match (#459)

    This PR adds a new `WithHeaders` parameter matcher for HTTP content validation in Mockolate. The feature allows users to specify HTTP header expectations when mocking HTTP client calls.
    
    ### Key Changes:
    - Added `HttpHeaderValue` class to represent HTTP header values with extensible matching logic
    - Introduced `IHttpHeaderParameter<TParameter>` interface to enable header expectations on HTTP content parameters
    - Created comprehensive test coverage for single and multiple header matching with case sensitivity rules
    vbreuss authored Feb 6, 2026
    Configuration menu
    Copy the full SHA
    c9b806b View commit details
    Browse the repository at this point in the history
  2. feat: support multiple parameters in WithQuery (#460)

    This PR adds support for multiple query parameters in the `WithQuery` method, enhancing the URI matching capabilities in Mockolate's web testing utilities. The previous implementation only supported pattern matching against the entire query string, while the new implementation allows precise matching of individual query parameters.
    
    ### Key Changes:
    - Introduced `HttpQueryParameterValue` class to represent query parameter values
    - Added multiple overloads of `WithQuery` to support single parameters, multiple parameters, and query strings
    - Reorganized tests into separate files per method for better organization
    vbreuss authored Feb 6, 2026
    Configuration menu
    Copy the full SHA
    9798852 View commit details
    Browse the repository at this point in the history
  3. feat: add parameter for HttpRequestMessage (#461)

    This PR adds support for matching `HttpRequestMessage` parameters in Mockolate’s web helpers, and wires up HttpClient mocking to allow `SendAsync` setups using the new request matcher.
    
    ### Key Changes:
    - Introduced `It.IsHttpRequestMessage(HttpMethod? method = null)` fluent parameter with URI/content/header sub-matchers.
    - Added `HttpClientExtensions.SendAsync(IParameter<HttpRequestMessage>)` setup helper targeting `HttpMessageHandler.SendAsync`.
    - Added/updated unit tests and API snapshot expectations for the new API surface.
    vbreuss authored Feb 6, 2026
    Configuration menu
    Copy the full SHA
    2ae9bf8 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2026

  1. feat!: add support for URL-encoded form data content (#462)

    This pull request refactors and simplifies the HTTP content parameter matching APIs in the `Mockolate.Web` namespace. It removes specialized interfaces and classes for string and binary content, consolidates their functionality into a more general `IHttpContentParameter` interface, and introduces support for form data content. The changes improve API consistency and extensibility for matching HTTP request content in tests.
    
    **API Refactoring and Simplification:**
    
    * Removed the specialized `IsBinaryContent` and `IsStringContent` extension methods, interfaces, and implementations, consolidating their functionality into the new, unified `IHttpContentParameter` interface. This includes removing `IBinaryContentParameter`, `IStringContentParameter`, and related code, and updating the API surface accordingly.
    
    * Updated the `IHttpRequestMessageParameter` interface and its implementation to remove `WhoseStringContentIs` and `WhoseBinaryContentIs` methods, replacing them with a more flexible `WhoseContentIs` method that optionally takes a media type and configuration action.
    
    **New Features:**
    
    * Added support for matching HTTP form data parameters by introducing the `HttpFormDataValue` class and related API methods, such as `WithFormData`, to the `IHttpContentParameter` interface.
    
    **Other Improvements:**
    
    * Improved string comparison in `HttpQueryParameterValue.Matches` to use `StringComparison.Ordinal` for consistency and correctness.
    * Minor code organization improvements, such as reordering fields in `HttpRequestMessageParameter` for clarity.
    
    **Test and Documentation Updates:**
    
    * Updated the expected API surface in `Mockolate_net10.0.txt` to reflect the new interface structure and removed/added methods and classes.
    
    These changes make the HTTP content matching API easier to use and extend, while reducing duplication and improving maintainability.
    vbreuss authored Feb 7, 2026
    Configuration menu
    Copy the full SHA
    1787c7e View commit details
    Browse the repository at this point in the history
  2. docs: add documentation for HTTP form data (#463)

    Updates HttpClient matching documentation to cover generic content matching, richer query matching, and adds form-data (URL-encoded) content matching guidance.
    
    ### Key Changes:
    - Replaced `It.IsStringContent(...)` examples with `It.IsHttpContent(...)` and new `WithString...` matchers.
    - Expanded `.WithQuery(...)` docs to include key/value pair matching and raw query string matching.
    - Added docs for URL-encoded form-data matching (`WithFormData(...)`) in HttpClient examples.
    vbreuss authored Feb 7, 2026
    Configuration menu
    Copy the full SHA
    ec1859d View commit details
    Browse the repository at this point in the history
  3. coverage: add missing HttpClient tests (#464)

    Adds missing test coverage around `HttpClient`/web matchers, especially for repeated matcher calls and additional edge cases.
    
    ## Key Changes:
    - Added new theory-based test cases for repeated `.WithQuery(...)` / `.WithHeaders(...)` usage and additional negative cases.
    - Added a monitoring test for `It.IsHttpRequestMessage().Monitor(...)` and a guard-rail test for `HttpClient` setup without a mockable handler.
    - Simplified query/form parsing by removing a redundant length check.
    vbreuss authored Feb 7, 2026
    Configuration menu
    Copy the full SHA
    bdaa629 View commit details
    Browse the repository at this point in the history
Loading