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

    Matt Corby

    01/30/2023, 11:52 AM
    Hi - I am having some trouble removing a pact integration; any help would be welcome!
    m
    b
    • 3
    • 17
  • e

    Eugene Malihins

    01/31/2023, 3:46 PM
    how should one read this
    swagger-mock-validator
    output? What confuses me is comparison of mock response body to
    value: [ [Object], [Object] ]
    . It's not clear what is incompatible. I've omitted a bunch of fields in the mock for brevity.
    Copy code
    1 error(s)
    	response.body.incompatible: 1
    0 warning(s)
    {
      warnings: [],
      errors: [
        {
          code: 'response.body.incompatible',
          message: 'Response body is incompatible with the response body schema in the spec file: should match exactly one schema in oneOf',
          mockDetails: {
            interactionDescription: '6cee5dad-fe47-4ab7-9384-d53d5260427a',
            interactionState: '[none]',
            location: '[root].interactions[27].response.body',
            mockFile: './msw_generated_pacts/dashboard-web-api-1675179158185.json',
            value: {
              createdAt: '2022-10-30T00:00:00Z',
              "...": "...",
              status: 'DRAFT',
            }
          },
          source: 'spec-mock-validation',
          specDetails: {
            location: '[root].paths./api/invoices/{id}/payment-status.put.responses.200.content.application/json.schema.oneOf',
            pathMethod: 'put',
            pathName: '/api/invoices/{id}/payment-status',
            specFile: 'dereferencedSchema.json',
            value: [ [Object], [Object] ]
          },
          type: 'error'
        }
      ]
    }
    c
    • 2
    • 5
  • j

    Jerome Hordies

    02/02/2023, 1:31 PM
    Hello, I'm testing a pact against an open api specification, when my 3rd pact interaction is incompatible with the OAS, all my interactions are marked as failed
    m
    • 2
    • 1
  • k

    Keith Waters

    02/02/2023, 4:44 PM
    Hi all! I'm have some confusing (to me) information in pactflow/can-i-deploy. can-i-deploy is failing with a "There is no verified pact between version ..... and the version of thing-model-service currently in Dev....." but when I go to the matrix tab it shows a status of "Verified". What am I missing or doing wrong? 😅
    m
    • 2
    • 2
  • j

    João Farias

    02/03/2023, 9:45 AM
    Hi folks, Regarding bi-directional verification, where the Contract Verification Status is Compatible (On the "View Contract" page, but in the Overview page I see the integration status as Unknown, not Success as it happens when a consumer-driven integration is verified. When I run can-i-deploy, it says that there is no verification results for this integration. Is this expected? Am I misinterpreting something here?
    m
    f
    • 3
    • 8
  • w

    Werner Lauterfeld

    02/03/2023, 1:56 PM
    Hey guys, we are having a look into stubbing and found the pact-stub-server that is provided by the pact foundation. The docker image gives the option to provide a header to select provider-states and get an answer based on that. We wondered whether there is an option to use this against the Pactflow instance as well. Do you have a default header that we can set to use the stubbing service of PactFlow to select the response based on a provider state, or is this not possible at all? Kind regards, Werner
    m
    • 2
    • 5
  • e

    Eugene Malihins

    02/03/2023, 3:15 PM
    Pipelines for both our products (API & Dashboard) are now fully integrated with Pactflow bi-directional contract testing 🚀 I will continue keeping an eye on channels here for updates & provide feedback as it arrives 🙂
    🙌 1
    u
    m
    s
    • 4
    • 31
  • m

    Matt Yao

    02/06/2023, 6:36 AM
    Hi Pact gurus, Currently we are working on BDCT and trying to publish our contract to Pactflow. I am using Docker commands but a bit confused with the doc examples and the command helper. What I am trying to do is to manually upload the contract to test the integrations on the CI pipeline, with the minimum command arguments and configurations. But I am getting the errors
    Error making request to https://{PACTFLOW_HOST} status=400 {"errors":{"verificationResults.success":["success is missing"],"verificationResults.content":["content is missing"],"verificationResults.contentType":["contentType is missing"]}}
    . So obviously, some of the params are mandatory that I missed, but the doc didn't clearly say which ones are and I am trying to figure it out. The followings are the references and the examples I am following, with my scripts
    m
    y
    • 3
    • 15
  • e

    Eugene Malihins

    02/06/2023, 3:06 PM
    getting 502 from pactflow when running can-i-deploy 😕
    Copy code
    ERROR: Error making request - Net::ReadTimeout Net::ReadTimeout with #<TCPSocket:(closed)> /usr/lib/ruby/gems/3.0.0/gems/pact_broker-client-1.66.0/lib/pact_broker/client/hal/http_client.rb:80:in `block (2 levels) in perform_request', attempt 1 of 5
    ERROR: Error making request - Net::ReadTimeout Net::ReadTimeout with #<TCPSocket:(closed)> /usr/lib/ruby/gems/3.0.0/gems/pact_broker-client-1.66.0/lib/pact_broker/client/hal/http_client.rb:80:in `block (2 levels) in perform_request', attempt 2 of 5
    ERROR: Error making request - Net::ReadTimeout Net::ReadTimeout with #<TCPSocket:(closed)> /usr/lib/ruby/gems/3.0.0/gems/pact_broker-client-1.66.0/lib/pact_broker/client/hal/http_client.rb:80:in `block (2 levels) in perform_request', attempt 4 of 5
    Error retrieving matrix. PactBroker::Client::Hal::ErrorResponseReturned - Error making request to ***/matrix status=502 <html>
    <head><title>502 Bad Gateway</title></head>
    <body>
    <center><h1>502 Bad Gateway</h1></center>
    </body>
    m
    • 2
    • 4
  • p

    Priyanka Soni

    02/09/2023, 1:17 PM
    Hi Community, I have a question about BDCT. On Consumer side we have an iOS app implementing traditional PACT. On our provider side, we have OAS available and we think that we could generate the PACT file by implement BCDT using RestAssured. Is this compatible? In the documentation we saw: Compatible with Consumers This project is currently compatible with the following consumers(s): • pactflow-example-bi-directional-consumer-nock • pactflow-example-bi-directional-consumer-msw • pactflow-example-bi-directional-consumer-wiremock • pactflow-example-bi-directional-consumer-mountebank Does it mean Bidirectional feature is not compatible with PACT contracts?
    👋 1
    y
    • 2
    • 1
  • t

    Tommy Chen

    02/10/2023, 1:11 AM
    Hey team, this is tommy from culture amp. I seem to get a ssl issue. Here is the thread where I initially asked the question https://pact-foundation.slack.com/archives/C9VPNUJR2/p1675989683954029
  • n

    Noor Hashem

    02/10/2023, 2:43 PM
    Hi pact team, i'm trying to access the subscription portal in pactflow but I have not received a one time password and have requested again but nothing has come in for a while.
    m
    • 2
    • 3
  • j

    Jacob Buckley

    02/13/2023, 10:58 PM
    Is there a required workflow order needed in order to tell the broker that contracts should exist? I'm attempting to spin up some provider tests but
    pact-provider-verifier
    keeps returning with something similar to the following: (organization and project have been masked)
    Copy code
    /usr/lib/ruby/gems/3.1.0/gems/pact-1.63.0/lib/pact/hal/entity.rb:102:in 'assert_success!': Error retrieving https://${organization}.<http://pactflow.io/pacts/provider/${project}-provider-golang/for-verification|pactflow.io/pacts/provider/${project}-provider-golang/for-verification> status=404 {"error":"The requested document was not found on this server."} (Pact::hal::ErrorResponseReturned)
    b
    m
    • 3
    • 12
  • t

    Tomer Ghelber

    02/15/2023, 12:45 PM
    @Tomer Ghelber has left the channel
  • j

    Jay Wang

    02/16/2023, 11:56 PM
    In Pactflow, I am getting a Validator Error due to my provider contract specifying "items": { "type": "number", "format": "int32" }. This seems to also break the consumer tests in a way that they all give false positives. I don't see anything offspec with our implementation but if I remove the "format": "int32" from my property the consumer contract properly validates with confirmed errors. Is there a known bug related to specifying format in a property in the provider contract?
    m
    • 2
    • 3
  • t

    Thomas

    02/17/2023, 11:42 AM
    Hello, I encountered the following error. The producer specifies an API path similar to
    GET /users/{user_id}/settings
    {user_id}
    is defined as
    string
    with a regex to validate the format in detail (int, uuid or other formats). The consumer calls the API with
    GET /users/1234/settings
    and the pact check fails with
    "No request method is found /users/1234/settings" => "Path or method not defined in spec file: GET /users/1234/settings"
    . When I remove the regex check from the producer OAS file, then the pact check works.
    m
    • 2
    • 6
  • n

    Noor Hashem

    02/17/2023, 7:59 PM
    Hi there, does anyone have a pactflow example of a ruby provider verification? I'm not sure how to set up the pact_broker_client task if im using pactflow
    Copy code
    require 'pact/provider/rspec'
    
    require "./spec/pact/provider_states_for_order_item_categories"
    
    Pact.service_provider "monolith" do
      honours_pact_with 'testDemo_platform_payment_service' do
        pact_broker_base_url = ''
        pact_broker_client = PactBroker::Client.new(base_url: pact_broker_base_url)
        pact_url = pact_broker_client.pact_url('monolith', 'testDemo_platform_payment_service')
        pact_uri pact_url
        publish_verification_results true
        enable_pending true 
        include_wip_pacts_since "2020-01-01"
      end
    end
  • m

    Mayank Chugh

    02/17/2023, 10:24 PM
    Hello! 👋 I posted this question in #C9VBGLUM9 but as I dig in more, I feel that as per this article, my implementation should have worked. Hence, X-posting it here to see if I can get some help with PactFlow as my pact broker?
    m
    • 2
    • 1
  • n

    Noor Hashem

    02/21/2023, 3:33 PM
    Hi there i'm using pactflow on a provider ruby on rails application and on the verification step i am getting a 401 unauthorized error. See error below:
    Error retrieving <https://applyboard>.<name>.io status=401 Unauthorized. Please see <https://docs.pactflow.io/docs/login-help> for more information. (Pact::Error)
    I have already followed the steps outlined here: https://docs.pactflow.io/docs/login-help/#getting-a-401-unauthorized-when-publishing-or-verifying-pacts Package should be up to date, i'm using pact gem version 1.32. Using the read/write token from pactflow. And I followed the provider code in pact_helper.spec here: https://docs.pactflow.io/#configuring-your-api-token
    m
    b
    • 3
    • 15
  • j

    Jerry Wang

    02/27/2023, 7:34 AM
    Hi, engineering teams at my company are using the https://github.com/pact-foundation/pact-ruby-cli (via its Docker image https://hub.docker.com/r/pactfoundation/pact-cli) for publishing pacts to PactFlow. However, a recent internal security audit flagged 10+ high or critical security vulnerabilities as part of the latest tag i.e.
    pactfoundation/pact-cli:0.51.0.0
    . The audit was done by running the Trivy security scanner and result can be easily reproduced locally. As the latest tag is published 3 months ago, I'm wondering if there is a plan to release a newer image to patch those vulnerabilities?
    🦻 1
    m
    • 2
    • 3
  • n

    Noor Hashem

    02/28/2023, 8:45 PM
    Hi there, are there any examples of how to set up a sign_in with device with pact ruby? Trying to use sign in but I think because pact is not of type request then it does not work. In the rails_helper we have this line that is needed, i've tried using type to be pact but still no luck.
    config.include Devise::Test::IntegrationHelpers, type: :request
    This is the code I have atm:
    Copy code
    require "rails_helper"
    
    Pact.provider_states_for "testDemo_platform_payment_service" do
      provider_state "Order items exist" do
        set_up do
          user = User.create!(
            username: "admin1",
            email: "<mailto:example@applyboard.net|example@applyboard.net>",
            role: "admin",
            password: "example",
            password_setup: true,
            blocked: false,
            has_accepted_terms: false,
            has_accepted_privacy: false,
          )
          sign_in user
        end
      end
    end
  • n

    Nigel Finley

    02/28/2023, 9:03 PM
    Hello! We are using pacflow.io to house all of our consumer and provider contracts and we are seeing a really strange issue. The issue is we have an interaction listed as
    ???
    and we can't click into it to delete it or anything (see image below). When we do we get a blank screen. Is there a way to delete this via api or otherwise? We'd really like to remove this from our dashboard. Thank you so much.
    i
    • 2
    • 2
  • t

    Thomas

    03/01/2023, 12:15 PM
    Hello, I encountered a response-body validation error. The server/producer defines the "400 Bad Request" response body as follows:
    Copy code
    responses:
      error-400-bad-request:
        description: ''
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                errors:
                  type: array
                  items:
                    type: object
                    properties:
                      source:
                        type: object
                        properties:
                          parameter:
                            type: string
                          pointer:
                            type: string
                      code:
                        type: string
                        enum:
                          - BAD_REQUEST
                          - UNPROCESSABLE_ENTITY
                      status:
                        type: string
                        enum:
                          - '400'
                          - '422'
                      details:
                        type: string
                    required:
                      - code
                      - status
              required:
                - errors
            examples:
              Example 1:
                value:
                  errors:
                    - source:
                        parameter: id
                      detail: is in invalid format
                      code: BAD_REQUEST
                      status: '400'
    Example:
    Copy code
    {
      "errors": [
        {
          "source": {
            "parameter": "id"
          },
          "detail": "is in invalid format",
          "code": "BAD_REQUEST",
          "status": "400"
        }
      ]
    }
    The client/consumer used the following mocked response body:
    Copy code
    {
      errors: [
        {
          status: "400",
          code:   "INVALID_QUERY_PARAMETER",
          source: {
            params: "foobar"
          }
        }
      ]
    }
    It expected the undefined
    params
    instead of
    parameters
    , but pactflow didn't detect an error.
    b
    • 2
    • 5
  • a

    Abraham

    03/01/2023, 4:30 PM
    Hello, I have a provider which get verified against multiple consumers using the traditional way, a new API request has been added to represent a new consumer can I use Bi-directional contract testing for the newly developed API requests only?
    b
    • 2
    • 2
  • m

    Mayank Chugh

    03/02/2023, 10:23 AM
    Hiya folks 👋 I looking for some help with the webhooks in PactFlow. The issue I am facing is that
    contract_requiring_verification_published
    is being fired even when there is no change in the contract from last “latest” published contract
    m
    b
    • 3
    • 20
  • d

    Dominik Chmielarz

    03/02/2023, 5:08 PM
    Hey everyone, Is it possible to get API tokens of some other user through API or TF having sufficient permissions? I couldn't find it in the documentation.
    m
    • 2
    • 4
  • s

    Sugi S

    03/03/2023, 3:55 PM
    Hello 👋 Is there a ruby example for bi-directional contract testing?
    👋 1
    y
    • 2
    • 4
  • y

    Yousaf Nabi (pactflow.io)

    03/06/2023, 5:09 PM
    Do you use AsyncAPI in your organisation? Would you like to be involved at an early stage, in the design of support for AsyncAPI as part of PactFlow's Bi-Directional contract testing offering? If so, please drop us an blob wave, a reply in a thread 🧵 , or join our Developer Preview Programme 🦜
    👀 1
    blob wave 2
  • m

    Mark Wilson

    03/07/2023, 3:20 PM
    Hi All. Why does my provider's can-i-deploy step say successful when the status of the broker is 'Unknown' awaiting the consumer contract to be generated and published to the broker? The provider side is uploading an openapi spec and newman verification results. In this scenario the consumer contract is invalid so should break my pipeline but its passing way before then. If I rerun this can i deploy step after the consumer has published and the status is failed in the broker, the can I deploy steps works as expected. Any ideas?
    y
    b
    • 3
    • 22
  • h

    Hazem Borham

    03/07/2023, 5:03 PM
    hello - i need some assistance with pactflow. We're introducing a new integration and the provider main branch cannot detect any
    for-verification
    pacts, however we have a pending pact to be verified on a feature branch for both the consumer and provider.
    m
    b
    • 3
    • 37
1...8910...13Latest