Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- > dynamicforms@0.0.0 test:provider:contracts
- > react-scripts test --watchAll=false --testMatch="{src,}/**/pactflow-contracts/**/*.provider.pact.ts" --env=jest-fixed-jsdom --coverage=false --detectOpenHandles
- +----------------------------+
- | |
- | G-P |
- | Nova React-Scripts |
- | |
- +----------------------------+
- [12:28:17.224] INFO (13045): pact@15.0.1: Verifying message
- [12:28:17.231] INFO (13045): pact-core@16.0.0: Verifying Pacts.
- [12:28:17.232] INFO (13045): pact-core@16.0.0: Verifying Pact Files
- [12:28:17.233] DEBUG (13045): pact-core@16.0.0: binding path #0: : attempting to load native module from:
- - /Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/node_modules/@pact-foundation/pact-core-darwin-arm64/prebuilds/darwin-arm64
- source: pact-js-core binding lookup
- - You can override via PACT_PREBUILD_LOCATION
- [12:28:17.241] INFO (13045): 0.4.22: pact native library successfully found, and the correct version
- [12:28:17.241] DEBUG (13045): pact-core@16.0.0: Initialising native core at log level 'debug'
- 2025-06-20T11:28:17.244939Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_new_for_application FFI function invoked
- 2025-06-20T11:28:17.246573Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_set_provider_info FFI function invoked
- [12:28:17.246] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetFilterInfo' was not executed as it had non-fatal validation errors: None of PACT_DESCRIPTION, PACT_PROVIDER_STATE or PACT_PROVIDER_NO_STATE were set in the environment
- [12:28:17.246] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetProviderState' was not executed as it had non-fatal validation errors: No failIfNoPactsFound option provided
- 2025-06-20T11:28:17.247039Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_set_verification_options FFI function invoked
- [12:28:17.247] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetPublishOptions' was not executed as it had non-fatal validation errors: No publishVerificationResult option / PACT_BROKER_PUBLISH_VERIFICATION_RESULTS set, or no providerVersion option
- [12:28:17.247] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetConsumerFilters' was not executed as it had non-fatal validation errors: Either no consumerFilters option provided, or the array was empty
- [12:28:17.247] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetFailIfNoPactsFound' was not executed as it had non-fatal validation errors: No failIfNoPactsFound option provided
- [12:28:17.247] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierAddCustomHeader' was not executed as it had non-fatal validation errors: No customProviderHeaders option provided
- [12:28:17.247] DEBUG (13045): pact-core@16.0.0: checking source type of given pactUrl: /Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/src/pactflow-contracts/pacts/dynamic-forms-ui-consumer-dynamic-forms-ui-provider.json
- [12:28:17.248] DEBUG (13045): pact-core@16.0.0: adding /Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/src/pactflow-contracts/pacts/dynamic-forms-ui-consumer-dynamic-forms-ui-provider.json as File source
- 2025-06-20T11:28:17.248270Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_add_file_source FFI function invoked
- [12:28:17.248] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierBrokerSourceWithSelectors' was not executed as it had non-fatal validation errors: No pactBrokerUrl option / PACT_BROKER_BASE_URL set, or no provider option set
- [12:28:17.248] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierAddProviderTransport' was not executed as it had non-fatal validation errors: No additional provider transports provided
- 2025-06-20T11:28:17.248853Z DEBUG ThreadId(02) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_execute FFI function invoked
- 2025-06-20T11:28:17.248883Z DEBUG ThreadId(02) pact_ffi::verifier::handle: Pact source to verify = File(/Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/src/pactflow-contracts/pacts/dynamic-forms-ui-consumer-dynamic-forms-ui-provider.json)
- 2025-06-20T11:28:17.252363Z DEBUG ThreadId(02) pact_plugin_driver::catalogue_manager: Updated catalogue entries:
- core/content-generator/binary
- core/content-generator/json
- core/content-matcher/json
- core/content-matcher/multipart-form-data
- core/content-matcher/text
- core/content-matcher/xml
- 2025-06-20T11:28:17.252391Z DEBUG ThreadId(02) pact_plugin_driver::catalogue_manager: Updated catalogue entries:
- core/matcher/v1-equality
- core/matcher/v2-max-type
- core/matcher/v2-min-type
- core/matcher/v2-minmax-type
- core/matcher/v2-regex
- core/matcher/v2-type
- core/matcher/v3-content-type
- core/matcher/v3-date
- core/matcher/v3-datetime
- core/matcher/v3-decimal-type
- core/matcher/v3-includes
- core/matcher/v3-integer-type
- core/matcher/v3-null
- core/matcher/v3-number-type
- core/matcher/v3-time
- core/matcher/v4-array-contains
- core/matcher/v4-equals-ignore-order
- core/matcher/v4-max-equals-ignore-order
- core/matcher/v4-min-equals-ignore-order
- core/matcher/v4-minmax-equals-ignore-order
- core/matcher/v4-not-empty
- core/matcher/v4-semver
- 2025-06-20T11:28:17.257141Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.257159Z INFO ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: Running setup provider state change handler with empty state for 'a form state update event with field values'
- 2025-06-20T11:28:17.257174Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.257190Z INFO ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: Running provider verification for 'a form state update event with field values'
- 2025-06-20T11:28:17.257204Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.257221Z INFO ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64006/
- 2025-06-20T11:28:17.257225Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64006), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64006), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.257232Z INFO ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(61 bytes, application/json) )
- 2025-06-20T11:28:17.257237Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: body:
- {"description":"a form state update event with field values"}
- 2025-06-20T11:28:17.257774Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.259295Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64006
- 2025-06-20T11:28:17.259677Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: hyper_util::client::legacy::connect::http: connected to [::1]:64006
- [12:28:17.268] ERROR (13045): pact@15.0.1: no handler found for message a form state update event with field values
- 2025-06-20T11:28:17.270379Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64006)
- 2025-06-20T11:28:17.270400Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64006), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.270847Z INFO ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"connection": ["keep-alive"], "content-length": ["2"], "keep-alive": ["timeout=5"], "x-powered-by": ["Express"], "content-type": ["application/json; charset=utf-8"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.270864Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:17.271072Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.271098Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_matching: comparing to expected message: Message { id: None, description: "a form state update event with field values", provider_states: [], contents: Present(b"{\"formErrors\":{},\"formFields\":{\"simpletext\":{\"id\":\"simpletext\",\"isDisabled\":false,\"isDisplayed\":true,\"isRequired\":false,\"label\":\"Simpletext label\"}},\"formValues\":{\"simpletext\":{\"value\":\"test value\"}},\"instanceId\":\"testInstanceId\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("instanceId")], expr: "$.instanceId" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formFields")], expr: "$.formFields" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formErrors")], expr: "$.formErrors" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.271156Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.271163Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.271871Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.271878Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.271897Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.271901Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Comparing maps at $: {"formErrors": Object {}, "formFields": Object {"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(false), "label": String("Simpletext label")}}, "formValues": Object {"simpletext": Object {"value": String("test value")}}, "instanceId": String("testInstanceId")} -> {}
- 2025-06-20T11:28:17.272015Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.272020Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.272024Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.272030Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.272795Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.272802Z INFO ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: Running setup provider state change handler with empty state for 'a form state update event with validation errors'
- 2025-06-20T11:28:17.272807Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.272813Z INFO ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: Running provider verification for 'a form state update event with validation errors'
- 2025-06-20T11:28:17.272817Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.272826Z INFO ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64006/
- 2025-06-20T11:28:17.272829Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64006), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64006), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.272834Z INFO ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(66 bytes, application/json) )
- 2025-06-20T11:28:17.272843Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: body:
- {"description":"a form state update event with validation errors"}
- 2025-06-20T11:28:17.272877Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.273281Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64006
- 2025-06-20T11:28:17.273521Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: hyper_util::client::legacy::connect::http: connected to [::1]:64006
- [12:28:17.274] ERROR (13045): pact@15.0.1: no handler found for message a form state update event with validation errors
- 2025-06-20T11:28:17.275756Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64006)
- 2025-06-20T11:28:17.275770Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64006), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.275802Z INFO ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"content-length": ["2"], "connection": ["keep-alive"], "x-powered-by": ["Express"], "content-type": ["application/json; charset=utf-8"], "keep-alive": ["timeout=5"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.275810Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:17.275820Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.275829Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: comparing to expected message: Message { id: None, description: "a form state update event with validation errors", provider_states: [], contents: Present(b"{\"formErrors\":{\"simpletext\":\"This field is required\"},\"formFields\":{\"simpletext\":{\"id\":\"simpletext\",\"isDisabled\":false,\"isDisplayed\":true,\"isRequired\":true,\"label\":\"Simpletext label\"}},\"formValues\":{\"simpletext\":{\"value\":\"\"}},\"instanceId\":\"testInstanceId\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("instanceId")], expr: "$.instanceId" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formFields")], expr: "$.formFields" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formErrors")], expr: "$.formErrors" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.275858Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.275863Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.276138Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.276145Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.276155Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.276161Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Comparing maps at $: {"formErrors": Object {"simpletext": String("This field is required")}, "formFields": Object {"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(true), "label": String("Simpletext label")}}, "formValues": Object {"simpletext": Object {"value": String("")}}, "instanceId": String("testInstanceId")} -> {}
- 2025-06-20T11:28:17.276187Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.276193Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.276197Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.276202Z DEBUG ThreadId(02) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.276971Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.276979Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Running setup provider state change handler with empty state for 'a setCurrentPage event with empty pageId'
- 2025-06-20T11:28:17.276984Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.276989Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Running provider verification for 'a setCurrentPage event with empty pageId'
- 2025-06-20T11:28:17.276993Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.277005Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64006/
- 2025-06-20T11:28:17.277008Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64006), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64006), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.277013Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: 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) )
- 2025-06-20T11:28:17.277017Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: body:
- {"description":"a setCurrentPage event with empty pageId"}
- 2025-06-20T11:28:17.277043Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.277367Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64006
- 2025-06-20T11:28:17.277644Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: hyper_util::client::legacy::connect::http: connected to [::1]:64006
- 2025-06-20T11:28:17.278802Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64006)
- 2025-06-20T11:28:17.278814Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64006), path: "/", query: None, fragment: None }, status: 200, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "13", "etag": "W/\"d-pjYKTzRRPekJHyDhjKRSj8aRUdw\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.278835Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 200, headers: Some({"connection": ["keep-alive"], "x-powered-by": ["Express"], "keep-alive": ["timeout=5"], "content-type": ["application/json; charset=utf-8"], "etag": ["W/\"d-pjYKTzRRPekJHyDhjKRSj8aRUdw\""], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "content-length": ["13"]}), body: Present(13 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.278843Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: body:
- {"pageId":""}
- 2025-06-20T11:28:17.278851Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{\"pageId\":\"\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.278859Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: comparing to expected message: Message { id: None, description: "a setCurrentPage event with empty pageId", provider_states: [], contents: Present(b"{\"pageId\":\"\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.278873Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.278878Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.279135Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.279141Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.279146Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.279150Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching::json: compare_maps: Comparing maps at $: {"pageId": String("")} -> {"pageId": String("")}
- 2025-06-20T11:28:17.279159Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching::json: compare: Comparing path $.pageId
- 2025-06-20T11:28:17.279164Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching::json: JSON -> JSON: Comparing '""' to '""' using Equality -> Ok(())
- 2025-06-20T11:28:17.279167Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching::json: compare_values: Comparing 'String("")' to 'String("")' at path '$.pageId' -> Ok(())
- 2025-06-20T11:28:17.279173Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.279176Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.279180Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.279184Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.279900Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.279905Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Running setup provider state change handler with empty state for 'a setCurrentPage event with null pageId'
- 2025-06-20T11:28:17.279909Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.279915Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Running provider verification for 'a setCurrentPage event with null pageId'
- 2025-06-20T11:28:17.279919Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.279931Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64006/
- 2025-06-20T11:28:17.279935Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64006), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64006), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.279940Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(57 bytes, application/json) )
- 2025-06-20T11:28:17.279944Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: body:
- {"description":"a setCurrentPage event with null pageId"}
- 2025-06-20T11:28:17.279967Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.280270Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64006
- 2025-06-20T11:28:17.280529Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: hyper_util::client::legacy::connect::http: connected to [::1]:64006
- 2025-06-20T11:28:17.281555Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64006)
- 2025-06-20T11:28:17.281567Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64006), path: "/", query: None, fragment: None }, status: 200, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "15", "etag": "W/\"f-VrjHMt4BNAATS90p3mbAGD0CvfQ\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.281590Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 200, headers: Some({"content-length": ["15"], "keep-alive": ["timeout=5"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "content-type": ["application/json; charset=utf-8"], "etag": ["W/\"f-VrjHMt4BNAATS90p3mbAGD0CvfQ\""], "connection": ["keep-alive"], "x-powered-by": ["Express"]}), body: Present(15 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.281600Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: body:
- {"pageId":null}
- 2025-06-20T11:28:17.281609Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{\"pageId\":null}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.281622Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: comparing to expected message: Message { id: None, description: "a setCurrentPage event with null pageId", provider_states: [], contents: Present(b"{\"pageId\":null}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.281634Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.281639Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.281932Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.281937Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.281942Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.281945Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching::json: compare_maps: Comparing maps at $: {"pageId": Null} -> {"pageId": Null}
- 2025-06-20T11:28:17.281955Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching::json: compare: Comparing path $.pageId
- 2025-06-20T11:28:17.281959Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching::json: JSON -> JSON: Comparing 'null' to 'null' using Equality -> Ok(())
- 2025-06-20T11:28:17.281962Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching::json: compare_values: Comparing 'Null' to 'Null' at path '$.pageId' -> Ok(())
- 2025-06-20T11:28:17.281968Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.281971Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.281975Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.281979Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.282705Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.282711Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Running setup provider state change handler with empty state for 'a setCurrentPage event with valid pageId'
- 2025-06-20T11:28:17.282715Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.282719Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Running provider verification for 'a setCurrentPage event with valid pageId'
- 2025-06-20T11:28:17.282726Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.282734Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64006/
- 2025-06-20T11:28:17.282737Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64006), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64006), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.282741Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: 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) )
- 2025-06-20T11:28:17.282745Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: body:
- {"description":"a setCurrentPage event with valid pageId"}
- 2025-06-20T11:28:17.282766Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.283075Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64006
- 2025-06-20T11:28:17.283366Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: hyper_util::client::legacy::connect::http: connected to [::1]:64006
- 2025-06-20T11:28:17.284501Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64006)
- 2025-06-20T11:28:17.284514Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64006), path: "/", query: None, fragment: None }, status: 200, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "18", "etag": "W/\"12-KENjyVohgf2XPwtl8UdEv8CwslE\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.284538Z INFO ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 200, headers: Some({"content-length": ["18"], "etag": ["W/\"12-KENjyVohgf2XPwtl8UdEv8CwslE\""], "keep-alive": ["timeout=5"], "connection": ["keep-alive"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "x-powered-by": ["Express"], "content-type": ["application/json; charset=utf-8"]}), body: Present(18 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.284546Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: body:
- {"pageId":"page1"}
- 2025-06-20T11:28:17.284556Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{\"pageId\":\"page1\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.284569Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: comparing to expected message: Message { id: None, description: "a setCurrentPage event with valid pageId", provider_states: [], contents: Present(b"{\"pageId\":\"page1\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("pageId")], expr: "$.pageId" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.284582Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.284586Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.284822Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.284829Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.284835Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.284838Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: compare_maps: Comparing maps at $: {"pageId": String("page1")} -> {"pageId": String("page1")}
- 2025-06-20T11:28:17.284847Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: compare: Comparing path $.pageId
- 2025-06-20T11:28:17.284853Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: compare_values: Calling match_values for path $.pageId
- 2025-06-20T11:28:17.284858Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: JSON -> JSON: Comparing '"page1"' to '"page1"' using Type -> Ok(())
- 2025-06-20T11:28:17.284862Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: compare_values: Comparing 'String("page1")' to 'String("page1")' at path '$.pageId' -> Ok(())
- 2025-06-20T11:28:17.284869Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.284872Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.284876Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.284880Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.285558Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.285564Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Running setup provider state change handler with empty state for 'a setFormValues event clearing values'
- 2025-06-20T11:28:17.285573Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.285578Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Running provider verification for 'a setFormValues event clearing values'
- 2025-06-20T11:28:17.285581Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.285588Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64006/
- 2025-06-20T11:28:17.285591Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64006), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64006), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.285595Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(55 bytes, application/json) )
- 2025-06-20T11:28:17.285599Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: body:
- {"description":"a setFormValues event clearing values"}
- 2025-06-20T11:28:17.285617Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.285942Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64006
- 2025-06-20T11:28:17.286284Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: hyper_util::client::legacy::connect::http: connected to [::1]:64006
- [12:28:17.287] ERROR (13045): pact@15.0.1: no handler found for message a setFormValues event clearing values
- 2025-06-20T11:28:17.287840Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64006)
- 2025-06-20T11:28:17.287850Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64006), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.287874Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "keep-alive": ["timeout=5"], "x-powered-by": ["Express"], "content-type": ["application/json; charset=utf-8"], "content-length": ["2"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""], "connection": ["keep-alive"]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.287884Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:17.287894Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.287908Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: comparing to expected message: Message { id: None, description: "a setFormValues event clearing values", provider_states: [], contents: Present(b"{\"formValues\":{\"firstName\":{\"value\":null},\"lastName\":{\"value\":null}}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.287922Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.287928Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.288187Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.288192Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.288198Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.288201Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_maps: Comparing maps at $: {"formValues": Object {"firstName": Object {"value": Null}, "lastName": Object {"value": Null}}} -> {}
- 2025-06-20T11:28:17.288221Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.288225Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.288229Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.288234Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.289005Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.289013Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Running setup provider state change handler with empty state for 'a setFormValues event with empty values'
- 2025-06-20T11:28:17.289018Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.289028Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Running provider verification for 'a setFormValues event with empty values'
- 2025-06-20T11:28:17.289032Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.289041Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64006/
- 2025-06-20T11:28:17.289045Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64006), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64006), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.289050Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(57 bytes, application/json) )
- 2025-06-20T11:28:17.289055Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: body:
- {"description":"a setFormValues event with empty values"}
- 2025-06-20T11:28:17.289087Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.289298Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64006
- 2025-06-20T11:28:17.289479Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: hyper_util::client::legacy::connect::http: connected to [::1]:64006
- [12:28:17.290] ERROR (13045): pact@15.0.1: no handler found for message a setFormValues event with empty values
- 2025-06-20T11:28:17.291629Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64006)
- 2025-06-20T11:28:17.291645Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64006), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.291675Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"x-powered-by": ["Express"], "content-type": ["application/json; charset=utf-8"], "content-length": ["2"], "connection": ["keep-alive"], "keep-alive": ["timeout=5"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.291685Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:17.291695Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.291714Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: comparing to expected message: Message { id: None, description: "a setFormValues event with empty values", provider_states: [], contents: Present(b"{\"formValues\":{}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.291731Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.291736Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.291988Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.291995Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.292004Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.292008Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::json: compare_maps: Comparing maps at $: {"formValues": Object {}} -> {}
- 2025-06-20T11:28:17.292027Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.292040Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.292044Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.292049Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.292836Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.292844Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Running setup provider state change handler with empty state for 'a setFormValues event with initial values'
- 2025-06-20T11:28:17.292849Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.292855Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Running provider verification for 'a setFormValues event with initial values'
- 2025-06-20T11:28:17.292865Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.292873Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64006/
- 2025-06-20T11:28:17.292876Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64006), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64006), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.292881Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(59 bytes, application/json) )
- 2025-06-20T11:28:17.292885Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: body:
- {"description":"a setFormValues event with initial values"}
- 2025-06-20T11:28:17.292907Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.293279Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64006
- 2025-06-20T11:28:17.293621Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: hyper_util::client::legacy::connect::http: connected to [::1]:64006
- [12:28:17.294] ERROR (13045): pact@15.0.1: no handler found for message a setFormValues event with initial values
- 2025-06-20T11:28:17.295101Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64006)
- 2025-06-20T11:28:17.295110Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64006), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.295136Z INFO ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"keep-alive": ["timeout=5"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "content-type": ["application/json; charset=utf-8"], "x-powered-by": ["Express"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""], "content-length": ["2"], "connection": ["keep-alive"]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.295145Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:17.295153Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.295167Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: comparing to expected message: Message { id: None, description: "a setFormValues event with initial values", provider_states: [], contents: Present(b"{\"formValues\":{\"firstName\":{\"value\":\"John\"},\"lastName\":{\"value\":\"Doe\"}}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.295179Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.295184Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.295419Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.295423Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.295428Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.295431Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_maps: Comparing maps at $: {"formValues": Object {"firstName": Object {"value": String("John")}, "lastName": Object {"value": String("Doe")}}} -> {}
- 2025-06-20T11:28:17.295447Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.295450Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.295454Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.295458Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.295580Z WARN ThreadId(02) pact_matching::metrics:
- Please note:
- We are tracking events anonymously to gather important usage statistics like Pact version and operating system. To disable tracking, set the 'PACT_DO_NOT_TRACK' environment variable to 'true'.
- 2025-06-20T11:28:17.309669Z DEBUG ThreadId(02) pact_matching::metrics: Sending event to GA - {"cd2": "unknown", "aid": "pact-core", "ec": "ProviderTest", "ds": "client", "tid": "UA-117778936-1", "cd6": "pact_ffi", "aip": "true", "cd3": "macos-aarch64", "ea": "Completed", "v": "1", "an": "pact-core", "el": "Pacts verified", "t": "event", "av": "16.0.0", "cid": "0a6a9f7b1ec2f0f1d0b54d2aaccedd91", "ev": "8", "cd7": "1.2.6"}
- 2025-06-20T11:28:17.310664Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="www.google-analytics.com"
- 2025-06-20T11:28:17.312580Z DEBUG ThreadId(02) hyper_util::client::legacy::connect::http: connecting to 142.250.200.142:443
- 2025-06-20T11:28:17.326983Z DEBUG ThreadId(02) hyper_util::client::legacy::connect::http: connected to 142.250.200.142:443
- 2025-06-20T11:28:17.401264Z DEBUG ThreadId(02) hyper_util::client::legacy::pool: pooling idle connection for ("https", www.google-analytics.com)
- Verifying a pact between [1mdynamic-forms-ui-consumer[0m and [1mdynamic-forms-ui-provider[0m
- a form state update event with field values (1ms loading, 17ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a form state update event with validation errors (1ms loading, 4ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a setCurrentPage event with empty pageId (1ms loading, 2ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([32mOK[0m)
- a setCurrentPage event with null pageId (1ms loading, 2ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([32mOK[0m)
- a setCurrentPage event with valid pageId (1ms loading, 2ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([32mOK[0m)
- a setFormValues event clearing values (1ms loading, 3ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a setFormValues event with empty values (1ms loading, 3ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a setFormValues event with initial values (1ms loading, 3ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- Failures:
- 1) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a form state update event with field values
- 1.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: formErrors, formFields, formValues, instanceId
- [31m -{
- "formErrors": {},
- "formFields": {
- "simpletext": {
- "id": "simpletext",
- "isDisabled": false,
- "isDisplayed": true,
- "isRequired": false,
- "label": "Simpletext label"
- }
- },
- "formValues": {
- "simpletext": {
- "value": "test value"
- }
- },
- "instanceId": "testInstanceId"
- }
- [0m[32m +{}
- [0m
- 2) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a form state update event with validation errors
- 2.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: formErrors, formFields, formValues, instanceId
- [31m -{
- "formErrors": {
- "simpletext": "This field is required"
- },
- "formFields": {
- "simpletext": {
- "id": "simpletext",
- "isDisabled": false,
- "isDisplayed": true,
- "isRequired": true,
- "label": "Simpletext label"
- }
- },
- "formValues": {
- "simpletext": {
- "value": ""
- }
- },
- "instanceId": "testInstanceId"
- }
- [0m[32m +{}
- [0m
- 3) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setFormValues event clearing values
- 3.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: formValues
- [31m -{
- "formValues": {
- "firstName": {
- "value": null
- },
- "lastName": {
- "value": null
- }
- }
- }
- [0m[32m +{}
- [0m
- 4) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setFormValues event with empty values
- 4.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: formValues
- [31m -{
- "formValues": {}
- }
- [0m[32m +{}
- [0m
- 5) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setFormValues event with initial values
- 5.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: formValues
- [31m -{
- "formValues": {
- "firstName": {
- "value": "John"
- },
- "lastName": {
- "value": "Doe"
- }
- }
- }
- [0m[32m +{}
- [0m
- There were 5 pact failures
- 2025-06-20T11:28:17.401692Z DEBUG ThreadId(02) pact_plugin_driver::plugin_manager: Shutting down all plugins
- [12:28:17.401] DEBUG (13045): pact-core@16.0.0: shutting down verifier with handle 0
- 2025-06-20T11:28:17.403152Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_shutdown FFI function invoked
- [12:28:17.403] DEBUG (13045): pact-core@16.0.0: response from verifier: null, 1
- [12:28:17.403] ERROR (13045): pact-core@16.0.0: Verification unsuccessful
- [12:28:17.604] INFO (13045): pact@15.0.1: Verifying message
- [12:28:17.606] INFO (13045): pact-core@16.0.0: Verifying Pacts.
- [12:28:17.607] INFO (13045): pact-core@16.0.0: Verifying Pact Files
- [12:28:17.607] DEBUG (13045): pact-core@16.0.0: binding path #0: : attempting to load native module from:
- - /Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/node_modules/@pact-foundation/pact-core-darwin-arm64/prebuilds/darwin-arm64
- source: pact-js-core binding lookup
- - You can override via PACT_PREBUILD_LOCATION
- [12:28:17.608] INFO (13045): 0.4.22: pact native library successfully found, and the correct version
- [12:28:17.608] DEBUG (13045): pact-core@16.0.0: Initialising native core at log level 'debug'
- 2025-06-20T11:28:17.608739Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_new_for_application FFI function invoked
- 2025-06-20T11:28:17.608779Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_set_provider_info FFI function invoked
- [12:28:17.608] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetFilterInfo' was not executed as it had non-fatal validation errors: None of PACT_DESCRIPTION, PACT_PROVIDER_STATE or PACT_PROVIDER_NO_STATE were set in the environment
- [12:28:17.608] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetProviderState' was not executed as it had non-fatal validation errors: No failIfNoPactsFound option provided
- 2025-06-20T11:28:17.608863Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_set_verification_options FFI function invoked
- [12:28:17.608] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetPublishOptions' was not executed as it had non-fatal validation errors: No publishVerificationResult option / PACT_BROKER_PUBLISH_VERIFICATION_RESULTS set, or no providerVersion option
- [12:28:17.608] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetConsumerFilters' was not executed as it had non-fatal validation errors: Either no consumerFilters option provided, or the array was empty
- [12:28:17.608] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetFailIfNoPactsFound' was not executed as it had non-fatal validation errors: No failIfNoPactsFound option provided
- [12:28:17.608] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierAddCustomHeader' was not executed as it had non-fatal validation errors: No customProviderHeaders option provided
- [12:28:17.608] DEBUG (13045): pact-core@16.0.0: checking source type of given pactUrl: /Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/src/pactflow-contracts/pacts/dynamic-forms-ui-consumer-dynamic-forms-ui-provider.json
- [12:28:17.609] DEBUG (13045): pact-core@16.0.0: adding /Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/src/pactflow-contracts/pacts/dynamic-forms-ui-consumer-dynamic-forms-ui-provider.json as File source
- 2025-06-20T11:28:17.609239Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_add_file_source FFI function invoked
- [12:28:17.609] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierBrokerSourceWithSelectors' was not executed as it had non-fatal validation errors: No pactBrokerUrl option / PACT_BROKER_BASE_URL set, or no provider option set
- [12:28:17.609] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierAddProviderTransport' was not executed as it had non-fatal validation errors: No additional provider transports provided
- 2025-06-20T11:28:17.609368Z DEBUG ThreadId(16) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_execute FFI function invoked
- 2025-06-20T11:28:17.609382Z DEBUG ThreadId(16) pact_ffi::verifier::handle: Pact source to verify = File(/Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/src/pactflow-contracts/pacts/dynamic-forms-ui-consumer-dynamic-forms-ui-provider.json)
- 2025-06-20T11:28:17.610429Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.610457Z INFO ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: Running setup provider state change handler with empty state for 'a form state update event with field values'
- 2025-06-20T11:28:17.610467Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.610482Z INFO ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: Running provider verification for 'a form state update event with field values'
- 2025-06-20T11:28:17.610488Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.610501Z INFO ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64017/
- 2025-06-20T11:28:17.610507Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64017), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64017), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.610514Z INFO ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(61 bytes, application/json) )
- 2025-06-20T11:28:17.610521Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: body:
- {"description":"a form state update event with field values"}
- 2025-06-20T11:28:17.610580Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.610978Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64017
- 2025-06-20T11:28:17.611378Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: hyper_util::client::legacy::connect::http: connected to [::1]:64017
- [12:28:17.613] ERROR (13045): pact@15.0.1: no handler found for message a form state update event with field values
- 2025-06-20T11:28:17.614517Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64017)
- 2025-06-20T11:28:17.614535Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64017), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.614573Z INFO ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"content-length": ["2"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "x-powered-by": ["Express"], "connection": ["keep-alive"], "content-type": ["application/json; charset=utf-8"], "keep-alive": ["timeout=5"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.614586Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:17.614600Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.614613Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_matching: comparing to expected message: Message { id: None, description: "a form state update event with field values", provider_states: [], contents: Present(b"{\"formErrors\":{},\"formFields\":{\"simpletext\":{\"id\":\"simpletext\",\"isDisabled\":false,\"isDisplayed\":true,\"isRequired\":false,\"label\":\"Simpletext label\"}},\"formValues\":{\"simpletext\":{\"value\":\"test value\"}},\"instanceId\":\"testInstanceId\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("instanceId")], expr: "$.instanceId" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formFields")], expr: "$.formFields" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formErrors")], expr: "$.formErrors" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.614639Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.614646Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.614926Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.614931Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.614941Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.614944Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Comparing maps at $: {"formErrors": Object {}, "formFields": Object {"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(false), "label": String("Simpletext label")}}, "formValues": Object {"simpletext": Object {"value": String("test value")}}, "instanceId": String("testInstanceId")} -> {}
- 2025-06-20T11:28:17.614988Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.614992Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.614996Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.615001Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.615722Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.615727Z INFO ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: Running setup provider state change handler with empty state for 'a form state update event with validation errors'
- 2025-06-20T11:28:17.615731Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.615736Z INFO ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: Running provider verification for 'a form state update event with validation errors'
- 2025-06-20T11:28:17.615740Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.615748Z INFO ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64017/
- 2025-06-20T11:28:17.615751Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64017), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64017), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.615755Z INFO ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(66 bytes, application/json) )
- 2025-06-20T11:28:17.615759Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: body:
- {"description":"a form state update event with validation errors"}
- 2025-06-20T11:28:17.615783Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.616077Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64017
- 2025-06-20T11:28:17.616370Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: hyper_util::client::legacy::connect::http: connected to [::1]:64017
- [12:28:17.617] ERROR (13045): pact@15.0.1: no handler found for message a form state update event with validation errors
- 2025-06-20T11:28:17.617863Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64017)
- 2025-06-20T11:28:17.617873Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64017), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.617897Z INFO ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"connection": ["keep-alive"], "content-length": ["2"], "keep-alive": ["timeout=5"], "content-type": ["application/json; charset=utf-8"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "x-powered-by": ["Express"]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.617906Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:17.617916Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.617924Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: comparing to expected message: Message { id: None, description: "a form state update event with validation errors", provider_states: [], contents: Present(b"{\"formErrors\":{\"simpletext\":\"This field is required\"},\"formFields\":{\"simpletext\":{\"id\":\"simpletext\",\"isDisabled\":false,\"isDisplayed\":true,\"isRequired\":true,\"label\":\"Simpletext label\"}},\"formValues\":{\"simpletext\":{\"value\":\"\"}},\"instanceId\":\"testInstanceId\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formErrors")], expr: "$.formErrors" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("instanceId")], expr: "$.instanceId" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formFields")], expr: "$.formFields" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.617945Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.617951Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.618244Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.618249Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.618257Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.618261Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Comparing maps at $: {"formErrors": Object {"simpletext": String("This field is required")}, "formFields": Object {"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(true), "label": String("Simpletext label")}}, "formValues": Object {"simpletext": Object {"value": String("")}}, "instanceId": String("testInstanceId")} -> {}
- 2025-06-20T11:28:17.618286Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.618289Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.618293Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.618298Z DEBUG ThreadId(16) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.619003Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.619008Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Running setup provider state change handler with empty state for 'a setCurrentPage event with empty pageId'
- 2025-06-20T11:28:17.619012Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.619017Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Running provider verification for 'a setCurrentPage event with empty pageId'
- 2025-06-20T11:28:17.619020Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.619027Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64017/
- 2025-06-20T11:28:17.619030Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64017), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64017), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.619034Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: 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) )
- 2025-06-20T11:28:17.619038Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: body:
- {"description":"a setCurrentPage event with empty pageId"}
- 2025-06-20T11:28:17.619061Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.619281Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64017
- 2025-06-20T11:28:17.619460Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: hyper_util::client::legacy::connect::http: connected to [::1]:64017
- [12:28:17.620] ERROR (13045): pact@15.0.1: no handler found for message a setCurrentPage event with empty pageId
- 2025-06-20T11:28:17.621079Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64017)
- 2025-06-20T11:28:17.621089Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64017), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.621113Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"connection": ["keep-alive"], "keep-alive": ["timeout=5"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "content-type": ["application/json; charset=utf-8"], "x-powered-by": ["Express"], "content-length": ["2"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.621122Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:17.621132Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.621141Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: comparing to expected message: Message { id: None, description: "a setCurrentPage event with empty pageId", provider_states: [], contents: Present(b"{\"pageId\":\"\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.621151Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.621156Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.621403Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.621407Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.621412Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.621415Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching::json: compare_maps: Comparing maps at $: {"pageId": String("")} -> {}
- 2025-06-20T11:28:17.621431Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.621434Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.621439Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.621446Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.622180Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.622191Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Running setup provider state change handler with empty state for 'a setCurrentPage event with null pageId'
- 2025-06-20T11:28:17.622197Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.622203Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Running provider verification for 'a setCurrentPage event with null pageId'
- 2025-06-20T11:28:17.622208Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.622217Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64017/
- 2025-06-20T11:28:17.622221Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64017), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64017), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.622226Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(57 bytes, application/json) )
- 2025-06-20T11:28:17.622231Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: body:
- {"description":"a setCurrentPage event with null pageId"}
- 2025-06-20T11:28:17.622265Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.622444Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64017
- 2025-06-20T11:28:17.622577Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: hyper_util::client::legacy::connect::http: connected to [::1]:64017
- [12:28:17.624] ERROR (13045): pact@15.0.1: no handler found for message a setCurrentPage event with null pageId
- 2025-06-20T11:28:17.625511Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64017)
- 2025-06-20T11:28:17.625530Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64017), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.625565Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"content-type": ["application/json; charset=utf-8"], "keep-alive": ["timeout=5"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "x-powered-by": ["Express"], "content-length": ["2"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""], "connection": ["keep-alive"]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.625576Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:17.625588Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.625599Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: comparing to expected message: Message { id: None, description: "a setCurrentPage event with null pageId", provider_states: [], contents: Present(b"{\"pageId\":null}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.625615Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.625621Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.625882Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.625887Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.625893Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.625896Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching::json: compare_maps: Comparing maps at $: {"pageId": Null} -> {}
- 2025-06-20T11:28:17.625918Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.625921Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.625925Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.625930Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.626673Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.626679Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Running setup provider state change handler with empty state for 'a setCurrentPage event with valid pageId'
- 2025-06-20T11:28:17.626684Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.626691Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Running provider verification for 'a setCurrentPage event with valid pageId'
- 2025-06-20T11:28:17.626695Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.626703Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64017/
- 2025-06-20T11:28:17.626707Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64017), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64017), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.626712Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: 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) )
- 2025-06-20T11:28:17.626717Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: body:
- {"description":"a setCurrentPage event with valid pageId"}
- 2025-06-20T11:28:17.626744Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.627014Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64017
- 2025-06-20T11:28:17.627281Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: hyper_util::client::legacy::connect::http: connected to [::1]:64017
- [12:28:17.627] ERROR (13045): pact@15.0.1: no handler found for message a setCurrentPage event with valid pageId
- 2025-06-20T11:28:17.628629Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64017)
- 2025-06-20T11:28:17.628638Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64017), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.628660Z INFO ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"keep-alive": ["timeout=5"], "x-powered-by": ["Express"], "connection": ["keep-alive"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""], "content-type": ["application/json; charset=utf-8"], "content-length": ["2"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.628668Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:17.628677Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.628686Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: comparing to expected message: Message { id: None, description: "a setCurrentPage event with valid pageId", provider_states: [], contents: Present(b"{\"pageId\":\"page1\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("pageId")], expr: "$.pageId" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.628699Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.628704Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.628952Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.628956Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.628960Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.628963Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: compare_maps: Comparing maps at $: {"pageId": String("page1")} -> {}
- 2025-06-20T11:28:17.628978Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.628981Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.628985Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.628989Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.629683Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.629688Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Running setup provider state change handler with empty state for 'a setFormValues event clearing values'
- 2025-06-20T11:28:17.629691Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.629697Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Running provider verification for 'a setFormValues event clearing values'
- 2025-06-20T11:28:17.629700Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.629707Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64017/
- 2025-06-20T11:28:17.629710Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64017), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64017), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.629714Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(55 bytes, application/json) )
- 2025-06-20T11:28:17.629718Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: body:
- {"description":"a setFormValues event clearing values"}
- 2025-06-20T11:28:17.629739Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.629958Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64017
- 2025-06-20T11:28:17.630124Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: hyper_util::client::legacy::connect::http: connected to [::1]:64017
- 2025-06-20T11:28:17.631026Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64017)
- 2025-06-20T11:28:17.631035Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64017), path: "/", query: None, fragment: None }, status: 200, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "69", "etag": "W/\"45-+Qr+fqDMDdy7/q0XmazBORRMtwc\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.631057Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 200, headers: Some({"content-type": ["application/json; charset=utf-8"], "etag": ["W/\"45-+Qr+fqDMDdy7/q0XmazBORRMtwc\""], "connection": ["keep-alive"], "keep-alive": ["timeout=5"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "content-length": ["69"], "x-powered-by": ["Express"]}), body: Present(69 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.631066Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: body:
- {"formValues":{"firstName":{"value":null},"lastName":{"value":null}}}
- 2025-06-20T11:28:17.631075Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{\"formValues\":{\"firstName\":{\"value\":null},\"lastName\":{\"value\":null}}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.631084Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: comparing to expected message: Message { id: None, description: "a setFormValues event clearing values", provider_states: [], contents: Present(b"{\"formValues\":{\"firstName\":{\"value\":null},\"lastName\":{\"value\":null}}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.631097Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.631102Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.631378Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.631383Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.631389Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.631392Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_maps: Comparing maps at $: {"formValues": Object {"firstName": Object {"value": Null}, "lastName": Object {"value": Null}}} -> {"formValues": Object {"firstName": Object {"value": Null}, "lastName": Object {"value": Null}}}
- 2025-06-20T11:28:17.631403Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare: Comparing path $.formValues
- 2025-06-20T11:28:17.631407Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_maps: Comparing maps at $.formValues: {"firstName": Object {"value": Null}, "lastName": Object {"value": Null}} -> {"firstName": Object {"value": Null}, "lastName": Object {"value": Null}}
- 2025-06-20T11:28:17.631415Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_maps: Matcher is defined for path $.formValues
- 2025-06-20T11:28:17.631419Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.631422Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::matchingrules: Comparing '{"firstName": Object {"value": Null}, "lastName": Object {"value": Null}}' to '{"firstName": Object {"value": Null}, "lastName": Object {"value": Null}}' using Type -> Ok(())
- 2025-06-20T11:28:17.631433Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare: Comparing path $.formValues.firstName
- 2025-06-20T11:28:17.631436Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_maps: Comparing maps at $.formValues.firstName: {"value": Null} -> {"value": Null}
- 2025-06-20T11:28:17.631441Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_maps: Matcher is defined for path $.formValues.firstName
- 2025-06-20T11:28:17.631444Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.631447Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::matchingrules: Comparing '{"value": Null}' to '{"value": Null}' using Type -> Ok(())
- 2025-06-20T11:28:17.631453Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare: Comparing path $.formValues.firstName.value
- 2025-06-20T11:28:17.631458Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_values: Calling match_values for path $.formValues.firstName.value
- 2025-06-20T11:28:17.631462Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: JSON -> JSON: Comparing 'null' to 'null' using Type -> Ok(())
- 2025-06-20T11:28:17.631476Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_values: Comparing 'Null' to 'Null' at path '$.formValues.firstName.value' -> Ok(())
- 2025-06-20T11:28:17.631481Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare: Comparing path $.formValues.lastName
- 2025-06-20T11:28:17.631484Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_maps: Comparing maps at $.formValues.lastName: {"value": Null} -> {"value": Null}
- 2025-06-20T11:28:17.631488Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_maps: Matcher is defined for path $.formValues.lastName
- 2025-06-20T11:28:17.631492Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.631495Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::matchingrules: Comparing '{"value": Null}' to '{"value": Null}' using Type -> Ok(())
- 2025-06-20T11:28:17.631500Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare: Comparing path $.formValues.lastName.value
- 2025-06-20T11:28:17.631504Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_values: Calling match_values for path $.formValues.lastName.value
- 2025-06-20T11:28:17.631508Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: JSON -> JSON: Comparing 'null' to 'null' using Type -> Ok(())
- 2025-06-20T11:28:17.631511Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_values: Comparing 'Null' to 'Null' at path '$.formValues.lastName.value' -> Ok(())
- 2025-06-20T11:28:17.631519Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.631522Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.631525Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.631530Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.632310Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.632315Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Running setup provider state change handler with empty state for 'a setFormValues event with empty values'
- 2025-06-20T11:28:17.632319Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.632323Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Running provider verification for 'a setFormValues event with empty values'
- 2025-06-20T11:28:17.632326Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.632333Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64017/
- 2025-06-20T11:28:17.632337Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64017), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64017), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.632340Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(57 bytes, application/json) )
- 2025-06-20T11:28:17.632344Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: body:
- {"description":"a setFormValues event with empty values"}
- 2025-06-20T11:28:17.632365Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.632544Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64017
- 2025-06-20T11:28:17.632728Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: hyper_util::client::legacy::connect::http: connected to [::1]:64017
- 2025-06-20T11:28:17.633606Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64017)
- 2025-06-20T11:28:17.633615Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64017), path: "/", query: None, fragment: None }, status: 200, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "17", "etag": "W/\"11-lJD6c4q8baOlw/+bpaLZClEzTUk\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.633635Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 200, headers: Some({"date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "x-powered-by": ["Express"], "connection": ["keep-alive"], "keep-alive": ["timeout=5"], "content-length": ["17"], "content-type": ["application/json; charset=utf-8"], "etag": ["W/\"11-lJD6c4q8baOlw/+bpaLZClEzTUk\""]}), body: Present(17 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.633644Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: body:
- {"formValues":{}}
- 2025-06-20T11:28:17.633652Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{\"formValues\":{}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.633660Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: comparing to expected message: Message { id: None, description: "a setFormValues event with empty values", provider_states: [], contents: Present(b"{\"formValues\":{}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.633674Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.633679Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.633907Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.633912Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.633916Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.633919Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::json: compare_maps: Comparing maps at $: {"formValues": Object {}} -> {"formValues": Object {}}
- 2025-06-20T11:28:17.633926Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::json: compare: Comparing path $.formValues
- 2025-06-20T11:28:17.633929Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::json: compare_maps: Comparing maps at $.formValues: {} -> {}
- 2025-06-20T11:28:17.633934Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::json: compare_maps: Matcher is defined for path $.formValues
- 2025-06-20T11:28:17.633938Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.633941Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::matchingrules: Comparing '{}' to '{}' using Type -> Ok(())
- 2025-06-20T11:28:17.633949Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.633952Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.633956Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.633960Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.635820Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.635825Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Running setup provider state change handler with empty state for 'a setFormValues event with initial values'
- 2025-06-20T11:28:17.635830Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.635835Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Running provider verification for 'a setFormValues event with initial values'
- 2025-06-20T11:28:17.635839Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.635845Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64017/
- 2025-06-20T11:28:17.635848Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64017), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64017), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.635852Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(59 bytes, application/json) )
- 2025-06-20T11:28:17.635856Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: body:
- {"description":"a setFormValues event with initial values"}
- 2025-06-20T11:28:17.635875Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.637110Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64017
- 2025-06-20T11:28:17.637462Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: hyper_util::client::legacy::connect::http: connected to [::1]:64017
- 2025-06-20T11:28:17.638681Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64017)
- 2025-06-20T11:28:17.638690Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64017), path: "/", query: None, fragment: None }, status: 200, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "72", "etag": "W/\"48-FWD+8119YRN2h9aeQD/qDnmNLLQ\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.638711Z INFO ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 200, headers: Some({"connection": ["keep-alive"], "x-powered-by": ["Express"], "keep-alive": ["timeout=5"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "content-length": ["72"], "content-type": ["application/json; charset=utf-8"], "etag": ["W/\"48-FWD+8119YRN2h9aeQD/qDnmNLLQ\""]}), body: Present(72 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.638719Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: body:
- {"formValues":{"firstName":{"value":"John"},"lastName":{"value":"Doe"}}}
- 2025-06-20T11:28:17.638729Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{\"formValues\":{\"firstName\":{\"value\":\"John\"},\"lastName\":{\"value\":\"Doe\"}}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.638737Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: comparing to expected message: Message { id: None, description: "a setFormValues event with initial values", provider_states: [], contents: Present(b"{\"formValues\":{\"firstName\":{\"value\":\"John\"},\"lastName\":{\"value\":\"Doe\"}}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.638748Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.638753Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.638993Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.638998Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.639005Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.639008Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_maps: Comparing maps at $: {"formValues": Object {"firstName": Object {"value": String("John")}, "lastName": Object {"value": String("Doe")}}} -> {"formValues": Object {"firstName": Object {"value": String("John")}, "lastName": Object {"value": String("Doe")}}}
- 2025-06-20T11:28:17.639017Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare: Comparing path $.formValues
- 2025-06-20T11:28:17.639020Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_maps: Comparing maps at $.formValues: {"firstName": Object {"value": String("John")}, "lastName": Object {"value": String("Doe")}} -> {"firstName": Object {"value": String("John")}, "lastName": Object {"value": String("Doe")}}
- 2025-06-20T11:28:17.639027Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_maps: Matcher is defined for path $.formValues
- 2025-06-20T11:28:17.639031Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.639034Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::matchingrules: Comparing '{"firstName": Object {"value": String("John")}, "lastName": Object {"value": String("Doe")}}' to '{"firstName": Object {"value": String("John")}, "lastName": Object {"value": String("Doe")}}' using Type -> Ok(())
- 2025-06-20T11:28:17.639042Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare: Comparing path $.formValues.firstName
- 2025-06-20T11:28:17.639046Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_maps: Comparing maps at $.formValues.firstName: {"value": String("John")} -> {"value": String("John")}
- 2025-06-20T11:28:17.639051Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_maps: Matcher is defined for path $.formValues.firstName
- 2025-06-20T11:28:17.639055Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.639057Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::matchingrules: Comparing '{"value": String("John")}' to '{"value": String("John")}' using Type -> Ok(())
- 2025-06-20T11:28:17.639063Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare: Comparing path $.formValues.firstName.value
- 2025-06-20T11:28:17.639067Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_values: Calling match_values for path $.formValues.firstName.value
- 2025-06-20T11:28:17.639072Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: JSON -> JSON: Comparing '"John"' to '"John"' using Type -> Ok(())
- 2025-06-20T11:28:17.639075Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_values: Comparing 'String("John")' to 'String("John")' at path '$.formValues.firstName.value' -> Ok(())
- 2025-06-20T11:28:17.639081Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare: Comparing path $.formValues.lastName
- 2025-06-20T11:28:17.639084Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_maps: Comparing maps at $.formValues.lastName: {"value": String("Doe")} -> {"value": String("Doe")}
- 2025-06-20T11:28:17.639090Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_maps: Matcher is defined for path $.formValues.lastName
- 2025-06-20T11:28:17.639093Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.639096Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::matchingrules: Comparing '{"value": String("Doe")}' to '{"value": String("Doe")}' using Type -> Ok(())
- 2025-06-20T11:28:17.639102Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare: Comparing path $.formValues.lastName.value
- 2025-06-20T11:28:17.639106Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_values: Calling match_values for path $.formValues.lastName.value
- 2025-06-20T11:28:17.639109Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: JSON -> JSON: Comparing '"Doe"' to '"Doe"' using Type -> Ok(())
- 2025-06-20T11:28:17.639112Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_values: Comparing 'String("Doe")' to 'String("Doe")' at path '$.formValues.lastName.value' -> Ok(())
- 2025-06-20T11:28:17.639120Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.639123Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.639127Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.639131Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.658595Z DEBUG ThreadId(16) pact_matching::metrics: Sending event to GA - {"cid": "0a6a9f7b1ec2f0f1d0b54d2aaccedd91", "ds": "client", "cd3": "macos-aarch64", "cd6": "pact_ffi", "ec": "ProviderTest", "v": "1", "aip": "true", "cd7": "1.2.6", "ea": "Completed", "an": "pact-core", "cd2": "unknown", "av": "16.0.0", "el": "Pacts verified", "aid": "pact-core", "ev": "8", "tid": "UA-117778936-1", "t": "event"}
- 2025-06-20T11:28:17.671615Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="www.google-analytics.com"
- 2025-06-20T11:28:17.672957Z DEBUG ThreadId(16) hyper_util::client::legacy::connect::http: connecting to 142.250.200.142:443
- 2025-06-20T11:28:17.686813Z DEBUG ThreadId(16) hyper_util::client::legacy::connect::http: connected to 142.250.200.142:443
- 2025-06-20T11:28:17.758585Z DEBUG ThreadId(16) hyper_util::client::legacy::pool: pooling idle connection for ("https", www.google-analytics.com)
- Verifying a pact between [1mdynamic-forms-ui-consumer[0m and [1mdynamic-forms-ui-provider[0m
- a form state update event with field values (0s loading, 5ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a form state update event with validation errors (0s loading, 3ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a setCurrentPage event with empty pageId (0s loading, 3ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a setCurrentPage event with null pageId (0s loading, 4ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a setCurrentPage event with valid pageId (0s loading, 3ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a setFormValues event clearing values (0s loading, 2ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([32mOK[0m)
- a setFormValues event with empty values (0s loading, 2ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([32mOK[0m)
- a setFormValues event with initial values (0s loading, 5ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([32mOK[0m)
- Failures:
- 1) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a form state update event with field values
- 1.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: formErrors, formFields, formValues, instanceId
- [31m -{
- "formErrors": {},
- "formFields": {
- "simpletext": {
- "id": "simpletext",
- "isDisabled": false,
- "isDisplayed": true,
- "isRequired": false,
- "label": "Simpletext label"
- }
- },
- "formValues": {
- "simpletext": {
- "value": "test value"
- }
- },
- "instanceId": "testInstanceId"
- }
- [0m[32m +{}
- [0m
- 2) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a form state update event with validation errors
- 2.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: formErrors, formFields, formValues, instanceId
- [31m -{
- "formErrors": {
- "simpletext": "This field is required"
- },
- "formFields": {
- "simpletext": {
- "id": "simpletext",
- "isDisabled": false,
- "isDisplayed": true,
- "isRequired": true,
- "label": "Simpletext label"
- }
- },
- "formValues": {
- "simpletext": {
- "value": ""
- }
- },
- "instanceId": "testInstanceId"
- }
- [0m[32m +{}
- [0m
- 3) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setCurrentPage event with empty pageId
- 3.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: pageId
- [31m -{
- "pageId": ""
- }
- [0m[32m +{}
- [0m
- 4) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setCurrentPage event with null pageId
- 4.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: pageId
- [31m -{
- "pageId": null
- }
- [0m[32m +{}
- [0m
- 5) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setCurrentPage event with valid pageId
- 5.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: pageId
- [31m -{
- "pageId": "page1"
- }
- [0m[32m +{}
- [0m
- There were 5 pact failures
- 2025-06-20T11:28:17.758911Z DEBUG ThreadId(16) pact_plugin_driver::plugin_manager: Shutting down all plugins
- [12:28:17.759] DEBUG (13045): pact-core@16.0.0: shutting down verifier with handle 1
- 2025-06-20T11:28:17.760000Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_shutdown FFI function invoked
- [12:28:17.760] DEBUG (13045): pact-core@16.0.0: response from verifier: null, 1
- [12:28:17.760] ERROR (13045): pact-core@16.0.0: Verification unsuccessful
- [12:28:17.979] INFO (13045): pact@15.0.1: Verifying message
- [12:28:17.983] INFO (13045): pact-core@16.0.0: Verifying Pacts.
- [12:28:17.983] INFO (13045): pact-core@16.0.0: Verifying Pact Files
- [12:28:17.984] DEBUG (13045): pact-core@16.0.0: binding path #0: : attempting to load native module from:
- - /Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/node_modules/@pact-foundation/pact-core-darwin-arm64/prebuilds/darwin-arm64
- source: pact-js-core binding lookup
- - You can override via PACT_PREBUILD_LOCATION
- [12:28:17.985] INFO (13045): 0.4.22: pact native library successfully found, and the correct version
- [12:28:17.985] DEBUG (13045): pact-core@16.0.0: Initialising native core at log level 'debug'
- 2025-06-20T11:28:17.985464Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_new_for_application FFI function invoked
- 2025-06-20T11:28:17.985502Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_set_provider_info FFI function invoked
- [12:28:17.985] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetFilterInfo' was not executed as it had non-fatal validation errors: None of PACT_DESCRIPTION, PACT_PROVIDER_STATE or PACT_PROVIDER_NO_STATE were set in the environment
- [12:28:17.985] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetProviderState' was not executed as it had non-fatal validation errors: No failIfNoPactsFound option provided
- 2025-06-20T11:28:17.985588Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_set_verification_options FFI function invoked
- [12:28:17.985] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetPublishOptions' was not executed as it had non-fatal validation errors: No publishVerificationResult option / PACT_BROKER_PUBLISH_VERIFICATION_RESULTS set, or no providerVersion option
- [12:28:17.985] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetConsumerFilters' was not executed as it had non-fatal validation errors: Either no consumerFilters option provided, or the array was empty
- [12:28:17.985] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierSetFailIfNoPactsFound' was not executed as it had non-fatal validation errors: No failIfNoPactsFound option provided
- [12:28:17.985] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierAddCustomHeader' was not executed as it had non-fatal validation errors: No customProviderHeaders option provided
- [12:28:17.985] DEBUG (13045): pact-core@16.0.0: checking source type of given pactUrl: /Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/src/pactflow-contracts/pacts/dynamic-forms-ui-consumer-dynamic-forms-ui-provider.json
- [12:28:17.985] DEBUG (13045): pact-core@16.0.0: adding /Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/src/pactflow-contracts/pacts/dynamic-forms-ui-consumer-dynamic-forms-ui-provider.json as File source
- 2025-06-20T11:28:17.985785Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_add_file_source FFI function invoked
- [12:28:17.985] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierBrokerSourceWithSelectors' was not executed as it had non-fatal validation errors: No pactBrokerUrl option / PACT_BROKER_BASE_URL set, or no provider option set
- [12:28:17.985] DEBUG (13045): pact-core@16.0.0: the optional ffi function 'pactffiVerifierAddProviderTransport' was not executed as it had non-fatal validation errors: No additional provider transports provided
- 2025-06-20T11:28:17.985920Z DEBUG ThreadId(17) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_execute FFI function invoked
- 2025-06-20T11:28:17.985932Z DEBUG ThreadId(17) pact_ffi::verifier::handle: Pact source to verify = File(/Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/src/pactflow-contracts/pacts/dynamic-forms-ui-consumer-dynamic-forms-ui-provider.json)
- 2025-06-20T11:28:17.986796Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.986803Z INFO ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: Running setup provider state change handler with empty state for 'a form state update event with field values'
- 2025-06-20T11:28:17.986810Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.986818Z INFO ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: Running provider verification for 'a form state update event with field values'
- 2025-06-20T11:28:17.986822Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.986833Z INFO ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64027/
- 2025-06-20T11:28:17.986837Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64027), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64027), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.986843Z INFO ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(61 bytes, application/json) )
- 2025-06-20T11:28:17.986849Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: body:
- {"description":"a form state update event with field values"}
- 2025-06-20T11:28:17.986898Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.987382Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64027
- 2025-06-20T11:28:17.987909Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: hyper_util::client::legacy::connect::http: connected to [::1]:64027
- 2025-06-20T11:28:17.990223Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64027)
- 2025-06-20T11:28:17.990236Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64027), path: "/", query: None, fragment: None }, status: 200, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "230", "etag": "W/\"e6-LOjfyqQB5LNNqQeqag4N5MGkK0c\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.990270Z INFO ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 200, headers: Some({"x-powered-by": ["Express"], "content-length": ["230"], "content-type": ["application/json; charset=utf-8"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "etag": ["W/\"e6-LOjfyqQB5LNNqQeqag4N5MGkK0c\""], "connection": ["keep-alive"], "keep-alive": ["timeout=5"]}), body: Present(230 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.990281Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::provider_client: body:
- {"instanceId":"testInstanceId","formFields":{"simpletext":{"id":"simpletext","label":"Simpletext label","isDisplayed":true,"isDisabled":false,"isRequired":false}},"formValues":{"simpletext":{"value":"test value"}},"formErrors":{}}
- 2025-06-20T11:28:17.990292Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{\"instanceId\":\"testInstanceId\",\"formFields\":{\"simpletext\":{\"id\":\"simpletext\",\"label\":\"Simpletext label\",\"isDisplayed\":true,\"isDisabled\":false,\"isRequired\":false}},\"formValues\":{\"simpletext\":{\"value\":\"test value\"}},\"formErrors\":{}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.990310Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching: comparing to expected message: Message { id: None, description: "a form state update event with field values", provider_states: [], contents: Present(b"{\"formErrors\":{},\"formFields\":{\"simpletext\":{\"id\":\"simpletext\",\"isDisabled\":false,\"isDisplayed\":true,\"isRequired\":false,\"label\":\"Simpletext label\"}},\"formValues\":{\"simpletext\":{\"value\":\"test value\"}},\"instanceId\":\"testInstanceId\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formErrors")], expr: "$.formErrors" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formFields")], expr: "$.formFields" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("instanceId")], expr: "$.instanceId" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.990333Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.990339Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.990609Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.990614Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.990625Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.990629Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Comparing maps at $: {"formErrors": Object {}, "formFields": Object {"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(false), "label": String("Simpletext label")}}, "formValues": Object {"simpletext": Object {"value": String("test value")}}, "instanceId": String("testInstanceId")} -> {"formErrors": Object {}, "formFields": Object {"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(false), "label": String("Simpletext label")}}, "formValues": Object {"simpletext": Object {"value": String("test value")}}, "instanceId": String("testInstanceId")}
- 2025-06-20T11:28:17.990662Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $.formErrors
- 2025-06-20T11:28:17.990666Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Comparing maps at $.formErrors: {} -> {}
- 2025-06-20T11:28:17.990671Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Matcher is defined for path $.formErrors
- 2025-06-20T11:28:17.990675Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.990685Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::matchingrules: Comparing '{}' to '{}' using Type -> Ok(())
- 2025-06-20T11:28:17.990696Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $.formFields
- 2025-06-20T11:28:17.990699Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Comparing maps at $.formFields: {"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(false), "label": String("Simpletext label")}} -> {"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(false), "label": String("Simpletext label")}}
- 2025-06-20T11:28:17.990705Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Matcher is defined for path $.formFields
- 2025-06-20T11:28:17.990709Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.990711Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::matchingrules: Comparing '{"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(false), "label": String("Simpletext label")}}' to '{"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(false), "label": String("Simpletext label")}}' using Type -> Ok(())
- 2025-06-20T11:28:17.990721Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $.formFields.simpletext
- 2025-06-20T11:28:17.990724Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Comparing maps at $.formFields.simpletext: {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(false), "label": String("Simpletext label")} -> {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(false), "label": String("Simpletext label")}
- 2025-06-20T11:28:17.990730Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Matcher is defined for path $.formFields.simpletext
- 2025-06-20T11:28:17.990733Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.990736Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::matchingrules: Comparing '{"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(false), "label": String("Simpletext label")}' to '{"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(false), "label": String("Simpletext label")}' using Type -> Ok(())
- 2025-06-20T11:28:17.990745Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $.formFields.simpletext.id
- 2025-06-20T11:28:17.990749Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Calling match_values for path $.formFields.simpletext.id
- 2025-06-20T11:28:17.990753Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: JSON -> JSON: Comparing '"simpletext"' to '"simpletext"' using Type -> Ok(())
- 2025-06-20T11:28:17.990757Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Comparing 'String("simpletext")' to 'String("simpletext")' at path '$.formFields.simpletext.id' -> Ok(())
- 2025-06-20T11:28:17.990761Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $.formFields.simpletext.isDisabled
- 2025-06-20T11:28:17.990765Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Calling match_values for path $.formFields.simpletext.isDisabled
- 2025-06-20T11:28:17.990768Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: JSON -> JSON: Comparing 'false' to 'false' using Type -> Ok(())
- 2025-06-20T11:28:17.990771Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Comparing 'Bool(false)' to 'Bool(false)' at path '$.formFields.simpletext.isDisabled' -> Ok(())
- 2025-06-20T11:28:17.990775Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $.formFields.simpletext.isDisplayed
- 2025-06-20T11:28:17.990779Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Calling match_values for path $.formFields.simpletext.isDisplayed
- 2025-06-20T11:28:17.990782Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: JSON -> JSON: Comparing 'true' to 'true' using Type -> Ok(())
- 2025-06-20T11:28:17.990785Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Comparing 'Bool(true)' to 'Bool(true)' at path '$.formFields.simpletext.isDisplayed' -> Ok(())
- 2025-06-20T11:28:17.990788Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $.formFields.simpletext.isRequired
- 2025-06-20T11:28:17.990792Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Calling match_values for path $.formFields.simpletext.isRequired
- 2025-06-20T11:28:17.990795Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: JSON -> JSON: Comparing 'false' to 'false' using Type -> Ok(())
- 2025-06-20T11:28:17.990798Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Comparing 'Bool(false)' to 'Bool(false)' at path '$.formFields.simpletext.isRequired' -> Ok(())
- 2025-06-20T11:28:17.990801Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $.formFields.simpletext.label
- 2025-06-20T11:28:17.990805Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Calling match_values for path $.formFields.simpletext.label
- 2025-06-20T11:28:17.990808Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: JSON -> JSON: Comparing '"Simpletext label"' to '"Simpletext label"' using Type -> Ok(())
- 2025-06-20T11:28:17.990811Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Comparing 'String("Simpletext label")' to 'String("Simpletext label")' at path '$.formFields.simpletext.label' -> Ok(())
- 2025-06-20T11:28:17.990816Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $.formValues
- 2025-06-20T11:28:17.990819Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Comparing maps at $.formValues: {"simpletext": Object {"value": String("test value")}} -> {"simpletext": Object {"value": String("test value")}}
- 2025-06-20T11:28:17.990824Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Matcher is defined for path $.formValues
- 2025-06-20T11:28:17.990827Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.990830Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::matchingrules: Comparing '{"simpletext": Object {"value": String("test value")}}' to '{"simpletext": Object {"value": String("test value")}}' using Type -> Ok(())
- 2025-06-20T11:28:17.990837Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $.formValues.simpletext
- 2025-06-20T11:28:17.990840Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Comparing maps at $.formValues.simpletext: {"value": String("test value")} -> {"value": String("test value")}
- 2025-06-20T11:28:17.990845Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_maps: Matcher is defined for path $.formValues.simpletext
- 2025-06-20T11:28:17.990848Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.990851Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::matchingrules: Comparing '{"value": String("test value")}' to '{"value": String("test value")}' using Type -> Ok(())
- 2025-06-20T11:28:17.990857Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $.formValues.simpletext.value
- 2025-06-20T11:28:17.990860Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Calling match_values for path $.formValues.simpletext.value
- 2025-06-20T11:28:17.990864Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: JSON -> JSON: Comparing '"test value"' to '"test value"' using Type -> Ok(())
- 2025-06-20T11:28:17.990867Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Comparing 'String("test value")' to 'String("test value")' at path '$.formValues.simpletext.value' -> Ok(())
- 2025-06-20T11:28:17.990871Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare: Comparing path $.instanceId
- 2025-06-20T11:28:17.990875Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Calling match_values for path $.instanceId
- 2025-06-20T11:28:17.990878Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: JSON -> JSON: Comparing '"testInstanceId"' to '"testInstanceId"' using Type -> Ok(())
- 2025-06-20T11:28:17.990881Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching::json: compare_values: Comparing 'String("testInstanceId")' to 'String("testInstanceId")' at path '$.instanceId' -> Ok(())
- 2025-06-20T11:28:17.990891Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.990894Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.990899Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.990903Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with field values"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.991584Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.991589Z INFO ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: Running setup provider state change handler with empty state for 'a form state update event with validation errors'
- 2025-06-20T11:28:17.991593Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.991597Z INFO ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: Running provider verification for 'a form state update event with validation errors'
- 2025-06-20T11:28:17.991601Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.991609Z INFO ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64027/
- 2025-06-20T11:28:17.991612Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64027), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64027), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.991616Z INFO ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(66 bytes, application/json) )
- 2025-06-20T11:28:17.991620Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: body:
- {"description":"a form state update event with validation errors"}
- 2025-06-20T11:28:17.991647Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.991993Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64027
- 2025-06-20T11:28:17.992303Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: hyper_util::client::legacy::connect::http: connected to [::1]:64027
- 2025-06-20T11:28:17.993341Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64027)
- 2025-06-20T11:28:17.993360Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64027), path: "/", query: None, fragment: None }, status: 200, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "256", "etag": "W/\"100-zbZAbMLmDtJY6s6pUzUF6/D7TPI\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.993394Z INFO ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 200, headers: Some({"x-powered-by": ["Express"], "keep-alive": ["timeout=5"], "content-type": ["application/json; charset=utf-8"], "content-length": ["256"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "connection": ["keep-alive"], "etag": ["W/\"100-zbZAbMLmDtJY6s6pUzUF6/D7TPI\""]}), body: Present(256 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.993404Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::provider_client: body:
- {"instanceId":"testInstanceId","formFields":{"simpletext":{"id":"simpletext","label":"Simpletext label","isDisplayed":true,"isDisabled":false,"isRequired":true}},"formValues":{"simpletext":{"value":""}},"formErrors":{"simpletext":"This field is required"}}
- 2025-06-20T11:28:17.993414Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{\"instanceId\":\"testInstanceId\",\"formFields\":{\"simpletext\":{\"id\":\"simpletext\",\"label\":\"Simpletext label\",\"isDisplayed\":true,\"isDisabled\":false,\"isRequired\":true}},\"formValues\":{\"simpletext\":{\"value\":\"\"}},\"formErrors\":{\"simpletext\":\"This field is required\"}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.993426Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: comparing to expected message: Message { id: None, description: "a form state update event with validation errors", provider_states: [], contents: Present(b"{\"formErrors\":{\"simpletext\":\"This field is required\"},\"formFields\":{\"simpletext\":{\"id\":\"simpletext\",\"isDisabled\":false,\"isDisplayed\":true,\"isRequired\":true,\"label\":\"Simpletext label\"}},\"formValues\":{\"simpletext\":{\"value\":\"\"}},\"instanceId\":\"testInstanceId\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formFields")], expr: "$.formFields" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formErrors")], expr: "$.formErrors" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("instanceId")], expr: "$.instanceId" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }, DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.993463Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.993470Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.993758Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.993764Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.993774Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.993778Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Comparing maps at $: {"formErrors": Object {"simpletext": String("This field is required")}, "formFields": Object {"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(true), "label": String("Simpletext label")}}, "formValues": Object {"simpletext": Object {"value": String("")}}, "instanceId": String("testInstanceId")} -> {"formErrors": Object {"simpletext": String("This field is required")}, "formFields": Object {"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(true), "label": String("Simpletext label")}}, "formValues": Object {"simpletext": Object {"value": String("")}}, "instanceId": String("testInstanceId")}
- 2025-06-20T11:28:17.993800Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.formErrors
- 2025-06-20T11:28:17.993805Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Comparing maps at $.formErrors: {"simpletext": String("This field is required")} -> {"simpletext": String("This field is required")}
- 2025-06-20T11:28:17.993811Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Matcher is defined for path $.formErrors
- 2025-06-20T11:28:17.993815Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.993818Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::matchingrules: Comparing '{"simpletext": String("This field is required")}' to '{"simpletext": String("This field is required")}' using Type -> Ok(())
- 2025-06-20T11:28:17.993828Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.formErrors.simpletext
- 2025-06-20T11:28:17.993832Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Calling match_values for path $.formErrors.simpletext
- 2025-06-20T11:28:17.993836Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: JSON -> JSON: Comparing '"This field is required"' to '"This field is required"' using Type -> Ok(())
- 2025-06-20T11:28:17.993840Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Comparing 'String("This field is required")' to 'String("This field is required")' at path '$.formErrors.simpletext' -> Ok(())
- 2025-06-20T11:28:17.993845Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.formFields
- 2025-06-20T11:28:17.993848Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Comparing maps at $.formFields: {"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(true), "label": String("Simpletext label")}} -> {"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(true), "label": String("Simpletext label")}}
- 2025-06-20T11:28:17.993855Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Matcher is defined for path $.formFields
- 2025-06-20T11:28:17.993858Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.993861Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::matchingrules: Comparing '{"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(true), "label": String("Simpletext label")}}' to '{"simpletext": Object {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(true), "label": String("Simpletext label")}}' using Type -> Ok(())
- 2025-06-20T11:28:17.993870Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.formFields.simpletext
- 2025-06-20T11:28:17.993873Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Comparing maps at $.formFields.simpletext: {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(true), "label": String("Simpletext label")} -> {"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(true), "label": String("Simpletext label")}
- 2025-06-20T11:28:17.993879Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Matcher is defined for path $.formFields.simpletext
- 2025-06-20T11:28:17.993883Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.993886Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::matchingrules: Comparing '{"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(true), "label": String("Simpletext label")}' to '{"id": String("simpletext"), "isDisabled": Bool(false), "isDisplayed": Bool(true), "isRequired": Bool(true), "label": String("Simpletext label")}' using Type -> Ok(())
- 2025-06-20T11:28:17.993894Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.formFields.simpletext.id
- 2025-06-20T11:28:17.993898Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Calling match_values for path $.formFields.simpletext.id
- 2025-06-20T11:28:17.993902Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: JSON -> JSON: Comparing '"simpletext"' to '"simpletext"' using Type -> Ok(())
- 2025-06-20T11:28:17.993905Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Comparing 'String("simpletext")' to 'String("simpletext")' at path '$.formFields.simpletext.id' -> Ok(())
- 2025-06-20T11:28:17.993909Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.formFields.simpletext.isDisabled
- 2025-06-20T11:28:17.993913Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Calling match_values for path $.formFields.simpletext.isDisabled
- 2025-06-20T11:28:17.993916Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: JSON -> JSON: Comparing 'false' to 'false' using Type -> Ok(())
- 2025-06-20T11:28:17.993919Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Comparing 'Bool(false)' to 'Bool(false)' at path '$.formFields.simpletext.isDisabled' -> Ok(())
- 2025-06-20T11:28:17.993923Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.formFields.simpletext.isDisplayed
- 2025-06-20T11:28:17.993927Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Calling match_values for path $.formFields.simpletext.isDisplayed
- 2025-06-20T11:28:17.993930Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: JSON -> JSON: Comparing 'true' to 'true' using Type -> Ok(())
- 2025-06-20T11:28:17.993933Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Comparing 'Bool(true)' to 'Bool(true)' at path '$.formFields.simpletext.isDisplayed' -> Ok(())
- 2025-06-20T11:28:17.993937Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.formFields.simpletext.isRequired
- 2025-06-20T11:28:17.993940Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Calling match_values for path $.formFields.simpletext.isRequired
- 2025-06-20T11:28:17.993944Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: JSON -> JSON: Comparing 'true' to 'true' using Type -> Ok(())
- 2025-06-20T11:28:17.993947Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Comparing 'Bool(true)' to 'Bool(true)' at path '$.formFields.simpletext.isRequired' -> Ok(())
- 2025-06-20T11:28:17.993950Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.formFields.simpletext.label
- 2025-06-20T11:28:17.993954Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Calling match_values for path $.formFields.simpletext.label
- 2025-06-20T11:28:17.993957Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: JSON -> JSON: Comparing '"Simpletext label"' to '"Simpletext label"' using Type -> Ok(())
- 2025-06-20T11:28:17.993960Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Comparing 'String("Simpletext label")' to 'String("Simpletext label")' at path '$.formFields.simpletext.label' -> Ok(())
- 2025-06-20T11:28:17.993967Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.formValues
- 2025-06-20T11:28:17.993970Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Comparing maps at $.formValues: {"simpletext": Object {"value": String("")}} -> {"simpletext": Object {"value": String("")}}
- 2025-06-20T11:28:17.993974Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Matcher is defined for path $.formValues
- 2025-06-20T11:28:17.993978Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.993981Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::matchingrules: Comparing '{"simpletext": Object {"value": String("")}}' to '{"simpletext": Object {"value": String("")}}' using Type -> Ok(())
- 2025-06-20T11:28:17.993988Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.formValues.simpletext
- 2025-06-20T11:28:17.993991Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Comparing maps at $.formValues.simpletext: {"value": String("")} -> {"value": String("")}
- 2025-06-20T11:28:17.993996Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_maps: Matcher is defined for path $.formValues.simpletext
- 2025-06-20T11:28:17.993999Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::matchingrules: map -> map: comparing [String -> serde_json::value::Value] to [String -> serde_json::value::Value] using Type
- 2025-06-20T11:28:17.994002Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::matchingrules: Comparing '{"value": String("")}' to '{"value": String("")}' using Type -> Ok(())
- 2025-06-20T11:28:17.994008Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.formValues.simpletext.value
- 2025-06-20T11:28:17.994012Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Calling match_values for path $.formValues.simpletext.value
- 2025-06-20T11:28:17.994015Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: JSON -> JSON: Comparing '""' to '""' using Type -> Ok(())
- 2025-06-20T11:28:17.994018Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Comparing 'String("")' to 'String("")' at path '$.formValues.simpletext.value' -> Ok(())
- 2025-06-20T11:28:17.994023Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare: Comparing path $.instanceId
- 2025-06-20T11:28:17.994027Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Calling match_values for path $.instanceId
- 2025-06-20T11:28:17.994030Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: JSON -> JSON: Comparing '"testInstanceId"' to '"testInstanceId"' using Type -> Ok(())
- 2025-06-20T11:28:17.994033Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching::json: compare_values: Comparing 'String("testInstanceId")' to 'String("testInstanceId")' at path '$.instanceId' -> Ok(())
- 2025-06-20T11:28:17.994042Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.994045Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.994049Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.994053Z DEBUG ThreadId(17) verify_interaction{interaction="a form state update event with validation errors"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.994768Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.994776Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Running setup provider state change handler with empty state for 'a setCurrentPage event with empty pageId'
- 2025-06-20T11:28:17.994781Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.994788Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Running provider verification for 'a setCurrentPage event with empty pageId'
- 2025-06-20T11:28:17.994792Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.994801Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64027/
- 2025-06-20T11:28:17.994805Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64027), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64027), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.994810Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: 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) )
- 2025-06-20T11:28:17.994815Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: body:
- {"description":"a setCurrentPage event with empty pageId"}
- 2025-06-20T11:28:17.994843Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.995206Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64027
- 2025-06-20T11:28:17.995383Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: hyper_util::client::legacy::connect::http: connected to [::1]:64027
- [12:28:17.996] ERROR (13045): pact@15.0.1: no handler found for message a setCurrentPage event with empty pageId
- 2025-06-20T11:28:17.996689Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64027)
- 2025-06-20T11:28:17.996699Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64027), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.996727Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "connection": ["keep-alive"], "keep-alive": ["timeout=5"], "content-type": ["application/json; charset=utf-8"], "x-powered-by": ["Express"], "content-length": ["2"]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.996736Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:17.996746Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.996757Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: comparing to expected message: Message { id: None, description: "a setCurrentPage event with empty pageId", provider_states: [], contents: Present(b"{\"pageId\":\"\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.996768Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.996772Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:17.997029Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:17.997033Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:17.997038Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:17.997041Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching::json: compare_maps: Comparing maps at $: {"pageId": String("")} -> {}
- 2025-06-20T11:28:17.997060Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:17.997064Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:17.997068Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:17.997072Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:17.997720Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:17.997724Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Running setup provider state change handler with empty state for 'a setCurrentPage event with null pageId'
- 2025-06-20T11:28:17.997728Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:17.997732Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Running provider verification for 'a setCurrentPage event with null pageId'
- 2025-06-20T11:28:17.997736Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:17.997742Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64027/
- 2025-06-20T11:28:17.997745Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64027), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64027), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:17.997749Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(57 bytes, application/json) )
- 2025-06-20T11:28:17.997753Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: body:
- {"description":"a setCurrentPage event with null pageId"}
- 2025-06-20T11:28:17.997774Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:17.998081Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64027
- 2025-06-20T11:28:17.998411Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: hyper_util::client::legacy::connect::http: connected to [::1]:64027
- [12:28:17.999] ERROR (13045): pact@15.0.1: no handler found for message a setCurrentPage event with null pageId
- 2025-06-20T11:28:17.999762Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64027)
- 2025-06-20T11:28:17.999775Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64027), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:17 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:17.999811Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"keep-alive": ["timeout=5"], "x-powered-by": ["Express"], "connection": ["keep-alive"], "content-type": ["application/json; charset=utf-8"], "date": ["Fri, 20 Jun 2025 11:28:17 GMT"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""], "content-length": ["2"]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:17.999821Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:17.999832Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:17.999843Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: comparing to expected message: Message { id: None, description: "a setCurrentPage event with null pageId", provider_states: [], contents: Present(b"{\"pageId\":null}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:17.999853Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:17.999858Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:18.000142Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:18.000149Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:18.000154Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:18.000158Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching::json: compare_maps: Comparing maps at $: {"pageId": Null} -> {}
- 2025-06-20T11:28:18.000176Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:18.000180Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:18.000184Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:18.000189Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:18.000889Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:18.000895Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Running setup provider state change handler with empty state for 'a setCurrentPage event with valid pageId'
- 2025-06-20T11:28:18.000898Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:18.000903Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Running provider verification for 'a setCurrentPage event with valid pageId'
- 2025-06-20T11:28:18.000907Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:18.000914Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64027/
- 2025-06-20T11:28:18.000918Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64027), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64027), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:18.000922Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: 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) )
- 2025-06-20T11:28:18.000926Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: body:
- {"description":"a setCurrentPage event with valid pageId"}
- 2025-06-20T11:28:18.000948Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:18.001135Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64027
- 2025-06-20T11:28:18.001449Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: hyper_util::client::legacy::connect::http: connected to [::1]:64027
- [12:28:18.002] ERROR (13045): pact@15.0.1: no handler found for message a setCurrentPage event with valid pageId
- 2025-06-20T11:28:18.002882Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64027)
- 2025-06-20T11:28:18.002893Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64027), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:18 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:18.002920Z INFO ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"content-length": ["2"], "connection": ["keep-alive"], "date": ["Fri, 20 Jun 2025 11:28:18 GMT"], "keep-alive": ["timeout=5"], "content-type": ["application/json; charset=utf-8"], "x-powered-by": ["Express"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:18.002929Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:18.002939Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:18.002954Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: comparing to expected message: Message { id: None, description: "a setCurrentPage event with valid pageId", provider_states: [], contents: Present(b"{\"pageId\":\"page1\"}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("pageId")], expr: "$.pageId" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:18.002968Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:18.002972Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:18.003211Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:18.003215Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:18.003220Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:18.003223Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: compare_maps: Comparing maps at $: {"pageId": String("page1")} -> {}
- 2025-06-20T11:28:18.003239Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:18.003243Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:18.003246Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:18.003252Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:18.003936Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:18.003941Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Running setup provider state change handler with empty state for 'a setFormValues event clearing values'
- 2025-06-20T11:28:18.003946Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:18.003951Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Running provider verification for 'a setFormValues event clearing values'
- 2025-06-20T11:28:18.003955Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:18.003963Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64027/
- 2025-06-20T11:28:18.003967Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64027), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64027), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:18.003971Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(55 bytes, application/json) )
- 2025-06-20T11:28:18.003976Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: body:
- {"description":"a setFormValues event clearing values"}
- 2025-06-20T11:28:18.003998Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:18.004376Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64027
- 2025-06-20T11:28:18.004690Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: hyper_util::client::legacy::connect::http: connected to [::1]:64027
- [12:28:18.005] ERROR (13045): pact@15.0.1: no handler found for message a setFormValues event clearing values
- 2025-06-20T11:28:18.005949Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64027)
- 2025-06-20T11:28:18.005957Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64027), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:18 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:18.005978Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"keep-alive": ["timeout=5"], "content-type": ["application/json; charset=utf-8"], "x-powered-by": ["Express"], "date": ["Fri, 20 Jun 2025 11:28:18 GMT"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""], "content-length": ["2"], "connection": ["keep-alive"]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:18.005990Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:18.005997Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:18.006004Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: comparing to expected message: Message { id: None, description: "a setFormValues event clearing values", provider_states: [], contents: Present(b"{\"formValues\":{\"firstName\":{\"value\":null},\"lastName\":{\"value\":null}}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:18.006015Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:18.006020Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:18.006255Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:18.006259Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:18.006264Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:18.006267Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare_maps: Comparing maps at $: {"formValues": Object {"firstName": Object {"value": Null}, "lastName": Object {"value": Null}}} -> {}
- 2025-06-20T11:28:18.006283Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:18.006286Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:18.006290Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:18.006294Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:18.006943Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:18.006947Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Running setup provider state change handler with empty state for 'a setFormValues event with empty values'
- 2025-06-20T11:28:18.006951Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:18.006956Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Running provider verification for 'a setFormValues event with empty values'
- 2025-06-20T11:28:18.006959Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:18.006966Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64027/
- 2025-06-20T11:28:18.006969Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64027), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64027), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:18.006972Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(57 bytes, application/json) )
- 2025-06-20T11:28:18.006976Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: body:
- {"description":"a setFormValues event with empty values"}
- 2025-06-20T11:28:18.006996Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:18.007321Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64027
- 2025-06-20T11:28:18.007593Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: hyper_util::client::legacy::connect::http: connected to [::1]:64027
- [12:28:18.008] ERROR (13045): pact@15.0.1: no handler found for message a setFormValues event with empty values
- 2025-06-20T11:28:18.009024Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64027)
- 2025-06-20T11:28:18.009034Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64027), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:18 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:18.009059Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"content-length": ["2"], "connection": ["keep-alive"], "content-type": ["application/json; charset=utf-8"], "x-powered-by": ["Express"], "keep-alive": ["timeout=5"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""], "date": ["Fri, 20 Jun 2025 11:28:18 GMT"]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:18.009068Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:18.009076Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:18.009084Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: comparing to expected message: Message { id: None, description: "a setFormValues event with empty values", provider_states: [], contents: Present(b"{\"formValues\":{}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:18.009096Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:18.009101Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:18.009350Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:18.009354Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:18.009359Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:18.009362Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::json: compare_maps: Comparing maps at $: {"formValues": Object {}} -> {}
- 2025-06-20T11:28:18.009376Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:18.009380Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:18.009383Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:18.009388Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:18.010074Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Executing provider states
- 2025-06-20T11:28:18.010078Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Running setup provider state change handler with empty state for 'a setFormValues event with initial values'
- 2025-06-20T11:28:18.010082Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: State Change: "ProviderState { name: "", params: {} }" -> Ok({})
- 2025-06-20T11:28:18.010086Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Running provider verification for 'a setFormValues event with initial values'
- 2025-06-20T11:28:18.010089Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Verifying an asynchronous message (single shot)
- 2025-06-20T11:28:18.010096Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Sending request to provider at http://localhost:64027/
- 2025-06-20T11:28:18.010099Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Provider details = ProviderInfo { name: "dynamic-forms-ui-provider", protocol: "http", host: "localhost", port: Some(64027), path: "/", transports: [ProviderTransport { transport: "http", port: Some(64027), path: Some("/"), scheme: Some("http") }] }
- 2025-06-20T11:28:18.010103Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Sending request HTTP Request ( method: POST, path: /, query: None, headers: Some({"Content-Type": ["application/json"]}), body: Present(59 bytes, application/json) )
- 2025-06-20T11:28:18.010107Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: body:
- {"description":"a setFormValues event with initial values"}
- 2025-06-20T11:28:18.010131Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
- 2025-06-20T11:28:18.010423Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: hyper_util::client::legacy::connect::http: connecting to [::1]:64027
- 2025-06-20T11:28:18.010682Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: hyper_util::client::legacy::connect::http: connected to [::1]:64027
- [12:28:18.011] ERROR (13045): pact@15.0.1: no handler found for message a setFormValues event with initial values
- 2025-06-20T11:28:18.011879Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: hyper_util::client::legacy::pool: pooling idle connection for ("http", localhost:64027)
- 2025-06-20T11:28:18.011888Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Received native response: Response { url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(64027), path: "/", query: None, fragment: None }, status: 500, headers: {"x-powered-by": "Express", "content-type": "application/json; charset=utf-8", "content-length": "2", "etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"", "date": "Fri, 20 Jun 2025 11:28:18 GMT", "connection": "keep-alive", "keep-alive": "timeout=5"} }
- 2025-06-20T11:28:18.011912Z INFO ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: Received response: HTTP Response ( status: 500, headers: Some({"connection": ["keep-alive"], "content-length": ["2"], "keep-alive": ["timeout=5"], "etag": ["W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""], "content-type": ["application/json; charset=utf-8"], "date": ["Fri, 20 Jun 2025 11:28:18 GMT"], "x-powered-by": ["Express"]}), body: Present(2 bytes, application/json;charset=utf-8) )
- 2025-06-20T11:28:18.011922Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: body:
- {}
- 2025-06-20T11:28:18.011933Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::messages: actual message = AsynchronousMessage { id: None, key: None, description: "Asynchronous/Message Interaction", provider_states: [], contents: MessageContents { contents: Present(b"{}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {"charset": "utf-8"}, suffix: None }), None), metadata: {"contentType": String("application/json; charset=utf-8")}, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }
- 2025-06-20T11:28:18.011946Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: comparing to expected message: Message { id: None, description: "a setFormValues event with initial values", provider_states: [], contents: Present(b"{\"formValues\":{\"firstName\":{\"value\":\"John\"},\"lastName\":{\"value\":\"Doe\"}}}", Some(ContentType { main_type: "application", sub_type: "json", attributes: {}, suffix: None }), None), metadata: {"contentType": String("application/json")}, matching_rules: MatchingRules { rules: {BODY: MatchingRuleCategory { name: BODY, rules: {DocPath { path_tokens: [Root, Field("formValues")], expr: "$.formValues" }: RuleList { rules: [Type], rule_logic: And, cascaded: false }} }} }, generators: Generators { categories: {} } }
- 2025-06-20T11:28:18.011960Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: expected content type = 'application/json', actual content type = 'application/json;charset=utf-8'
- 2025-06-20T11:28:18.011965Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_plugin_driver::catalogue_manager: Looking for a content matcher for application/json
- 2025-06-20T11:28:18.012248Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: No content matcher defined for content type 'application/json', using core matcher implementation
- 2025-06-20T11:28:18.012253Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Using body matcher for content type 'application/json'
- 2025-06-20T11:28:18.012259Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare: Comparing path $
- 2025-06-20T11:28:18.012262Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare_maps: Comparing maps at $: {"formValues": Object {"firstName": Object {"value": String("John")}, "lastName": Object {"value": String("Doe")}}} -> {}
- 2025-06-20T11:28:18.012280Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Matching message metadata
- 2025-06-20T11:28:18.012284Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Matching message metadata. Expected '{"contentType": String("application/json")}', Actual '{"contentType": String("application/json; charset=utf-8")}'
- 2025-06-20T11:28:18.012288Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Comparing metadata values for key 'contentType'
- 2025-06-20T11:28:18.012293Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Comparing message context type '"application/json"' => '"application/json; charset=utf-8"'
- 2025-06-20T11:28:18.021357Z DEBUG ThreadId(17) pact_matching::metrics: Sending event to GA - {"v": "1", "tid": "UA-117778936-1", "ds": "client", "an": "pact-core", "cd2": "unknown", "cd3": "macos-aarch64", "cd6": "pact_ffi", "ec": "ProviderTest", "cid": "0a6a9f7b1ec2f0f1d0b54d2aaccedd91", "cd7": "1.2.6", "ea": "Completed", "aip": "true", "aid": "pact-core", "av": "16.0.0", "ev": "8", "t": "event", "el": "Pacts verified"}
- 2025-06-20T11:28:18.022038Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="www.google-analytics.com"
- 2025-06-20T11:28:18.023972Z DEBUG ThreadId(17) hyper_util::client::legacy::connect::http: connecting to 142.250.200.142:443
- 2025-06-20T11:28:18.041246Z DEBUG ThreadId(17) hyper_util::client::legacy::connect::http: connected to 142.250.200.142:443
- 2025-06-20T11:28:18.131800Z DEBUG ThreadId(17) hyper_util::client::legacy::pool: pooling idle connection for ("https", www.google-analytics.com)
- Verifying a pact between [1mdynamic-forms-ui-consumer[0m and [1mdynamic-forms-ui-provider[0m
- a form state update event with field values (0s loading, 4ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([32mOK[0m)
- a form state update event with validation errors (0s loading, 3ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([32mOK[0m)
- a setCurrentPage event with empty pageId (0s loading, 2ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a setCurrentPage event with null pageId (0s loading, 3ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a setCurrentPage event with valid pageId (0s loading, 3ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a setFormValues event clearing values (0s loading, 3ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a setFormValues event with empty values (0s loading, 3ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- a setFormValues event with initial values (0s loading, 2ms verification)
- generates a message which
- includes metadata
- "[1mcontentType[0m" with value [1m"application/json"[0m ([32mOK[0m)
- has a matching body ([31mFAILED[0m)
- Failures:
- 1) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setCurrentPage event with empty pageId
- 1.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: pageId
- [31m -{
- "pageId": ""
- }
- [0m[32m +{}
- [0m
- 2) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setCurrentPage event with null pageId
- 2.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: pageId
- [31m -{
- "pageId": null
- }
- [0m[32m +{}
- [0m
- 3) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setCurrentPage event with valid pageId
- 3.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: pageId
- [31m -{
- "pageId": "page1"
- }
- [0m[32m +{}
- [0m
- 4) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setFormValues event clearing values
- 4.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: formValues
- [31m -{
- "formValues": {
- "firstName": {
- "value": null
- },
- "lastName": {
- "value": null
- }
- }
- }
- [0m[32m +{}
- [0m
- 5) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setFormValues event with empty values
- 5.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: formValues
- [31m -{
- "formValues": {}
- }
- [0m[32m +{}
- [0m
- 6) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setFormValues event with initial values
- 6.1) has a matching body
- [1m$[0m -> Actual map is missing the following keys: formValues
- [31m -{
- "formValues": {
- "firstName": {
- "value": "John"
- },
- "lastName": {
- "value": "Doe"
- }
- }
- }
- [0m[32m +{}
- [0m
- There were 6 pact failures
- 2025-06-20T11:28:18.132261Z DEBUG ThreadId(17) pact_plugin_driver::plugin_manager: Shutting down all plugins
- [12:28:18.132] DEBUG (13045): pact-core@16.0.0: shutting down verifier with handle 2
- 2025-06-20T11:28:18.133500Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_shutdown FFI function invoked
- [12:28:18.133] DEBUG (13045): pact-core@16.0.0: response from verifier: null, 1
- [12:28:18.133] ERROR (13045): pact-core@16.0.0: Verification unsuccessful
Advertisement
Add Comment
Please, Sign In to add comment