https://pact.io logo
Join Slack
Powered by
# pact-python
  • g

    GitHub

    04/03/2023, 7:24 AM
    #338 Remove hardcoded values from matchers and allow specifying example values Issue created by sergeyklay In comparison to other languages that let you specify the example value, pact-python currently has hardcoded values in all (or almost all) matchers. This issue needs to be addressed while preserving backward compatibility. Removing hardcoded values and allowing users to specify example values would enhance the flexibility and usability of the matchers. A solution should be implemented that maintains the existing functionality for those who rely on it, while introducing the option to provide custom example values where necessary. pact-foundation/pact-python
  • g

    GitHub

    04/03/2023, 8:05 AM
    #339 build: use a single Dockerfile, providing args for the Python version Pull request opened by mike-geeves-oxb Rather than needing to add a new Dockerfile for each Python version which is generally a copy/paste, use Docker ARGs to provide the information for a single build / via the build.sh helper. In the case of old versions such as 3.6, an additional ARG can be provided for the Alpine version. pact-foundation/pact-python ✅ All checks have passed 7/7 successful checks
    • 1
    • 1
  • m

    Mike Geeves

    04/03/2023, 8:07 AM
    Still getting the hang of multiple GitHub accounts 😄
    😆 1
  • g

    GitHub

    04/04/2023, 12:57 PM
    2 new commits pushed to
    <https://github.com/pact-foundation/pact-python/tree/master|master>
    by mikegeeves
    <https://github.com/pact-foundation/pact-python/commit/429e17116daa9bed752a4b3f31860857be56c3c1|429e1711>
    - build: use a single Dockerfile, providing args for the Python version instead of multiple files
    <https://github.com/pact-foundation/pact-python/commit/71a7397aa0d70a9bdb6cbd2c54567f17f7d809a4|71a7397a>
    - Merge pull request #339 from mikegeeves/single-dockerfile-with-args pact-foundation/pact-python
  • g

    GitHub

    04/06/2023, 2:22 PM
    #340 Addition of Support of Decimal Data type in MessagePact Pull request opened by gaurav-bhardwaj-ind Currently, if we provide any data type with type as
    Decimal
    it fails and gives an error as
    Unknown type: <class 'decimal.Decimal'>
    In this PR, Decimal support is added, since it is decimal so it gives error in JSON parsing. So,
    simplejson
    module is added for that. pact-foundation/pact-python ✅ All checks have passed 1/1 successful checks
  • o

    omri e

    04/13/2023, 1:23 PM
    @omri e has left the channel
  • g

    GitHub

    04/14/2023, 2:12 PM
    #341 Fix CORS parameter not doing anything Pull request opened by Lukas-dev-threads We found that pact ignores the CORS parameter of the
    Consumer.has_pact_with()
    function. If the CORS parameter is set to True
    --cors=*
    is appended to the list of commands for the external mock service. The mock service itself already supports this parameter. pact-foundation/pact-python ✅ All checks have passed 7/7 successful checks
    • 1
    • 2
  • c

    Chris Dillon

    04/18/2023, 10:58 PM
    I can't figure out how to use the pact context or data in the contract in pact-python when doing non-HTTP.
    Copy code
    pact.given({"name": "Test provider"}).with_content("foo")  # assume this usage is correct, I see JSON saved to pacts/ and it is correct
    
    # now, I want to use the value "foo"
    with pact:
      # invoke my function with foo but I need to get foo from the contract, I don't know how to do this
      do_foo(foo)
    
      # I might guess something like
      # - get the contract agreement between "Test consumer" and "Test provider" for "this scenario" and then get the content for that situation.
      # This is what I remember anyway.
    I debugged this with ipdb and other things for hours, looking at the objects within but I can't find anything interesting.
    y
    s
    • 3
    • 4
  • c

    Chris Dillon

    04/20/2023, 6:02 PM
    I think my issue and hangup is that this Ruby gem https://github.com/reevoo/pact-messages is doing a lot of nice convenience work to look up the data from the Provider/Producer side and then passing it to the test. Not only is this gem very old but there's no equivalent in python that I know of.
    Copy code
    # pseudo-ish ruby code for the provider contract test (e.g. provider_spec.rb)
    context "When an image recognition system is given a picture" do
      let(:contract_message) { Pact::Messages.get_message_sample("A Provider", "A Consumer", "Dog picture given") }
    
      it "sends a dog picture" do
        # sends "dog.jpg" (from the contract that was created by the consumer) and returns "dog"
        result = subject.analyze_image(contract_message)
    
        expect(result).to eq("dog")
      end
    end
    m
    • 2
    • 8
  • y

    Yousaf Nabi (pactflow.io)

    04/21/2023, 3:18 PM
    Hey hey, Got an arm64 machine? Might want to check this out https://github.com/pact-foundation/pact-python/pull/342 Testing would be most welcome
    🙌 1
  • l

    Lucas Vera

    04/25/2023, 12:06 AM
    Hi everyone! I’m Lucas, new to this channel. I’ve been trying to setup Contract Testing in a React based consumer with a Django REST Provider. I’ve been able to run the the test in the consumer following the pact-js docs but I wasn’t able to follow the pact-python guide to setup the checks in the provider. I was able to install pact locally and run the checks with the pact-verifier CLI. But I need to do add Auth to the requests so I wanted to add it as a middleware somewhere. Is there any guide on how to setup the tests locally in a Django based app?
    m
    • 2
    • 2
  • a

    Andrew Favaloro

    04/28/2023, 3:59 PM
    I’ve noticed a strange behavior, and I think it’s a bug in the python library, but wanted to check in here. It seems like after a test runs, and
    pact.verify()
    has been called, an interaction will stick around on the pact mock server, which can lead to some unexpected behaviors (🧵)
    m
    • 2
    • 8
  • g

    GitHub

    04/28/2023, 11:47 PM
    #319 feat: update standalone to 1.91.0 Pull request opened by bethesque pact-foundation/pact-python GitHub Actions: build (3.10) GitHub Actions: build (3.9) GitHub Actions: build (3.8) GitHub Actions: build (3.7) GitHub Actions: build (3.10) GitHub Actions: build (3.9) GitHub Actions: build (3.8) GitHub Actions: build (3.7) ✅ 1 other check has passed 1/9 successful checks
    • 1
    • 1
  • g

    GitHub

    04/28/2023, 11:48 PM
    #320 Remove support for x86 linux Pull request opened by mefellows Fixes failing build here: #319 See pact-foundation/pact-ruby-standalone#75 Travelling ruby has deprecated support for linux-x86 (x86_64 is still supported), so that's been removed from the created packages. This PR essentially drops support for linux x86. This probably ought to be a major version bump, but I'll leave that to the maintainer to decide. I suspect not many people use this architecture. pact-foundation/pact-python GitHub Actions: build (3.10) ✅ 8 other checks have passed 8/9 successful checks
    • 1
    • 1
  • g

    GitHub

    04/28/2023, 11:50 PM
    4 new commits pushed to
    <https://github.com/pact-foundation/pact-python/tree/master|master>
    by YOU54F
    <https://github.com/pact-foundation/pact-python/commit/9ce2d6949eff8f67c7842a8b05d20e9e7d0c4553|9ce2d694>
    - chore: Releasing version 1.7.0
    <https://github.com/pact-foundation/pact-python/commit/71f15298b2b0021f322ad1b6c43939d9e1268bac|71f15298>
    - chore: do not add merge commits to the change log
    <https://github.com/pact-foundation/pact-python/commit/e721d8156558cce117e67ff7527e4f624d6304c5|e721d815>
    - docs: reformat releasing documentation
    <https://github.com/pact-foundation/pact-python/commit/3a88e45443ddd9aaa79c33b0bde8307c3a71438a|3a88e454>
    - Merge pull request #327 from pact-foundation/docs/updateReleaseDocs pact-foundation/pact-python
  • g

    GitHub

    04/28/2023, 11:50 PM
    #327 docs: update the documentation for maintainers regarding the releasing Pull request opened by elliottmurray pact-foundation/pact-python ✅ All checks have passed 13/13 successful checks
    • 1
    • 1
  • g

    GitHub

    04/29/2023, 12:01 AM
    2 new commits pushed to
    <https://github.com/pact-foundation/pact-python/tree/master|master>
    by YOU54F
    <https://github.com/pact-foundation/pact-python/commit/49197724000b3caf650272537ec987be1cdcec70|49197724>
    - feat: add matchers for ISO 8601 date format
    <https://github.com/pact-foundation/pact-python/commit/e037772e4d3e3d1b1179af5ad1c06ab772d647ac|e037772e>
    - Merge pull request #333 from sergeyklay/feature/iso-dates pact-foundation/pact-python
  • g

    GitHub

    04/29/2023, 12:01 AM
    #333 feat: add matchers for ISO 8601 date format Pull request opened by sergeyklay This introduces
    pact.Format.iso_8601_datetime()
    method to match a string for a full ISO 8601 Date. This method does not do any sort of date validation, only checks if the string is according to the ISO 8601 spec. It differs from
    pact.Format.timestamp
    ,
    pact.Format.date
    and
    pact.Format.time
    implementations in that it is more stringent and tests the string for exact match to the ISO 8601 dates format. Without
    with_ms
    parameter will match string containing ISO 8601 formatted dates as stated bellow: • 2016-12-15T201601 • 2010-05-01T011431.876 • 2016-05-24T155414.00000Z • 1994-11-05T081530-05:00 • 2002-01-31T230000.1234-02:00 • 1991-02-20T063526.079043+00:00 Otherwise, ONLY dates with milliseconds will match the pattern: • 2010-05-01T011431.876 • 2016-05-24T155414.00000Z • 2002-01-31T230000.1234-02:00 • 1991-02-20T063526.079043+00:00 This change aims to bring the capabilities of the python library into alignment with pact-foundation/docs.pact.io#88, since the existing functionality is a bit liberal and allows tests to pass even in cases where the dates do not conform to the ISO 8601 spec. pact-foundation/pact-python GitHub Actions: build (3.10) GitHub Actions: build (3.7) ✅ 3 other checks have passed 3/5 successful checks
    • 1
    • 1
  • g

    GitHub

    04/29/2023, 12:07 AM
    #258 [Snyk] Security upgrade urllib3 from 1.25.11 to 1.26.5 Pull request opened by snyk-bot Snyk has created this PR to fix one or more vulnerable packages in the
    pip
    dependencies of this project.
    Changes included in this PR • Changes to the following files to upgrade the vulnerable dependencies to a fixed version: • examples/e2e/requirements.txt ⚠️ Warning
    Copy code
    requests 2.23.0 has requirement urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1, but you have urllib3 1.26.6.
    Vulnerabilities that will be fixed By pinning: (*) Note that the real score may have changed since the PR was raised. Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the effected dependencies could be upgraded. Check the changes in this PR to ensure they won't cause issues with your project. * * * Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs. For more information: https://camo.githubusercontent.com/5ad490ca1aef6232e1b043d54b021ffc37625d1d32e9f452036e829cce2d255b/68747470733a2f2f6170692e7365676d656e742e696f2f76312f706978656c2f747261636b3f646174613d65794a33636d6c305a55746c65534936496e4a79576d785a634564485932527954485a7362306c596430645563566734576b4652546e4e434f5545774969776959573576626e6c746233567a535751694f694a6c5a574e685954426b5a69316c5a4749354c54526d4e54517459574d784e69316d4d6d5a694f5445314d5759334e5441694c434a6c646d567564434936496c425349485a705a58646c5a434973496e42796233426c636e52705a584d694f6e736963484a4a5a434936496d566c593246684d47526d4c57566b596a6b744e4759314e433168597a45324c5759795a6d49354d5455785a6a63314d434a3966513d3d 🧐 View latest project report 🛠️ Adjust project settings 📚 Read more about Snyk's upgrade and patch logic pact-foundation/pact-python ✅ All checks have passed 9/9 successful checks
    • 1
    • 1
  • g

    GitHub

    04/29/2023, 12:24 AM
    2 new commits pushed to
    <https://github.com/pact-foundation/pact-python/tree/master|master>
    by YOU54F
    <https://github.com/pact-foundation/pact-python/commit/19be499b910a143a67b74a253b3ec5b271390c51|19be499b>
    - fix: fix cors parameter not doing anything
    <https://github.com/pact-foundation/pact-python/commit/69443302dbbc8da4a6213fea8598f28899ddd7fc|69443302>
    - Merge pull request #341 from dev-threads/fix-cors pact-foundation/pact-python
  • g

    GitHub

    04/29/2023, 12:54 AM
    #342 Feat: ARM64 Support for OSX / Linux + Windows 32 bit support Pull request opened by YOU54F Changes to traveling ruby to support additional platforms Details of changes made to travelling ruby PR's to Travelling ruby to update the supported archs • phusion/traveling-ruby#132 • phusion/traveling-ruby#133 Which means we can now support Details of changes made to pact-ruby-standalone • pact-foundation/pact-ruby-standalone#100 • https://github.com/pact-foundation/pact-ruby-standalone/releases/tag/v2.0.0 Details of changes made to pact-python These have been consumed in the pact-python project, and tested cross platform In order to test ARM64 on MacOS, and Linux, I have utilised cirrus-ci, which is free for open-source usage (within reasonable limits)

    gh▾

    cirrus▾

    pact-foundation/pact-python ✅ All checks have passed 26/26 successful checks
    • 1
    • 2
  • g

    GitHub

    05/01/2023, 11:37 PM
    #343 chore(deps): bump flask from 2.2.2 to 2.3.2 in /examples/message Pull request opened by dependabot[bot] Bumps flask from 2.2.2 to 2.3.2. Release notes Sourced from flask's releases.
    2.3.2
    This is a security fix release for the 2.3.x release branch.
    • Security advisory: GHSA-m2qf-hxjv-5gpq, CVE-2023-30861
    • Changes: https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-2
    • Milestone: https://github.com/pallets/flask/milestone/29?closed=1
    2.3.1
    This is a fix release for the 2.3.x release branch.
    • Changes: https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-1
    • Milestone: https://github.com/pallets/flask/milestone/28?closed=1
    2.3.0
    This is a feature release, which includes new features, removes previously deprecated code, and adds new deprecations. The 2.3.x branch is now the supported fix branch, the 2.2.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.
    • Changes: https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-0
    • Milestone: https://github.com/pallets/flask/milestone/24?closed=1
    2.2.4
    This is a fix release for the 2.2.x release branch.
    • Changes: https://flask.palletsprojects.com/en/2.2.x/changes/#version-2-2-4
    • Milestone: https://github.com/pallets/flask/milestone/27?closed=1
    2.2.3
    This is a fix release for the 2.2.x release branch.
    • Changes: https://flask.palletsprojects.com/en/2.2.x/changes/#version-2-2-3
    • Milestone: https://github.com/pallets/flask/milestone/26?closed=1
    Changelog Sourced from flask's changelog.
    Version 2.3.2
    Released 2023-05-01
    • Set
    Vary: Cookie
    header when the session is accessed, modified, or refreshed.
    • Update Werkzeug requirement to >=2.3.3 to apply recent bug fixes.
    Version 2.3.1
    Released 2023-04-25
    • Restore deprecated
    from flask import Markup
    . issue`5084`
    Version 2.3.0
    Released 2023-04-25
    • Drop support for Python 3.7. pr`5072`
    • Update minimum requirements to the latest versions: Werkzeug>=2.3.0, Jinja2>3.1.2, itsdangerous>=2.1.2, click>=8.1.3.
    • Remove previously deprecated code. pr`4995`
    • The
    push
    and
    pop
    methods of the deprecated
    _app_ctx_stack
    and
    _request_ctx_stack
    objects are removed.
    top
    still exists to give extensions more time to update, but it will be removed.
    • The
    FLASK_ENV
    environment variable,
    ENV
    config key, and
    app.env
    property are removed.
    • The
    session_cookie_name
    ,
    send_file_max_age_default
    ,
    use_x_sendfile
    ,
    propagate_exceptions
    , and
    templates_auto_reload
    properties on
    app
    are removed.
    • The
    JSON_AS_ASCII
    ,
    JSON_SORT_KEYS
    ,
    JSONIFY_MIMETYPE
    , and
    JSONIFY_PRETTYPRINT_REGULAR
    config keys are removed.
    • The
    app.before_first_request
    and
    bp.before_app_first_request
    decorators are removed.
    •
    json_encoder
    and
    json_decoder
    attributes on app and blueprint, and the corresponding
    json.JSONEncoder
    and
    JSONDecoder
    classes, are removed.
    • The
    json.htmlsafe_dumps
    and
    htmlsafe_dump
    functions are removed.
    • Calling setup methods on blueprints after registration is an error instead of a warning. pr`4997`
    • Importing
    escape
    and
    Markup
    from
    flask
    is deprecated. Import them directly from
    markupsafe
    instead. pr`4996`
    • The
    app.got_first_request
    property is deprecated. pr`4997`
    • The
    locked_cached_property
    decorator is deprecated. Use a lock inside the decorated function if locking is needed. issue`4993`
    ... (truncated) Commits • `f3b8f57` release version 2.3.2 • `c990bba` update min test env • `adedb2a` Merge pull request #5101 from pallets/update-werkzeug • `e1aedec` update werkzeug • `37badc3` update changelog • `70f906c` Merge pull request from GHSA-m2qf-hxjv-5gpq • `8705dd3` set
    Vary: Cookie
    header consistently for session • `9532cba` fix mypy finding • `0bc7356` start version 2.3.2 • `f07fb2b` Merge pull request #5086 from pallets/release-2.3.1 • Additional commits viewable in compare view Dependabot compatibility score Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
    @dependabot rebase
    . * * * Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: •
    @dependabot rebase
    will rebase this PR •
    @dependabot recreate
    will recreate this PR, overwriting any edits that have been made to it •
    @dependabot merge
    will merge this PR after your CI passes on it •
    @dependabot squash and merge
    will squash and merge this PR after your CI passes on it •
    @dependabot cancel merge
    will cancel a previously requested merge and block automerging •
    @dependabot reopen
    will reopen this PR if it is closed •
    @dependabot close
    will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually •
    @dependabot ignore this major version
    will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) •
    @dependabot ignore this minor version
    will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) •
    @dependabot ignore this dependency
    will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the <https://github.com/pact-foundation/pact-pyt… pact-foundation/pact-python GitHub Actions: Python 3.11 on ubuntu-latest GitHub Actions: Python 3.9 on ubuntu-latest GitHub Actions: Python 3.10 on ubuntu-latest ✅ 10 other checks have passed 10/13 successful checks
    • 1
    • 1
  • g

    GitHub

    05/01/2023, 11:37 PM
    #344 chore(deps): bump flask from 2.2.2 to 2.3.2 in /examples/flask_provider Pull request opened by dependabot[bot] Bumps flask from 2.2.2 to 2.3.2. Release notes Sourced from flask's releases.
    2.3.2
    This is a security fix release for the 2.3.x release branch.
    • Security advisory: GHSA-m2qf-hxjv-5gpq, CVE-2023-30861
    • Changes: https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-2
    • Milestone: https://github.com/pallets/flask/milestone/29?closed=1
    2.3.1
    This is a fix release for the 2.3.x release branch.
    • Changes: https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-1
    • Milestone: https://github.com/pallets/flask/milestone/28?closed=1
    2.3.0
    This is a feature release, which includes new features, removes previously deprecated code, and adds new deprecations. The 2.3.x branch is now the supported fix branch, the 2.2.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.
    • Changes: https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-0
    • Milestone: https://github.com/pallets/flask/milestone/24?closed=1
    2.2.4
    This is a fix release for the 2.2.x release branch.
    • Changes: https://flask.palletsprojects.com/en/2.2.x/changes/#version-2-2-4
    • Milestone: https://github.com/pallets/flask/milestone/27?closed=1
    2.2.3
    This is a fix release for the 2.2.x release branch.
    • Changes: https://flask.palletsprojects.com/en/2.2.x/changes/#version-2-2-3
    • Milestone: https://github.com/pallets/flask/milestone/26?closed=1
    Changelog Sourced from flask's changelog.
    Version 2.3.2
    Released 2023-05-01
    • Set
    Vary: Cookie
    header when the session is accessed, modified, or refreshed.
    • Update Werkzeug requirement to >=2.3.3 to apply recent bug fixes.
    Version 2.3.1
    Released 2023-04-25
    • Restore deprecated
    from flask import Markup
    . issue`5084`
    Version 2.3.0
    Released 2023-04-25
    • Drop support for Python 3.7. pr`5072`
    • Update minimum requirements to the latest versions: Werkzeug>=2.3.0, Jinja2>3.1.2, itsdangerous>=2.1.2, click>=8.1.3.
    • Remove previously deprecated code. pr`4995`
    • The
    push
    and
    pop
    methods of the deprecated
    _app_ctx_stack
    and
    _request_ctx_stack
    objects are removed.
    top
    still exists to give extensions more time to update, but it will be removed.
    • The
    FLASK_ENV
    environment variable,
    ENV
    config key, and
    app.env
    property are removed.
    • The
    session_cookie_name
    ,
    send_file_max_age_default
    ,
    use_x_sendfile
    ,
    propagate_exceptions
    , and
    templates_auto_reload
    properties on
    app
    are removed.
    • The
    JSON_AS_ASCII
    ,
    JSON_SORT_KEYS
    ,
    JSONIFY_MIMETYPE
    , and
    JSONIFY_PRETTYPRINT_REGULAR
    config keys are removed.
    • The
    app.before_first_request
    and
    bp.before_app_first_request
    decorators are removed.
    •
    json_encoder
    and
    json_decoder
    attributes on app and blueprint, and the corresponding
    json.JSONEncoder
    and
    JSONDecoder
    classes, are removed.
    • The
    json.htmlsafe_dumps
    and
    htmlsafe_dump
    functions are removed.
    • Calling setup methods on blueprints after registration is an error instead of a warning. pr`4997`
    • Importing
    escape
    and
    Markup
    from
    flask
    is deprecated. Import them directly from
    markupsafe
    instead. pr`4996`
    • The
    app.got_first_request
    property is deprecated. pr`4997`
    • The
    locked_cached_property
    decorator is deprecated. Use a lock inside the decorated function if locking is needed. issue`4993`
    ... (truncated) Commits • `f3b8f57` release version 2.3.2 • `c990bba` update min test env • `adedb2a` Merge pull request #5101 from pallets/update-werkzeug • `e1aedec` update werkzeug • `37badc3` update changelog • `70f906c` Merge pull request from GHSA-m2qf-hxjv-5gpq • `8705dd3` set
    Vary: Cookie
    header consistently for session • `9532cba` fix mypy finding • `0bc7356` start version 2.3.2 • `f07fb2b` Merge pull request #5086 from pallets/release-2.3.1 • Additional commits viewable in compare view Dependabot compatibility score Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
    @dependabot rebase
    . * * * Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: •
    @dependabot rebase
    will rebase this PR •
    @dependabot recreate
    will recreate this PR, overwriting any edits that have been made to it •
    @dependabot merge
    will merge this PR after your CI passes on it •
    @dependabot squash and merge
    will squash and merge this PR after your CI passes on it •
    @dependabot cancel merge
    will cancel a previously requested merge and block automerging •
    @dependabot reopen
    will reopen this PR if it is closed •
    @dependabot close
    will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually •
    @dependabot ignore this major version
    will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) •
    @dependabot ignore this minor version
    will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) •
    @dependabot ignore this dependency
    will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the <https://github.com/pact-foundation/pact-pyt… pact-foundation/pact-python GitHub Actions: Python 3.6 on ubuntu-20.04 GitHub Actions: Python 3.7 on ubuntu-latest ✅ 11 other checks have passed 11/13 successful checks
    • 1
    • 1
  • g

    GitHub

    05/01/2023, 11:37 PM
    #345 chore(deps-dev): bump flask from 2.2.2 to 2.3.2 Pull request opened by dependabot[bot] Bumps flask from 2.2.2 to 2.3.2. Release notes Sourced from flask's releases.
    2.3.2
    This is a security fix release for the 2.3.x release branch.
    • Security advisory: GHSA-m2qf-hxjv-5gpq, CVE-2023-30861
    • Changes: https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-2
    • Milestone: https://github.com/pallets/flask/milestone/29?closed=1
    2.3.1
    This is a fix release for the 2.3.x release branch.
    • Changes: https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-1
    • Milestone: https://github.com/pallets/flask/milestone/28?closed=1
    2.3.0
    This is a feature release, which includes new features, removes previously deprecated code, and adds new deprecations. The 2.3.x branch is now the supported fix branch, the 2.2.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades. Test with warnings treated as errors to be able to adapt to deprecation warnings early.
    • Changes: https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-3-0
    • Milestone: https://github.com/pallets/flask/milestone/24?closed=1
    2.2.4
    This is a fix release for the 2.2.x release branch.
    • Changes: https://flask.palletsprojects.com/en/2.2.x/changes/#version-2-2-4
    • Milestone: https://github.com/pallets/flask/milestone/27?closed=1
    2.2.3
    This is a fix release for the 2.2.x release branch.
    • Changes: https://flask.palletsprojects.com/en/2.2.x/changes/#version-2-2-3
    • Milestone: https://github.com/pallets/flask/milestone/26?closed=1
    Changelog Sourced from flask's changelog.
    Version 2.3.2
    Released 2023-05-01
    • Set
    Vary: Cookie
    header when the session is accessed, modified, or refreshed.
    • Update Werkzeug requirement to >=2.3.3 to apply recent bug fixes.
    Version 2.3.1
    Released 2023-04-25
    • Restore deprecated
    from flask import Markup
    . issue`5084`
    Version 2.3.0
    Released 2023-04-25
    • Drop support for Python 3.7. pr`5072`
    • Update minimum requirements to the latest versions: Werkzeug>=2.3.0, Jinja2>3.1.2, itsdangerous>=2.1.2, click>=8.1.3.
    • Remove previously deprecated code. pr`4995`
    • The
    push
    and
    pop
    methods of the deprecated
    _app_ctx_stack
    and
    _request_ctx_stack
    objects are removed.
    top
    still exists to give extensions more time to update, but it will be removed.
    • The
    FLASK_ENV
    environment variable,
    ENV
    config key, and
    app.env
    property are removed.
    • The
    session_cookie_name
    ,
    send_file_max_age_default
    ,
    use_x_sendfile
    ,
    propagate_exceptions
    , and
    templates_auto_reload
    properties on
    app
    are removed.
    • The
    JSON_AS_ASCII
    ,
    JSON_SORT_KEYS
    ,
    JSONIFY_MIMETYPE
    , and
    JSONIFY_PRETTYPRINT_REGULAR
    config keys are removed.
    • The
    app.before_first_request
    and
    bp.before_app_first_request
    decorators are removed.
    •
    json_encoder
    and
    json_decoder
    attributes on app and blueprint, and the corresponding
    json.JSONEncoder
    and
    JSONDecoder
    classes, are removed.
    • The
    json.htmlsafe_dumps
    and
    htmlsafe_dump
    functions are removed.
    • Calling setup methods on blueprints after registration is an error instead of a warning. pr`4997`
    • Importing
    escape
    and
    Markup
    from
    flask
    is deprecated. Import them directly from
    markupsafe
    instead. pr`4996`
    • The
    app.got_first_request
    property is deprecated. pr`4997`
    • The
    locked_cached_property
    decorator is deprecated. Use a lock inside the decorated function if locking is needed. issue`4993`
    ... (truncated) Commits • `f3b8f57` release version 2.3.2 • `c990bba` update min test env • `adedb2a` Merge pull request #5101 from pallets/update-werkzeug • `e1aedec` update werkzeug • `37badc3` update changelog • `70f906c` Merge pull request from GHSA-m2qf-hxjv-5gpq • `8705dd3` set
    Vary: Cookie
    header consistently for session • `9532cba` fix mypy finding • `0bc7356` start version 2.3.2 • `f07fb2b` Merge pull request #5086 from pallets/release-2.3.1 • Additional commits viewable in compare view Dependabot compatibility score Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
    @dependabot rebase
    . * * * Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: •
    @dependabot rebase
    will rebase this PR •
    @dependabot recreate
    will recreate this PR, overwriting any edits that have been made to it •
    @dependabot merge
    will merge this PR after your CI passes on it •
    @dependabot squash and merge
    will squash and merge this PR after your CI passes on it •
    @dependabot cancel merge
    will cancel a previously requested merge and block automerging •
    @dependabot reopen
    will reopen this PR if it is closed •
    @dependabot close
    will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually •
    @dependabot ignore this major version
    will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) •
    @dependabot ignore this minor version
    will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) •
    @dependabot ignore this dependency
    will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the <https://github.com/pact-foundation/pact-pyt… pact-foundation/pact-python GitHub Actions: Python 3.7 on ubuntu-latest GitHub Actions: Python 3.7 on ubuntu-latest ✅ 11 other checks have passed 11/13 successful checks
    • 1
    • 1
  • a

    Alfred Brose

    05/03/2023, 8:37 AM
    Hello all! I'm a total beginner in the area of contract based testing. In my current project our teams are developing a microservices system for AI based marketing tools. We are exclusively on AWS and our microservices are mainly AWS Lambda Functions. Due to some constraints in the past we don't use API Gateways for the "internal" service-to-service communication. Most communication is message based - Event Bridge and SQS, but in some cases we're doing direct calls via lambda invocation using boto3 (we're using python for all our lambda services). So, for example service A needs to call an endpoint in service B, so service A invokes the right lambda function (by name) from the service B which represents/handles this endpoint. I'm trying to wrap my head around how to test service A (consumer) and service B (Provider) using pact. The recipes page https://docs.pact.io/recipes/lambdahttp which should cover this topic is empty and I couldn't find anything related on the internet. How do I tackle this? I know that the best practice approach would be to "hide" the lambdas behind a Rest Endpoint (Api GW or VPC Lattice) but we're not there yet. Alfred
    y
    • 2
    • 4
  • g

    GitHub

    05/03/2023, 4:53 PM
    5 new commits pushed to
    <https://github.com/pact-foundation/pact-python/tree/master|master>
    by sergeyklay
    <https://github.com/pact-foundation/pact-python/commit/93db8ae71657d5967f146b3d37294d76ff69bc0e|93db8ae7>
    - feat: support arm64 osx/linux
    <https://github.com/pact-foundation/pact-python/commit/28440da2e1f6598b3d61a08c41f8382cf4bf4bf9|28440da2>
    - ci: test arm64 on cirrus-ci / test win/osx on gh
    <https://github.com/pact-foundation/pact-python/commit/7aff538177d028e685e5b4d48a650ae1dad3fb3a|7aff5381>
    - feat: support x86 and x86_64 windows
    <https://github.com/pact-foundation/pact-python/commit/2c673ea8e8d8a5ff67f38c4790fefce9dbdb28ac|2c673ea8>
    - ci: skip 3.6 python arm64 failing in cirrus, passing locally with cirrus run
    <https://github.com/pact-foundation/pact-python/commit/4e3ca3858b8343a5057de506f19a4f3284bb8bd4|4e3ca385>
    - feat: use pact-ruby-standalone 2.0.0 release pact-foundation/pact-python
    y
    • 2
    • 1
  • g

    GitHub

    05/03/2023, 5:05 PM
    #82 Execution hangs with error - 'C:\Program Files (x86)\Python36-32\Lib\site-packages\pact\bin\pact\lib\ruby\bin..\bin.real\ruby.exe: No such file or directory -- Files (LoadError)' Issue created by asbhat1069 I am new to pact and am trying to run the pact tests in python , but get this error every time 'C:\Program Files (x86)\Python36-32\Lib\site-packages\pact\bin\pact\lib\ruby\bin..\bin.real\ruby.exe: No such file or directory -- Files (LoadError)' and the execution hangs there ? i see that the file exists in the path . How do i run the tests ? i run from the terminal using 'python -m unittest python-filename' python version - 3.6.1 os - win 8 pact-foundation/pact-python
    • 1
    • 1
  • g

    GitHub

    05/03/2023, 5:07 PM
    #84 Setup Issue created by uv48uson Im currently trying to get some very simple python pact examples running. I tried a bunch of projects. But either they were to unspecific or just didnt work for me.. python pact testing example seamed to be the most simple one. So i tried it. Unfortunately im not even getting this one to run. What it did: downloaded the project followed the description and did the install & execution Im getting the folling error
    Copy code
    invoke test_consumer
    ============================= test session starts ==============================
    platform linux2 -- Python 2.7.12, pytest-3.5.0, py-1.5.3, pluggy-0.6.0
    rootdir: /home/ubuntu/python-pact-testing-example, inifile:
    collected 0 items / 1 errors
    
    ==================================== ERRORS ====================================
    ______________________ ERROR collecting test_consumer.py _______________________
    test_consumer.py:11: in <module>
        pact.start_service()
    /usr/local/lib/python2.7/dist-packages/pact/pact.py:161: in start_service
        self._process = Popen(command)
    /usr/lib/python2.7/subprocess.py:711: in __init__
        errread, errwrite)
    /usr/lib/python2.7/subprocess.py:1343: in _execute_child
        raise child_exception
    E   OSError: [Errno 2] No such file or directory
    !!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!
    =========================== 1 error in 0.28 seconds ============================
    Now i have a couple of questions: General pact paython question; project independent: Do i have to install and run the pact mock service independently or should this be done automatically? Is there a detailed guideline or an simple to run example (complete) available? I pact python mature enough? Just for simple and demostrative issues? Project specific: Why does the example fail? Do i need any additional packages? pact-foundation/pact-python
    • 1
    • 1
  • g

    GitHub

    05/03/2023, 5:09 PM
    #101 what is the plan to support messaging API? Issue created by singlaive pact Java and a few other clients support messaging style of API already. Any road map for Python? pact-foundation/pact-python
    • 1
    • 1
  • g

    GitHub

    05/03/2023, 5:12 PM
    #157 Documentation: No mention or examples about events messaging support Issue created by vicusbass Does
    pact-python
    support event-driven architecture? e.g. Kafka If so, documentation/examples/tests would be greatly appreciated. pact-foundation/pact-python
    • 1
    • 1
1234567Latest