Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/add support and example messenger consumer using rust engine 380 #699

Commits on May 22, 2024

  1. Configuration menu
    Copy the full SHA
    31bd379 View commit details
    Browse the repository at this point in the history
  2. created MessagePact, cleaned up the verify method to use interaction …

    …iterator, other small tweaks
    valkolovos committed May 22, 2024
    Configuration menu
    Copy the full SHA
    c6dd880 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2891e4a View commit details
    Browse the repository at this point in the history
  4. lint cleanup

    valkolovos committed May 22, 2024
    Configuration menu
    Copy the full SHA
    76e9ff2 View commit details
    Browse the repository at this point in the history
  5. lint cleanup

    valkolovos committed May 22, 2024
    Configuration menu
    Copy the full SHA
    1e62a37 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d0daa48 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2024

  1. Configuration menu
    Copy the full SHA
    3d7dc66 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2024

  1. Configuration menu
    Copy the full SHA
    49f06ee View commit details
    Browse the repository at this point in the history

Commits on May 31, 2024

  1. cleaning up ffi.py

    valkolovos committed May 31, 2024
    Configuration menu
    Copy the full SHA
    2e460f7 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. PR changes

    valkolovos committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    1645640 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    deec315 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2024

  1. chore(examples): ensure docker compose is started

    Ensure that the Postgres image is fully up and running before launching
    the broker. This is unlikely to be an issue, but there's hardly any
    impact to adding this.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    9db0021 View commit details
    Browse the repository at this point in the history
  2. chore(examples): wait for servers to start

    In some circumstances, the test will try and connect to the
    FastAPI/Flask server before the server has had a chance to be fully
    initialised. As these are very lightweight servers, a simple second wait
    after the process is spawned should suffice.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    9aef6b4 View commit details
    Browse the repository at this point in the history
  3. docs(examples): explain the purpose for fs class

    As the examples are meant to be pedagogical, the docstrings have been
    expanded to explain _why_ there is a Filesystem class which only raises `NotImplementedError`.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    dbcfe80 View commit details
    Browse the repository at this point in the history
  4. chore(examples): remove redundant v3 in filename

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    713e59d View commit details
    Browse the repository at this point in the history
  5. fix(examples): typing annotations

    There were a few minor issues with the typing annotations:
    
    - `Callable` takes two arguments:
      1. A list of types for the arguments of the function
      2. A single type for the function's return
    - Prefer the use of the (more succinct) `|` instead of `Union[...]`
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    4070ecd View commit details
    Browse the repository at this point in the history
  6. chore(examples): silence deprecation warnings

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    cef8f21 View commit details
    Browse the repository at this point in the history
  7. refactor(v3): rename AsyncMessagePactResult to AsyncInteractionResult

    As the result is from a single asynchronous message interaction, it
    seemed like a more appropriate name. As part of the refactor, the
    declaration of the class has been moved and some minor refactoring took
    place too.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    0f76c5f View commit details
    Browse the repository at this point in the history
  8. refactor(v3): merge Pact classes

    From Pact V4, it is possible for a single Pact to mix different
    interaction types; that is, to combine sync/async messages, and HTTP
    interactions. As such, I think it is best to keep a single `Pact` class.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    57d1a07 View commit details
    Browse the repository at this point in the history
  9. chore(v3): remove _pact_handle as it is never used

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    7bfa7b8 View commit details
    Browse the repository at this point in the history
  10. docs(v3): add some clarity about interaction parts

    Especially in light of the addition of asynchronous messages which only have
    one part.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    07d413b View commit details
    Browse the repository at this point in the history
  11. docs(ffi): remove unnecessary safety message

    The safety concern is handled by the use of `OwnedString`.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    a972986 View commit details
    Browse the repository at this point in the history
  12. chore: use existing method

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    941f123 View commit details
    Browse the repository at this point in the history
  13. chore(v3): minor refactor of with_contents

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    7258455 View commit details
    Browse the repository at this point in the history
  14. chore(v3): remove public reify

    I doubt this will be useful to end-users.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    dd4af8a View commit details
    Browse the repository at this point in the history
  15. chore(v3): use with_metadata_v2

    also remove the deprecated `message_with_metadata` function from the FFI
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    8f0815d View commit details
    Browse the repository at this point in the history
  16. chore(v3): publicly export Pact and Verifier

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    f79a20d View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2024

  1. chore(ffi): minor type/style fixes

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 7, 2024
    Configuration menu
    Copy the full SHA
    9326a90 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. first pass at fixing tests

    valkolovos committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    f777d0c View commit details
    Browse the repository at this point in the history
  2. remove 'import pdb'

    valkolovos committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    ed26782 View commit details
    Browse the repository at this point in the history
  3. chore(ffi): remove message handle

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    4e13c37 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2024

  1. chore(v3): add with_metadata

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    1b14be1 View commit details
    Browse the repository at this point in the history
  2. style: use snake_case

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    73f82fc View commit details
    Browse the repository at this point in the history
  3. chore: remove with_content

    The functionality is covered by the existing `with_body`
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    980565b View commit details
    Browse the repository at this point in the history
  4. chore: remove interaction verify

    Interaction should be done at the Pact level, not at each Interaction.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    55b42ea View commit details
    Browse the repository at this point in the history
  5. feat(ffi): use the new with_metadata

    We prefer the use of `InteractionHandle` over `MessageHandle`. The
    functionality to add metadata has been added to the FFI, so this
    function can make use of this now.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    2d92f86 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2024

  1. chore(ffi): add enum type alias

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    e56f018 View commit details
    Browse the repository at this point in the history
  2. chore: implement ffi

    Large commit which implements quite a large number of FFI functions.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    aafeeda View commit details
    Browse the repository at this point in the history
  3. feat(v3): implement interactions iterator

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    466e107 View commit details
    Browse the repository at this point in the history
  4. chore(v3): remove messages iterator

    The `interactions` method provides the necessary functionality
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    ab3c02b View commit details
    Browse the repository at this point in the history
  5. feat(v3): add verify method for pact messages

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    5aaf1a7 View commit details
    Browse the repository at this point in the history
  6. chore(v3): remove get_provider_states

    The provider states don't make sense for pacts, as they are associated
    with the individual interactions, as opposed to the pact itself.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    d64abb0 View commit details
    Browse the repository at this point in the history
  7. fix(v3): various typing issues

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    7ab24c8 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. feat: optional freeing of memory

    Objects generated by the FFI may sometimes be owned by another object,
    in which case deleting them when they are out of scope in Python is
    invalid. The instantiators for these  classes have been adjusted to take
    an optional `owned` keyword argument. If `owned` is `True`, then the
    `__del__` function for the class will do nothing.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    ee99af7 View commit details
    Browse the repository at this point in the history
  2. chore(ffi): minor fixes and implementations

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    d1c0d1b View commit details
    Browse the repository at this point in the history
  3. fix(ffi): ensure parent outline dependent objects

    The use of `yield from` may sometimes result in the parent instance
    being dropped, which then invalidates the underlying iterator. Adding a
    final `return` statement (even if it does nothing) ensures that Python
    finishes the `yield from` statement first before the function is
    finished.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    5107a59 View commit details
    Browse the repository at this point in the history
  4. feat(ffi): add generate_contents methods

    The former `get_contents` FFI return the raw body of the interaction,
    including matching rules and generators, which aren't very useful when
    verifying a message consume. The new methods processes the payload,
    replacing the matching rules and generators with values as would be
    actually expected by the consumer.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    d118431 View commit details
    Browse the repository at this point in the history
  5. feat(v3): add with_generators

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    db2d343 View commit details
    Browse the repository at this point in the history
  6. chore(ffi): minor changes

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    aeb2e95 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. feat(v3): add new exception types

    The exceptions are to be returned during verification.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    dccb863 View commit details
    Browse the repository at this point in the history
  2. fix(v3): interactions iterator

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    c3ddcd5 View commit details
    Browse the repository at this point in the history
  3. chore(test): use named tuple more broadly

    The named tuple provides an improved experience for developers.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    6f0eff6 View commit details
    Browse the repository at this point in the history
  4. refactor(test): v3 message consumer

    With the other changes in the FFI and Pact Python library, a significant
    refactor of the tests was introduced. A few steps were combined, though
    by and large the functionality remains the same.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    cf6cfd7 View commit details
    Browse the repository at this point in the history
  5. refactor(examples): v3 message consumer

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    a9fa8f0 View commit details
    Browse the repository at this point in the history
  6. fix(v3): typing issues

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    67f5322 View commit details
    Browse the repository at this point in the history
  7. feat(ffi): upgrade ffi library to v0.4.21

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    654c904 View commit details
    Browse the repository at this point in the history
  8. ci: add wheel target

    Now that the FFI library supports Windows ARM, we can add it to the
    list. Also a minor update to make use of the ARM runners when building
    the macOS ARM wheel.
    
    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    999fb45 View commit details
    Browse the repository at this point in the history
  9. chore(v3): remove defunct test

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    aed2e09 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2024

  1. refactor(tests): minor drying message consumer tests

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    31b9ed4 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2024

  1. chore: ignore test outputs

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    dd14a47 View commit details
    Browse the repository at this point in the history
  2. docs: fix discovery

    Signed-off-by: JP-Ellis <[email protected]>
    JP-Ellis committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    9e210f6 View commit details
    Browse the repository at this point in the history