Bas Dijkstra
02/18/2025, 10:18 AMTyler Powell
02/24/2025, 5:09 PMGabriel Vasconcelos
02/25/2025, 10:01 AMMilda
02/25/2025, 11:04 AMRuth
02/25/2025, 12:01 PMResponse: {"error":{"message":"An error has occurred. The details have been logged with the reference HIIXRpjPHk","reference":"HIIXRpjPHk"}}
Where can we look at the logs with this reference number?Santosh Kumar
03/03/2025, 1:30 PMD
03/04/2025, 1:06 AMpublic enum defaultSettlementMethod
{
Method1= 1,
Method2 = 2,
}
In the OAS spec, it shows as "Allowed Values 1 2" (see screenshot)
I would like to be able to check in the consumer that it is these values only, rather than have an integration test for this. Is that possible?
I know it probably goes against the philosophy of Pact to do this. However in the past we have found that providers may add new values to the enums, and the consumers weren't expecting the change.
Adding any kind of test in the provider may still result in the outcome, because this still relies on the provider team communicating the change effectively.
Hope that makes sense?Valerio Iachini
03/13/2025, 9:11 AMGabriel Vasconcelos
03/18/2025, 5:09 PM{
"openapi": "3.0.1",
"info": {
"title": "IDEServices",
"description": "IDEServices REST API",
"version": "v1"
},
"paths": {
"/asset-model/v1/features": {
"get": {
"summary": "Gets the stored Feature Toggles.",
"description": "Gets the stored Feature Toggles.",
"operationId": "GetAllFeatureTogglesValues",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"required": [
"key"
],
"type": "object",
"properties": {
"key": {
"minLength": 10,
"type": "string"
}
},
"additionalProperties": false
}
}
}
}
}
}
}
}
}
}
and this sample pact:
{
"consumer": {
"name": "web_ide"
},
"interactions": [
{
"description": "Get all features",
"pending": false,
"request": {
"method": "GET",
"path": "/asset-model/v1/features"
},
"response": {
"body": {
"content": [
{
"key": "bigexample"
}
],
"contentType": "application/json",
"encoded": false
},
"headers": {
"Content-Type": [
"application/json"
]
},
"matchingRules": {
"body": {
"$[*].key": {
"combine": "AND",
"matchers": [
{
"match": "what I put here doesnt seem to matter"
}
]
}
},
"header": {},
"status": {}
},
"status": 200
},
"type": "Synchronous/HTTP"
}
],
"metadata": {
"pact-js": {
"version": "14.0.0"
},
"pactRust": {
"ffi": "0.4.22",
"models": "1.2.3"
},
"pactSpecification": {
"version": "4.0"
}
},
"provider": {
"name": "IDE-Services"
}
}
I get no errors no matter how I change the matchingRules. but if I change the example to something else, I get
location: '[root].paths./asset-model/v1/features.get.responses.200.content.application/json.schema.items.properties.key.minLength'
are we doing something wrong? aren't the matchingRules suppose to be more important than the example in the request/response?Krysty
03/21/2025, 4:48 AMOpenSSL::SSL::SSLError - SSL_connect returned=1 errno=0 peeraddr=108.158.213.75:443 state=error: certificate verify failed (self-signed certificate in certificate chain)
Tyler Powell
03/28/2025, 5:12 PM{
"error": {
"message": "Cannot read properties of undefined (reading 'name')"
}
}
The contract hasn't fundamentally changed but I noticed that this error is only occurring for pacts verified with:
Verifier
pactflow-openapi-pact-comparator
Version
1.0.0
previous pacts were verified with:
Verifier
pactflow-swagger-mock-validator
Version
14.5.0Nikita Fidirko
04/01/2025, 4:20 PM--specification=SPECIFICATION
but there are no mentions about possible values (apart from OAS)
so, the question is: is OAS the only format that's supported?Gabriel Vasconcelos
04/03/2025, 8:40 PM{tenant}/pacticipant/{pacticipant}/network
(singular), I get a huge list of integrations, which I assume is the comprehensive list with them all. If I try {tenant}/pacticipants/{pacticipant}/network
(plural), it returns me 404.
However, through the web I can reach {tenant}/pacticipants/{pacticipant}/network
(plural) and I receive only the network for the desired pacticipant.
Is it possible to make this reachable via the API?
ThanksMatt (pactflow.io / pact-js / pact-go)
Otoniel Rodriguez Delgado
04/04/2025, 7:20 PMSimon Raess
04/17/2025, 9:07 AMRui
04/24/2025, 4:02 PMat au.com.dius.pact.core.pactbroker.HalClient.handleHalResponse(HalClient.kt:336)
at au.com.dius.pact.core.pactbroker.HalClient.access$handleHalResponse(HalClient.kt:158)
at au.com.dius.pact.core.pactbroker.HalClient$getJson$1.invoke$lambda$0(HalClient.kt:311)
at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:247)
at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:188)
at au.com.dius.pact.core.pactbroker.HalClient$getJson$1.invoke(HalClient.kt:310)
at au.com.dius.pact.core.support.KotlinLanguageSupportKt.handleWith(KotlinLanguageSupport.kt:35)
at au.com.dius.pact.core.pactbroker.HalClient.getJson(HalClient.kt:305)
at au.com.dius.pact.core.pactbroker.HalClient.fetch(HalClient.kt:269)
at au.com.dius.pact.core.pactbroker.PactBrokerClient.fetchPact(PactBrokerClient.kt:782)
at au.com.dius.pact.core.model.PactReaderKt.loadPactFromUrl(PactReader.kt:60)
at au.com.dius.pact.core.model.DefaultPactReader.loadFile(PactReader.kt:413)
at au.com.dius.pact.core.model.DefaultPactReader.loadPact(PactReader.kt:210)
at au.com.dius.pact.provider.junitsupport.loader.PactBrokerLoader.loadPactsForProvider(PactBrokerLoader.kt:266)
at au.com.dius.pact.provider.junitsupport.loader.PactBrokerLoader.load(PactBrokerLoader.kt:128)
at au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider$resolvePactSources$pactSources$1$pacts$1.invoke(PactJUnit5VerificationProvider.kt:78)
at au.com.dius.pact.core.support.KotlinLanguageSupportKt.handleWith(KotlinLanguageSupport.kt:35)
at au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider.resolvePactSources(PactJUnit5VerificationProvider.kt:78)
at au.com.dius.pact.provider.junit5.PactVerificationInvocationContextProvider.provideTestTemplateInvocationContexts(PactJUnit5VerificationProvider.kt:45)
at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
James Fraser
04/29/2025, 9:00 AMJames Fraser
05/15/2025, 4:03 PMSimon Raess
05/16/2025, 12:20 PMismail
05/19/2025, 12:00 PMEddie Stanley
05/20/2025, 2:44 AMStephan Sommer
05/20/2025, 12:54 PMinteractions[]
array in the pact file, using a custom type
and domain-specific fields in place of `request`/`response`.
Our PoC showed promising results, and we'd now like to validate whether this is a supported and future-proof approach before rolling it out more broadly.
Our main concern is whether PactFlow will continue to support contracts that contain custom interaction types and properties — or if there's a risk that the broker might reject these files in future versions.
Does this sound like a safe path to go down?
Thanks!Rishav Singh
06/09/2025, 10:20 AMGabriel Vasconcelos
06/09/2025, 10:56 AMJames Fraser
06/17/2025, 8:41 AMCopy Sys. Account UUID
Where can I get it? 😅David McKinney
06/20/2025, 10:31 AM2025-06-20T09:55:08.050264Z INFO ThreadId(16) pact_verifier: Running setup provider state change handler with empty state for 'a setCurrentPage event with empty pageId'
2025-06-20T09:55:08.050280Z INFO ThreadId(16) pact_verifier: Running provider verification for 'a setCurrentPage event with empty pageId'
2025-06-20T09:55:08.050295Z INFO ThreadId(16) pact_verifier::provider_client: Sending request to provider at <http://localhost:56254/>
2025-06-20T09:55:08.050300Z INFO ThreadId(16) pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(58 bytes, application/json) )
[10:55:08.052] ERROR (8141): pact@15.0.1: no handler found for message a setCurrentPage event with empty pageId
Pactfile - https://pastebin.com/zqtfunst
Consumer - https://pastebin.com/8MqM3Sre
Provider - https://pastebin.com/fNTH9cSc
My consumer tests will pass, generate the pactfile, it looks correct
But on running the provider tests using jest it seems to use default http verifierJocelyn Lecomte
06/21/2025, 10:14 AMMilda
06/24/2025, 9:23 AMstatus=400 {"title":"Validation errors","type":"<https://problems-registry.smartbear.com/validation-error>","status":400,"instance":"/","errors":[{"detail":"content could not be parsed as application/json","pointer":"#/contract/content"},{"detail":"content when Base64 decoded and parsed must be a hash","pointer":"#/contract/content"}]}
Zachary Lysobey
06/24/2025, 9:42 PM