https://pact.io logo
Join Slack
Powered by
# pactflow
  • s

    sasank kumar

    12/25/2022, 2:49 AM
    Merry Christmas
  • t

    Timothy Jones

    12/28/2022, 11:07 PM
    Is there documentation on how verification failure details are sent to the pact broker? I tried the HAL browser on my hosted pactflow instance, but couldn’t find any extra details inside publish verification results (also, it would be great if all that documentation were available without the HAL browser - it took me about 30 minutes of mucking about to find a resource that had publish verification results as an option)
    m
    b
    • 3
    • 37
  • s

    sasank kumar

    12/30/2022, 1:47 AM
    Hi Matt
  • s

    sasank kumar

    12/30/2022, 1:48 AM
    Could you please clarify the error like why it is displaying should not have additional properties instead of mismatch in properties
    m
    • 2
    • 1
  • n

    NewtoPact

    12/30/2022, 8:22 PM
    Is there a way to view the contract as JSON with the latest UI changes? i.e Pactflow Version: 1.21.1 I do not see this option any more
    m
    • 2
    • 1
  • п

    Поликарп Газов

    01/04/2023, 2:15 PM
    Hi all, I have a problem with pact can_i_deploy feature. When I’m clicking the second link(failure) broker is showing: contacts are compatible… Could you explain the reason please, why verification results are called two times?
    t
    y
    m
    • 4
    • 9
  • a

    Andrew Favaloro

    01/05/2023, 7:04 PM
    I have a question about the Matrix Filters on pactflow.io - are the consumer and provider sides flipped? When I search for a consumer branch, I get matching results in the provider side instead of the consumer side
    👋 1
    👀 1
    i
    y
    • 3
    • 8
  • v

    Viktoriia Vlasiuk

    01/09/2023, 9:11 AM
    Hello. I've got a question regarding can-i-deploy step. I'm using it 2 times in my CI/CD workflows. One - when I verify whether I can merge the code, in this case I verify pact against provider's master branch, the other one - when I verify whether I can deploy the code, in this case I verify pact against provider's env. So my script looks this way:
    Copy code
    #!/usr/bin/env bash
    
    echo "running can-I-deploy with the following params""
    PACT_BROKER_BASE_URL: $PACT_BROKER_BASE_URL
    PACT_BROKER_TOKEN: $PACT_BROKER_TOKEN
    consumer: $consumer
    version: $version
    provider: $provider
    to_environment: $to_environment
    """
    
    if [ -z "$version" ]; then
      echo "ERROR: version cannot be empty to run can-i-deploy verification"
      exit 1
    fi
    
    command=
    if [ -z "$to_environment" ]; then
      command="--pacticipant $provider --branch master"
    else
      command="--provider $provider --to-environment $to_environment"
    fi
    echo "command = $command "
    docker run --rm \
      -w "${PWD}" \
      -v "${PWD}":"${PWD}" \
      -e PACT_BROKER_BASE_URL="$PACT_BROKER_BASE_URL" \
      -e PACT_BROKER_TOKEN="$PACT_BROKER_TOKEN" \
      pactfoundation/pact-cli:0.50.0.32 \
      broker can-i-deploy \
      --pacticipant "$consumer" \
      --version "$version" \
      $command
    I've found that if I want to use
    --branch master
    in my command I need to use
    --pacticipant
    , if I want to use
    --to-environment
    I need to use
    --provider
    otherwise it returns an error...Am I missing something here? If not...why cannot it be the same (provider or pacticipant) in both cases?
    m
    • 2
    • 9
  • k

    Klaudijus Rulys

    01/09/2023, 1:35 PM
    Hello blob wave Is there anyone that could help reset the pact broker user passwords in our hosted broker? I think we're using an old version of the broker, so have not found a way to do it myself 🙂
    m
    • 2
    • 1
  • j

    Jacob Rede

    01/11/2023, 6:23 PM
    Hi Team, Im a QE thats started implementing Pactflow with the pact-cypress-adapter However we’re running into issues with oneOf, allOf, ect… Pactflow expects the response to look like this:
    Copy code
    "response": {
            "status": 200,
            "headers": {
              "content-type": "application/json",
              "access-control-allow-origin": "<http://exampleapi.com|exampleapi.com>"
            },
            "oneOf": {
              "body": {
                "id": "string",
                "email": "string",
                "group": "string",
                "isOnboarded": true,
                "organizationId": 0,
                "createdAt": "string",
                "updatedAt": "string",
                "contactType": "string",
                "devices": ["string"],
                "notificationPreferences": { "email": true, "sms": true },
                "phone": "string",
                "isDeactivated": true,
                "deactivatedAt": "string",
                "entityName": "string"
              }
            }
          }
    However its impossible to create a response like this with cypress. Cypress’s intercept can only return a body, not a oneOf. How can we resolve this?
    m
    c
    e
    • 4
    • 25
  • h

    Hazem Borham

    01/12/2023, 11:09 PM
    curious as to how this failed pact verification occurs, any ideas? details to follow within thread:
    m
    y
    • 3
    • 15
  • j

    Jacob Buckley

    01/13/2023, 8:09 PM
    Hello, I'm sifting through the pactflow documentation in an effort to publish some provider contracts which should be defined by OAS. I'm failing to fully understand how to use the
    verifier
    and related cli flags. I've run through the killercoda Bi-Directional Contract Testing workshop, and understand how dredd is being used, but how would one provide the same information to the tool when their generating their code from the spec (option 1 workflow from step 3)? TLDR; 1. Is there a more detailed description for what the
    --verifier
    (and related) flags do in the
    pactflow publish-provider-contract
    command? 2. How should this be used when code is being generated from the spec instead of the spec being written afterward?
    m
    • 2
    • 5
  • z

    Zeus

    01/16/2023, 7:22 AM
    Hi, I’ve got a question about pactflow Pricing & Plans. What does it mean by 10 users vs 25 users? Can’t all the teams use the same user account - is that not advisable and what are the limitations? Also, trial version says that it supports unlimited users and 5 integrations? Does that mean 5 pairs of provider-consumer services?
    👋 1
    m
    • 2
    • 1
  • l

    Leon Luu

    01/17/2023, 7:27 AM
    Hello! When I "Delete all pacts" it delete all pacts but once I publish a new contract again, I could see old pacts immediately. This doesn't seems correct as they are suppose to be deleted. Can you confirm this?
    b
    m
    b
    • 4
    • 22
  • e

    Eugene Malihins

    01/18/2023, 10:53 AM
    Hello! I'm testing Pactflow bi-directional contract testing. I published Provider contract (OAS), and produced a Consumer contract via msw adapter, and have it published too. I need some help with understanding verification status. I verified that contracts are compatible with
    swagger-mock-validator
    locally, and UI says
    Contract Comparison Status Compatible
    , but overall status is
    Unknown
    and matrix says
    verification failed
    ?
    can-i-deploy
    says no too
    m
    s
    • 3
    • 8
  • a

    Alicia (pactflow.io)

    01/18/2023, 2:06 PM
    Unveiling the SwaggerHub and PactFlow integration 🆕 You’ve seen it on the PactFlow roadmap and now we are excited to bring you the news of our first major release for 2023 – PactFlow’s integration with SwaggerHub, the single source of truth for API development. API designers and developers can now get instance confirmation that their API specification is compatible with consumers as they write, or make changes to, an OAS directly in the SwaggerHub Editor. Using a design-first API contract testing practice, in the click of a button, see how the consumers of an API will respond to changes and whether it result in a break or not. And for new APIs, gate a consumer from deploying to production until they are compatible with the API specification. The integration is built on PactFlow’s bi-directional contract testing feature suited to organisations following a design-first approach to API development. Design-first API contract testing significantly increases the visibility of how APIs are being consumed allowing teams to catch breaking changes during design, prevent drift and reduce their time to market. Do you follow an API design-first approach? Take a look at the docs to see how you can get started with the integration. Learn more about design-first API contract testing Read the blog or join one of our upcoming webinars to learn about the value of design-first API contract testing and see a live demo of the integration in action – from getting started to using the compatibility check.
    👀 1
    🚀 4
    d
    • 2
    • 1
  • s

    sasank kumar

    01/19/2023, 7:33 AM
    Packflow works for private repositories? I MEAN GITHUB ACTIONS
    m
    • 2
    • 3
  • j

    John McNeil

    01/19/2023, 11:26 PM
    Hi! I successfully worked my way through this tutorial (thanks for writing it!): https://docs.pactflow.io/docs/workshops/bi-directional/step1 I am using the dredd provider and mountebank consumer. I got everything working, including github automation and making contract-breaking changes to see the errors. I then decided to rebuild both projects with the latest version of npm modules since they were a year or two out of date. I succeeded with one exception: When I run can-i-deploy on the provider I get
    No pacts or verifications have been published for version 9c9a30-master+9c9a30.SNAPSHOT.mika of pactflow-example-bi-directional-provider-dredd
    I get this same message running locally or on Github. Strangely, Pactflow show that the provider was updated and I get a green check-mark I doubt this has anything to do with my npm module update. Rather I am really new to this and probably just making a noob mistake. I tried republishing the consumer, and setting the provider version in package.json to match. I still get the same thing.
    m
    • 2
    • 4
  • s

    sasank kumar

    01/20/2023, 8:05 AM
    For in Birectional provider swagger.yml I have 10 properties/attributes/fields wheras consumer pact has only 9 fields but in pactflow displaying as pass instead of fail as 1 field missing in response
    m
    • 2
    • 2
  • d

    davT

    01/20/2023, 3:52 PM
    @davT has left the channel
  • e

    Eugene Malihins

    01/23/2023, 1:06 PM
    hello, seeing a 502 response when trying to retrieve an integration in Pactflow.io and also in
    can-i-deploy
    for the newly deployed Consumer Contract version
    m
    b
    • 3
    • 24
  • w

    Werner Lauterfeld

    01/23/2023, 2:19 PM
    Hi, what is the recommended way to publish pacts in a CI-pipeline? Publish a pact during development on a feature-branch or should it only be published once the PR is initiated? kind regards
    👍 1
    y
    x
    • 3
    • 4
  • f

    Fábio Rodrigues

    01/24/2023, 11:32 AM
    Hi, with the new login page, how one should login using SAML (azure group)
    m
    • 2
    • 5
  • s

    sasank kumar

    01/25/2023, 7:10 AM
    In bidirectional contract testing example, newman results, swagger.yml and pact.json deletes existing for every run
    m
    • 2
    • 6
  • s

    sasank kumar

    01/25/2023, 7:10 AM
    ?
  • s

    SSh

    01/26/2023, 10:35 AM
    Hey. Could anyone advice why I can’t upload/publish provider contract to my own local pact broker server? It return 404 response
    Error making request to <http://127.0.0.1:9292/contracts/provider/KAPI/version/5015> status=404
    But when I’m trying to upload to my own pact broker on pactflow.io all work as expected (using token) Pact broker docker-compose config
    Copy code
    version: "3"
    
    services:
      postgres:
        image: postgres
        healthcheck:
          test: psql postgres --command "select 1" -U postgres
        volumes:
          - postgres-volume:/var/lib/postgresql/data
        environment:
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: password
          POSTGRES_DB: postgres
    
      pact-broker:
        image: pactfoundation/pact-broker:2.105.0.1
        ports:
          - "9292:9292"
        depends_on:
          - postgres
        environment:
          PACT_BROKER_BASIC_AUTH_ENABLED: "true"
          PACT_BROKER_BASIC_AUTH_USERNAME: "un"
          PACT_BROKER_BASIC_AUTH_PASSWORD: "pwd"
          PACT_BROKER_ALLOW_PUBLIC_READ: "false"
          PACT_BROKER_BASIC_AUTH_READ_ONLY_USERNAME": "unr"
          PACT_BROKER_BASIC_AUTH_READ_ONLY_PASSWORD: "pwdr"
          PACT_BROKER_DATABASE_URL: "<postgres://postgres:password@postgres/postgres>"
          PACT_BROKER_DATABASE_CONNECT_MAX_RETRIES: "2"
          PACT_BROKER_BASE_URL: "<http://localhost>"
          PACT_BROKER_BASE_URLS: "<http://localhost:9292> <http://127.0.0.1:9292> <https://localhost> <https://127.0.0.1>"
          PACT_BROKER_PORT: "9292"
          PACT_BROKER_USE_HAL_BROWSER": "true"
    
    volumes:
      postgres-volume:
    uploading script
    Copy code
    for file in "$PWD"/*.yaml
    do
      PROVIDER_NAME=$(yq eval .info.x-pact-name "$file" )
      if [[ "$PROVIDER_NAME" != null ]]
      then
        echo "Publish '$PROVIDER_NAME' from $file"
        pactflow publish-provider-contract \
              "${file}" \
              --content-type=application/yaml \
              --provider="$PROVIDER_NAME" \
              --provider-app-version="$RANDOM" \
              --broker-base-url="<http://127.0.0.1:9292>" \
              --broker-username="un" \
              --broker-password="pwd"
      fi
    done
    yaml file
    Copy code
    openapi: 3.0.3
    info:
      title: k API
      version: "0.1"
      description: k API
      x-pact-name: KAPI
    
    paths:
      /users/{userId}:
        get:
          summary: Returns user
          parameters:
            - in: path
              name: userId
              description: User ID
              schema:
                type: string
              required: true
          responses:
            '200':
              description: OK
            '401':
              description: Unauthorized
    y
    d
    • 3
    • 7
  • d

    Dany Marques

    01/26/2023, 3:41 PM
    Hi there, I have a question regarding PactFlow. I uploaded the consumer and the provider contract to Pactflow and simulated a deployment on an environment for both consumer and provider. Now I’m trying to use the
    can-i-deploy
    utility but it always fails with:
    The provider contract for the version of my-provider currently in test (f02f154) has no verification results
    . Can someone help me? It looks like I’m missing something
    b
    • 2
    • 1
  • d

    Dwiparna Pal

    01/27/2023, 12:01 PM
    Hi There, I'm looking for Async API support for provider side. When is that going to be live on Q1 2023? Thanks
    y
    • 2
    • 1
  • s

    SSh

    01/27/2023, 2:02 PM
    Hi. I noticed that I can’t remove pact ending on
    .yaml
    Loaded accidentally with this name (full path to yaml file) and now can’t remove
    y
    • 2
    • 4
  • y

    Yousaf Nabi (pactflow.io)

    01/27/2023, 2:33 PM
    Hi Mark, Best asking PactFlow specific questions in our dedicated channel. You need to add a content type for the document you are uploadeding,
    application/json
    in your respect as its a JSON document, although application/yaml will work, the parser will accept both https://docs.pactflow.io/docs/bi-directional-contract-testing/contracts/oas#docker-1
    m
    • 2
    • 2
1...789...13Latest