Guest User

ProviderTestOutput

a guest
Jun 20th, 2025
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 266.38 KB | None | 0 0
  1.  
  2. > dynamicforms@0.0.0 test:provider:contracts
  3. > react-scripts test --watchAll=false --testMatch="{src,}/**/pactflow-contracts/**/*.provider.pact.ts" --env=jest-fixed-jsdom --coverage=false --detectOpenHandles
  4.  
  5.  
  6. +----------------------------+
  7. |                            |
  8. |          G-P               |
  9. |   Nova React-Scripts       |
  10. |                            |
  11. +----------------------------+
  12.  
  13. [12:28:17.224] INFO (13045): pact@15.0.1: Verifying message
  14. [12:28:17.231] INFO (13045): pact-core@16.0.0: Verifying Pacts.
  15. [12:28:17.232] INFO (13045): pact-core@16.0.0: Verifying Pact Files
  16. [12:28:17.233] DEBUG (13045): pact-core@16.0.0: binding path #0: : attempting to load native module from:
  17.  
  18.  - /Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/node_modules/@pact-foundation/pact-core-darwin-arm64/prebuilds/darwin-arm64
  19.    source: pact-js-core binding lookup
  20.  
  21.  - You can override via PACT_PREBUILD_LOCATION
  22.  
  23. [12:28:17.241] INFO (13045): 0.4.22: pact native library successfully found, and the correct version
  24. [12:28:17.241] DEBUG (13045): pact-core@16.0.0: Initialising native core at log level 'debug'
  25. 2025-06-20T11:28:17.244939Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_new_for_application FFI function invoked
  26. 2025-06-20T11:28:17.246573Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_set_provider_info FFI function invoked
  27. [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
  28. [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
  29. 2025-06-20T11:28:17.247039Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_set_verification_options FFI function invoked
  30. [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
  31. [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
  32. [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
  33. [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
  34. [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
  35. [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
  36. 2025-06-20T11:28:17.248270Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_add_file_source FFI function invoked
  37. [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
  38. [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
  39. 2025-06-20T11:28:17.248853Z DEBUG ThreadId(02) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_execute FFI function invoked
  40. 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)
  41. 2025-06-20T11:28:17.252363Z DEBUG ThreadId(02) pact_plugin_driver::catalogue_manager: Updated catalogue entries:
  42. core/content-generator/binary
  43. core/content-generator/json
  44. core/content-matcher/json
  45. core/content-matcher/multipart-form-data
  46. core/content-matcher/text
  47. core/content-matcher/xml
  48. 2025-06-20T11:28:17.252391Z DEBUG ThreadId(02) pact_plugin_driver::catalogue_manager: Updated catalogue entries:
  49. core/matcher/v1-equality
  50. core/matcher/v2-max-type
  51. core/matcher/v2-min-type
  52. core/matcher/v2-minmax-type
  53. core/matcher/v2-regex
  54. core/matcher/v2-type
  55. core/matcher/v3-content-type
  56. core/matcher/v3-date
  57. core/matcher/v3-datetime
  58. core/matcher/v3-decimal-type
  59. core/matcher/v3-includes
  60. core/matcher/v3-integer-type
  61. core/matcher/v3-null
  62. core/matcher/v3-number-type
  63. core/matcher/v3-time
  64. core/matcher/v4-array-contains
  65. core/matcher/v4-equals-ignore-order
  66. core/matcher/v4-max-equals-ignore-order
  67. core/matcher/v4-min-equals-ignore-order
  68. core/matcher/v4-minmax-equals-ignore-order
  69. core/matcher/v4-not-empty
  70. core/matcher/v4-semver
  71. 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
  72. 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'
  73. 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({})
  74. 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'
  75. 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)
  76. 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/
  77. 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") }] }
  78. 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) )
  79. 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:
  80. {"description":"a form state update event with field values"}
  81. 2025-06-20T11:28:17.257774Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  82. 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
  83. 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
  84. [12:28:17.268] ERROR (13045): pact@15.0.1: no handler found for message a form state update event with field values
  85. 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)
  86. 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"} }
  87. 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) )
  88. 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:
  89. {}
  90. 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 }
  91. 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: {} } }
  92. 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'
  93. 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
  94. 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
  95. 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'
  96. 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 $
  97. 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")} -> {}
  98. 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
  99. 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")}'
  100. 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'
  101. 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"'
  102. 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
  103. 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'
  104. 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({})
  105. 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'
  106. 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)
  107. 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/
  108. 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") }] }
  109. 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) )
  110. 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:
  111. {"description":"a form state update event with validation errors"}
  112. 2025-06-20T11:28:17.272877Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  113. 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
  114. 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
  115. [12:28:17.274] ERROR (13045): pact@15.0.1: no handler found for message a form state update event with validation errors
  116. 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)
  117. 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"} }
  118. 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) )
  119. 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:
  120. {}
  121. 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 }
  122. 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: {} } }
  123. 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'
  124. 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
  125. 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
  126. 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'
  127. 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 $
  128. 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")} -> {}
  129. 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
  130. 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")}'
  131. 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'
  132. 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"'
  133. 2025-06-20T11:28:17.276971Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Executing provider states
  134. 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'
  135. 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({})
  136. 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'
  137. 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)
  138. 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/
  139. 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") }] }
  140. 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) )
  141. 2025-06-20T11:28:17.277017Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: body:
  142. {"description":"a setCurrentPage event with empty pageId"}
  143. 2025-06-20T11:28:17.277043Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  144. 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
  145. 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
  146. 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)
  147. 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"} }
  148. 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) )
  149. 2025-06-20T11:28:17.278843Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: body:
  150. {"pageId":""}
  151. 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 }
  152. 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: {} } }
  153. 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'
  154. 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
  155. 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
  156. 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'
  157. 2025-06-20T11:28:17.279146Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching::json: compare: Comparing path $
  158. 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("")}
  159. 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
  160. 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(())
  161. 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(())
  162. 2025-06-20T11:28:17.279173Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Matching message metadata
  163. 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")}'
  164. 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'
  165. 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"'
  166. 2025-06-20T11:28:17.279900Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Executing provider states
  167. 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'
  168. 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({})
  169. 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'
  170. 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)
  171. 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/
  172. 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") }] }
  173. 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) )
  174. 2025-06-20T11:28:17.279944Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: body:
  175. {"description":"a setCurrentPage event with null pageId"}
  176. 2025-06-20T11:28:17.279967Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  177. 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
  178. 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
  179. 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)
  180. 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"} }
  181. 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) )
  182. 2025-06-20T11:28:17.281600Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: body:
  183. {"pageId":null}
  184. 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 }
  185. 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: {} } }
  186. 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'
  187. 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
  188. 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
  189. 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'
  190. 2025-06-20T11:28:17.281942Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching::json: compare: Comparing path $
  191. 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}
  192. 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
  193. 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(())
  194. 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(())
  195. 2025-06-20T11:28:17.281968Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Matching message metadata
  196. 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")}'
  197. 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'
  198. 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"'
  199. 2025-06-20T11:28:17.282705Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Executing provider states
  200. 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'
  201. 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({})
  202. 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'
  203. 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)
  204. 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/
  205. 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") }] }
  206. 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) )
  207. 2025-06-20T11:28:17.282745Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: body:
  208. {"description":"a setCurrentPage event with valid pageId"}
  209. 2025-06-20T11:28:17.282766Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  210. 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
  211. 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
  212. 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)
  213. 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"} }
  214. 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) )
  215. 2025-06-20T11:28:17.284546Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: body:
  216. {"pageId":"page1"}
  217. 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 }
  218. 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: {} } }
  219. 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'
  220. 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
  221. 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
  222. 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'
  223. 2025-06-20T11:28:17.284835Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: compare: Comparing path $
  224. 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")}
  225. 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
  226. 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
  227. 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(())
  228. 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(())
  229. 2025-06-20T11:28:17.284869Z DEBUG ThreadId(02) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Matching message metadata
  230. 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")}'
  231. 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'
  232. 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"'
  233. 2025-06-20T11:28:17.285558Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Executing provider states
  234. 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'
  235. 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({})
  236. 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'
  237. 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)
  238. 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/
  239. 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") }] }
  240. 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) )
  241. 2025-06-20T11:28:17.285599Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: body:
  242. {"description":"a setFormValues event clearing values"}
  243. 2025-06-20T11:28:17.285617Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  244. 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
  245. 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
  246. [12:28:17.287] ERROR (13045): pact@15.0.1: no handler found for message a setFormValues event clearing values
  247. 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)
  248. 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"} }
  249. 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) )
  250. 2025-06-20T11:28:17.287884Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: body:
  251. {}
  252. 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 }
  253. 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: {} } }
  254. 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'
  255. 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
  256. 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
  257. 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'
  258. 2025-06-20T11:28:17.288198Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare: Comparing path $
  259. 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}}} -> {}
  260. 2025-06-20T11:28:17.288221Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Matching message metadata
  261. 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")}'
  262. 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'
  263. 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"'
  264. 2025-06-20T11:28:17.289005Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Executing provider states
  265. 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'
  266. 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({})
  267. 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'
  268. 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)
  269. 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/
  270. 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") }] }
  271. 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) )
  272. 2025-06-20T11:28:17.289055Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: body:
  273. {"description":"a setFormValues event with empty values"}
  274. 2025-06-20T11:28:17.289087Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  275. 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
  276. 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
  277. [12:28:17.290] ERROR (13045): pact@15.0.1: no handler found for message a setFormValues event with empty values
  278. 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)
  279. 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"} }
  280. 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) )
  281. 2025-06-20T11:28:17.291685Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: body:
  282. {}
  283. 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 }
  284. 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: {} } }
  285. 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'
  286. 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
  287. 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
  288. 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'
  289. 2025-06-20T11:28:17.292004Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::json: compare: Comparing path $
  290. 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 {}} -> {}
  291. 2025-06-20T11:28:17.292027Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Matching message metadata
  292. 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")}'
  293. 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'
  294. 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"'
  295. 2025-06-20T11:28:17.292836Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Executing provider states
  296. 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'
  297. 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({})
  298. 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'
  299. 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)
  300. 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/
  301. 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") }] }
  302. 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) )
  303. 2025-06-20T11:28:17.292885Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: body:
  304. {"description":"a setFormValues event with initial values"}
  305. 2025-06-20T11:28:17.292907Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  306. 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
  307. 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
  308. [12:28:17.294] ERROR (13045): pact@15.0.1: no handler found for message a setFormValues event with initial values
  309. 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)
  310. 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"} }
  311. 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) )
  312. 2025-06-20T11:28:17.295145Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: body:
  313. {}
  314. 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 }
  315. 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: {} } }
  316. 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'
  317. 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
  318. 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
  319. 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'
  320. 2025-06-20T11:28:17.295428Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare: Comparing path $
  321. 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")}}} -> {}
  322. 2025-06-20T11:28:17.295447Z DEBUG ThreadId(02) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Matching message metadata
  323. 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")}'
  324. 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'
  325. 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"'
  326. 2025-06-20T11:28:17.295580Z  WARN ThreadId(02) pact_matching::metrics:
  327.  
  328. Please note:
  329. 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'.
  330.  
  331.  
  332. 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"}
  333. 2025-06-20T11:28:17.310664Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="www.google-analytics.com"
  334. 2025-06-20T11:28:17.312580Z DEBUG ThreadId(02) hyper_util::client::legacy::connect::http: connecting to 142.250.200.142:443
  335. 2025-06-20T11:28:17.326983Z DEBUG ThreadId(02) hyper_util::client::legacy::connect::http: connected to 142.250.200.142:443
  336. 2025-06-20T11:28:17.401264Z DEBUG ThreadId(02) hyper_util::client::legacy::pool: pooling idle connection for ("https", www.google-analytics.com)
  337.  
  338. Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider
  339.  
  340.   a form state update event with field values (1ms loading, 17ms verification)
  341.     generates a message which
  342.       includes metadata
  343.         "contentType" with value "application/json" (OK)
  344.       has a matching body (FAILED)
  345.  
  346.   a form state update event with validation errors (1ms loading, 4ms verification)
  347.     generates a message which
  348.       includes metadata
  349.         "contentType" with value "application/json" (OK)
  350.       has a matching body (FAILED)
  351.  
  352.   a setCurrentPage event with empty pageId (1ms loading, 2ms verification)
  353.     generates a message which
  354.       includes metadata
  355.         "contentType" with value "application/json" (OK)
  356.       has a matching body (OK)
  357.  
  358.   a setCurrentPage event with null pageId (1ms loading, 2ms verification)
  359.     generates a message which
  360.       includes metadata
  361.         "contentType" with value "application/json" (OK)
  362.       has a matching body (OK)
  363.  
  364.   a setCurrentPage event with valid pageId (1ms loading, 2ms verification)
  365.     generates a message which
  366.       includes metadata
  367.         "contentType" with value "application/json" (OK)
  368.       has a matching body (OK)
  369.  
  370.   a setFormValues event clearing values (1ms loading, 3ms verification)
  371.     generates a message which
  372.       includes metadata
  373.         "contentType" with value "application/json" (OK)
  374.       has a matching body (FAILED)
  375.  
  376.   a setFormValues event with empty values (1ms loading, 3ms verification)
  377.     generates a message which
  378.       includes metadata
  379.         "contentType" with value "application/json" (OK)
  380.       has a matching body (FAILED)
  381.  
  382.   a setFormValues event with initial values (1ms loading, 3ms verification)
  383.     generates a message which
  384.       includes metadata
  385.         "contentType" with value "application/json" (OK)
  386.       has a matching body (FAILED)
  387.  
  388.  
  389. Failures:
  390.  
  391. 1) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a form state update event with field values
  392.     1.1) has a matching body
  393.            $ -> Actual map is missing the following keys: formErrors, formFields, formValues, instanceId
  394.     -{
  395.   "formErrors": {},
  396.   "formFields": {
  397.     "simpletext": {
  398.       "id": "simpletext",
  399.       "isDisabled": false,
  400.       "isDisplayed": true,
  401.       "isRequired": false,
  402.       "label": "Simpletext label"
  403.     }
  404.   },
  405.   "formValues": {
  406.     "simpletext": {
  407.       "value": "test value"
  408.     }
  409.   },
  410.   "instanceId": "testInstanceId"
  411. }
  412.     +{}
  413. 
  414. 2) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a form state update event with validation errors
  415.     2.1) has a matching body
  416.            $ -> Actual map is missing the following keys: formErrors, formFields, formValues, instanceId
  417.     -{
  418.   "formErrors": {
  419.     "simpletext": "This field is required"
  420.   },
  421.   "formFields": {
  422.     "simpletext": {
  423.       "id": "simpletext",
  424.       "isDisabled": false,
  425.       "isDisplayed": true,
  426.       "isRequired": true,
  427.       "label": "Simpletext label"
  428.     }
  429.   },
  430.   "formValues": {
  431.     "simpletext": {
  432.       "value": ""
  433.     }
  434.   },
  435.   "instanceId": "testInstanceId"
  436. }
  437.     +{}
  438. 
  439. 3) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setFormValues event clearing values
  440.     3.1) has a matching body
  441.            $ -> Actual map is missing the following keys: formValues
  442.     -{
  443.   "formValues": {
  444.     "firstName": {
  445.       "value": null
  446.     },
  447.     "lastName": {
  448.       "value": null
  449.     }
  450.   }
  451. }
  452.     +{}
  453. 
  454. 4) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setFormValues event with empty values
  455.     4.1) has a matching body
  456.            $ -> Actual map is missing the following keys: formValues
  457.     -{
  458.   "formValues": {}
  459. }
  460.     +{}
  461. 
  462. 5) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setFormValues event with initial values
  463.     5.1) has a matching body
  464.            $ -> Actual map is missing the following keys: formValues
  465.     -{
  466.   "formValues": {
  467.     "firstName": {
  468.       "value": "John"
  469.     },
  470.     "lastName": {
  471.       "value": "Doe"
  472.     }
  473.   }
  474. }
  475.     +{}
  476. 
  477.  
  478. There were 5 pact failures
  479.  
  480. 2025-06-20T11:28:17.401692Z DEBUG ThreadId(02) pact_plugin_driver::plugin_manager: Shutting down all plugins
  481. [12:28:17.401] DEBUG (13045): pact-core@16.0.0: shutting down verifier with handle 0
  482. 2025-06-20T11:28:17.403152Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_shutdown FFI function invoked
  483. [12:28:17.403] DEBUG (13045): pact-core@16.0.0: response from verifier: null, 1
  484. [12:28:17.403] ERROR (13045): pact-core@16.0.0: Verification unsuccessful
  485. [12:28:17.604] INFO (13045): pact@15.0.1: Verifying message
  486. [12:28:17.606] INFO (13045): pact-core@16.0.0: Verifying Pacts.
  487. [12:28:17.607] INFO (13045): pact-core@16.0.0: Verifying Pact Files
  488. [12:28:17.607] DEBUG (13045): pact-core@16.0.0: binding path #0: : attempting to load native module from:
  489.  
  490.  - /Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/node_modules/@pact-foundation/pact-core-darwin-arm64/prebuilds/darwin-arm64
  491.    source: pact-js-core binding lookup
  492.  
  493.  - You can override via PACT_PREBUILD_LOCATION
  494.  
  495. [12:28:17.608] INFO (13045): 0.4.22: pact native library successfully found, and the correct version
  496. [12:28:17.608] DEBUG (13045): pact-core@16.0.0: Initialising native core at log level 'debug'
  497. 2025-06-20T11:28:17.608739Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_new_for_application FFI function invoked
  498. 2025-06-20T11:28:17.608779Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_set_provider_info FFI function invoked
  499. [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
  500. [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
  501. 2025-06-20T11:28:17.608863Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_set_verification_options FFI function invoked
  502. [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
  503. [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
  504. [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
  505. [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
  506. [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
  507. [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
  508. 2025-06-20T11:28:17.609239Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_add_file_source FFI function invoked
  509. [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
  510. [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
  511. 2025-06-20T11:28:17.609368Z DEBUG ThreadId(16) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_execute FFI function invoked
  512. 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)
  513. 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
  514. 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'
  515. 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({})
  516. 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'
  517. 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)
  518. 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/
  519. 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") }] }
  520. 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) )
  521. 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:
  522. {"description":"a form state update event with field values"}
  523. 2025-06-20T11:28:17.610580Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  524. 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
  525. 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
  526. [12:28:17.613] ERROR (13045): pact@15.0.1: no handler found for message a form state update event with field values
  527. 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)
  528. 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"} }
  529. 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) )
  530. 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:
  531. {}
  532. 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 }
  533. 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: {} } }
  534. 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'
  535. 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
  536. 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
  537. 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'
  538. 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 $
  539. 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")} -> {}
  540. 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
  541. 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")}'
  542. 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'
  543. 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"'
  544. 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
  545. 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'
  546. 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({})
  547. 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'
  548. 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)
  549. 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/
  550. 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") }] }
  551. 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) )
  552. 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:
  553. {"description":"a form state update event with validation errors"}
  554. 2025-06-20T11:28:17.615783Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  555. 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
  556. 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
  557. [12:28:17.617] ERROR (13045): pact@15.0.1: no handler found for message a form state update event with validation errors
  558. 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)
  559. 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"} }
  560. 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) )
  561. 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:
  562. {}
  563. 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 }
  564. 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: {} } }
  565. 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'
  566. 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
  567. 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
  568. 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'
  569. 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 $
  570. 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")} -> {}
  571. 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
  572. 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")}'
  573. 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'
  574. 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"'
  575. 2025-06-20T11:28:17.619003Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Executing provider states
  576. 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'
  577. 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({})
  578. 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'
  579. 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)
  580. 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/
  581. 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") }] }
  582. 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) )
  583. 2025-06-20T11:28:17.619038Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: body:
  584. {"description":"a setCurrentPage event with empty pageId"}
  585. 2025-06-20T11:28:17.619061Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  586. 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
  587. 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
  588. [12:28:17.620] ERROR (13045): pact@15.0.1: no handler found for message a setCurrentPage event with empty pageId
  589. 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)
  590. 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"} }
  591. 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) )
  592. 2025-06-20T11:28:17.621122Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: body:
  593. {}
  594. 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 }
  595. 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: {} } }
  596. 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'
  597. 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
  598. 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
  599. 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'
  600. 2025-06-20T11:28:17.621412Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching::json: compare: Comparing path $
  601. 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("")} -> {}
  602. 2025-06-20T11:28:17.621431Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Matching message metadata
  603. 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")}'
  604. 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'
  605. 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"'
  606. 2025-06-20T11:28:17.622180Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Executing provider states
  607. 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'
  608. 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({})
  609. 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'
  610. 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)
  611. 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/
  612. 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") }] }
  613. 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) )
  614. 2025-06-20T11:28:17.622231Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: body:
  615. {"description":"a setCurrentPage event with null pageId"}
  616. 2025-06-20T11:28:17.622265Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  617. 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
  618. 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
  619. [12:28:17.624] ERROR (13045): pact@15.0.1: no handler found for message a setCurrentPage event with null pageId
  620. 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)
  621. 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"} }
  622. 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) )
  623. 2025-06-20T11:28:17.625576Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: body:
  624. {}
  625. 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 }
  626. 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: {} } }
  627. 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'
  628. 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
  629. 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
  630. 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'
  631. 2025-06-20T11:28:17.625893Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching::json: compare: Comparing path $
  632. 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} -> {}
  633. 2025-06-20T11:28:17.625918Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Matching message metadata
  634. 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")}'
  635. 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'
  636. 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"'
  637. 2025-06-20T11:28:17.626673Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Executing provider states
  638. 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'
  639. 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({})
  640. 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'
  641. 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)
  642. 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/
  643. 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") }] }
  644. 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) )
  645. 2025-06-20T11:28:17.626717Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: body:
  646. {"description":"a setCurrentPage event with valid pageId"}
  647. 2025-06-20T11:28:17.626744Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  648. 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
  649. 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
  650. [12:28:17.627] ERROR (13045): pact@15.0.1: no handler found for message a setCurrentPage event with valid pageId
  651. 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)
  652. 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"} }
  653. 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) )
  654. 2025-06-20T11:28:17.628668Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: body:
  655. {}
  656. 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 }
  657. 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: {} } }
  658. 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'
  659. 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
  660. 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
  661. 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'
  662. 2025-06-20T11:28:17.628960Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: compare: Comparing path $
  663. 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")} -> {}
  664. 2025-06-20T11:28:17.628978Z DEBUG ThreadId(16) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Matching message metadata
  665. 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")}'
  666. 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'
  667. 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"'
  668. 2025-06-20T11:28:17.629683Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Executing provider states
  669. 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'
  670. 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({})
  671. 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'
  672. 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)
  673. 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/
  674. 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") }] }
  675. 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) )
  676. 2025-06-20T11:28:17.629718Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: body:
  677. {"description":"a setFormValues event clearing values"}
  678. 2025-06-20T11:28:17.629739Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  679. 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
  680. 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
  681. 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)
  682. 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"} }
  683. 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) )
  684. 2025-06-20T11:28:17.631066Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: body:
  685. {"formValues":{"firstName":{"value":null},"lastName":{"value":null}}}
  686. 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 }
  687. 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: {} } }
  688. 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'
  689. 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
  690. 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
  691. 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'
  692. 2025-06-20T11:28:17.631389Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare: Comparing path $
  693. 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}}}
  694. 2025-06-20T11:28:17.631403Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare: Comparing path $.formValues
  695. 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}}
  696. 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
  697. 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
  698. 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(())
  699. 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
  700. 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}
  701. 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
  702. 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
  703. 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(())
  704. 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
  705. 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
  706. 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(())
  707. 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(())
  708. 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
  709. 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}
  710. 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
  711. 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
  712. 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(())
  713. 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
  714. 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
  715. 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(())
  716. 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(())
  717. 2025-06-20T11:28:17.631519Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Matching message metadata
  718. 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")}'
  719. 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'
  720. 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"'
  721. 2025-06-20T11:28:17.632310Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Executing provider states
  722. 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'
  723. 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({})
  724. 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'
  725. 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)
  726. 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/
  727. 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") }] }
  728. 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) )
  729. 2025-06-20T11:28:17.632344Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: body:
  730. {"description":"a setFormValues event with empty values"}
  731. 2025-06-20T11:28:17.632365Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  732. 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
  733. 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
  734. 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)
  735. 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"} }
  736. 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) )
  737. 2025-06-20T11:28:17.633644Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: body:
  738. {"formValues":{}}
  739. 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 }
  740. 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: {} } }
  741. 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'
  742. 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
  743. 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
  744. 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'
  745. 2025-06-20T11:28:17.633916Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::json: compare: Comparing path $
  746. 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 {}}
  747. 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
  748. 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: {} -> {}
  749. 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
  750. 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
  751. 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(())
  752. 2025-06-20T11:28:17.633949Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Matching message metadata
  753. 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")}'
  754. 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'
  755. 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"'
  756. 2025-06-20T11:28:17.635820Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Executing provider states
  757. 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'
  758. 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({})
  759. 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'
  760. 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)
  761. 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/
  762. 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") }] }
  763. 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) )
  764. 2025-06-20T11:28:17.635856Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: body:
  765. {"description":"a setFormValues event with initial values"}
  766. 2025-06-20T11:28:17.635875Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  767. 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
  768. 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
  769. 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)
  770. 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"} }
  771. 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) )
  772. 2025-06-20T11:28:17.638719Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: body:
  773. {"formValues":{"firstName":{"value":"John"},"lastName":{"value":"Doe"}}}
  774. 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 }
  775. 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: {} } }
  776. 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'
  777. 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
  778. 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
  779. 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'
  780. 2025-06-20T11:28:17.639005Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare: Comparing path $
  781. 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")}}}
  782. 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
  783. 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")}}
  784. 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
  785. 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
  786. 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(())
  787. 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
  788. 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")}
  789. 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
  790. 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
  791. 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(())
  792. 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
  793. 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
  794. 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(())
  795. 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(())
  796. 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
  797. 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")}
  798. 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
  799. 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
  800. 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(())
  801. 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
  802. 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
  803. 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(())
  804. 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(())
  805. 2025-06-20T11:28:17.639120Z DEBUG ThreadId(16) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Matching message metadata
  806. 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")}'
  807. 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'
  808. 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"'
  809. 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"}
  810. 2025-06-20T11:28:17.671615Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="www.google-analytics.com"
  811. 2025-06-20T11:28:17.672957Z DEBUG ThreadId(16) hyper_util::client::legacy::connect::http: connecting to 142.250.200.142:443
  812. 2025-06-20T11:28:17.686813Z DEBUG ThreadId(16) hyper_util::client::legacy::connect::http: connected to 142.250.200.142:443
  813. 2025-06-20T11:28:17.758585Z DEBUG ThreadId(16) hyper_util::client::legacy::pool: pooling idle connection for ("https", www.google-analytics.com)
  814.  
  815. Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider
  816.  
  817.   a form state update event with field values (0s loading, 5ms verification)
  818.     generates a message which
  819.       includes metadata
  820.         "contentType" with value "application/json" (OK)
  821.       has a matching body (FAILED)
  822.  
  823.   a form state update event with validation errors (0s loading, 3ms verification)
  824.     generates a message which
  825.       includes metadata
  826.         "contentType" with value "application/json" (OK)
  827.       has a matching body (FAILED)
  828.  
  829.   a setCurrentPage event with empty pageId (0s loading, 3ms verification)
  830.     generates a message which
  831.       includes metadata
  832.         "contentType" with value "application/json" (OK)
  833.       has a matching body (FAILED)
  834.  
  835.   a setCurrentPage event with null pageId (0s loading, 4ms verification)
  836.     generates a message which
  837.       includes metadata
  838.         "contentType" with value "application/json" (OK)
  839.       has a matching body (FAILED)
  840.  
  841.   a setCurrentPage event with valid pageId (0s loading, 3ms verification)
  842.     generates a message which
  843.       includes metadata
  844.         "contentType" with value "application/json" (OK)
  845.       has a matching body (FAILED)
  846.  
  847.   a setFormValues event clearing values (0s loading, 2ms verification)
  848.     generates a message which
  849.       includes metadata
  850.         "contentType" with value "application/json" (OK)
  851.       has a matching body (OK)
  852.  
  853.   a setFormValues event with empty values (0s loading, 2ms verification)
  854.     generates a message which
  855.       includes metadata
  856.         "contentType" with value "application/json" (OK)
  857.       has a matching body (OK)
  858.  
  859.   a setFormValues event with initial values (0s loading, 5ms verification)
  860.     generates a message which
  861.       includes metadata
  862.         "contentType" with value "application/json" (OK)
  863.       has a matching body (OK)
  864.  
  865.  
  866. Failures:
  867.  
  868. 1) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a form state update event with field values
  869.     1.1) has a matching body
  870.            $ -> Actual map is missing the following keys: formErrors, formFields, formValues, instanceId
  871.     -{
  872.   "formErrors": {},
  873.   "formFields": {
  874.     "simpletext": {
  875.       "id": "simpletext",
  876.       "isDisabled": false,
  877.       "isDisplayed": true,
  878.       "isRequired": false,
  879.       "label": "Simpletext label"
  880.     }
  881.   },
  882.   "formValues": {
  883.     "simpletext": {
  884.       "value": "test value"
  885.     }
  886.   },
  887.   "instanceId": "testInstanceId"
  888. }
  889.     +{}
  890. 
  891. 2) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a form state update event with validation errors
  892.     2.1) has a matching body
  893.            $ -> Actual map is missing the following keys: formErrors, formFields, formValues, instanceId
  894.     -{
  895.   "formErrors": {
  896.     "simpletext": "This field is required"
  897.   },
  898.   "formFields": {
  899.     "simpletext": {
  900.       "id": "simpletext",
  901.       "isDisabled": false,
  902.       "isDisplayed": true,
  903.       "isRequired": true,
  904.       "label": "Simpletext label"
  905.     }
  906.   },
  907.   "formValues": {
  908.     "simpletext": {
  909.       "value": ""
  910.     }
  911.   },
  912.   "instanceId": "testInstanceId"
  913. }
  914.     +{}
  915. 
  916. 3) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setCurrentPage event with empty pageId
  917.     3.1) has a matching body
  918.            $ -> Actual map is missing the following keys: pageId
  919.     -{
  920.   "pageId": ""
  921. }
  922.     +{}
  923. 
  924. 4) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setCurrentPage event with null pageId
  925.     4.1) has a matching body
  926.            $ -> Actual map is missing the following keys: pageId
  927.     -{
  928.   "pageId": null
  929. }
  930.     +{}
  931. 
  932. 5) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setCurrentPage event with valid pageId
  933.     5.1) has a matching body
  934.            $ -> Actual map is missing the following keys: pageId
  935.     -{
  936.   "pageId": "page1"
  937. }
  938.     +{}
  939. 
  940.  
  941. There were 5 pact failures
  942.  
  943. 2025-06-20T11:28:17.758911Z DEBUG ThreadId(16) pact_plugin_driver::plugin_manager: Shutting down all plugins
  944. [12:28:17.759] DEBUG (13045): pact-core@16.0.0: shutting down verifier with handle 1
  945. 2025-06-20T11:28:17.760000Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_shutdown FFI function invoked
  946. [12:28:17.760] DEBUG (13045): pact-core@16.0.0: response from verifier: null, 1
  947. [12:28:17.760] ERROR (13045): pact-core@16.0.0: Verification unsuccessful
  948. [12:28:17.979] INFO (13045): pact@15.0.1: Verifying message
  949. [12:28:17.983] INFO (13045): pact-core@16.0.0: Verifying Pacts.
  950. [12:28:17.983] INFO (13045): pact-core@16.0.0: Verifying Pact Files
  951. [12:28:17.984] DEBUG (13045): pact-core@16.0.0: binding path #0: : attempting to load native module from:
  952.  
  953.  - /Users/dmckinney/Documents/gp-dev/dynamic-forms-ui/node_modules/@pact-foundation/pact-core-darwin-arm64/prebuilds/darwin-arm64
  954.    source: pact-js-core binding lookup
  955.  
  956.  - You can override via PACT_PREBUILD_LOCATION
  957.  
  958. [12:28:17.985] INFO (13045): 0.4.22: pact native library successfully found, and the correct version
  959. [12:28:17.985] DEBUG (13045): pact-core@16.0.0: Initialising native core at log level 'debug'
  960. 2025-06-20T11:28:17.985464Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_new_for_application FFI function invoked
  961. 2025-06-20T11:28:17.985502Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_set_provider_info FFI function invoked
  962. [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
  963. [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
  964. 2025-06-20T11:28:17.985588Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_set_verification_options FFI function invoked
  965. [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
  966. [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
  967. [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
  968. [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
  969. [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
  970. [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
  971. 2025-06-20T11:28:17.985785Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_add_file_source FFI function invoked
  972. [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
  973. [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
  974. 2025-06-20T11:28:17.985920Z DEBUG ThreadId(17) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_execute FFI function invoked
  975. 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)
  976. 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
  977. 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'
  978. 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({})
  979. 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'
  980. 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)
  981. 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/
  982. 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") }] }
  983. 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) )
  984. 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:
  985. {"description":"a form state update event with field values"}
  986. 2025-06-20T11:28:17.986898Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  987. 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
  988. 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
  989. 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)
  990. 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"} }
  991. 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) )
  992. 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:
  993. {"instanceId":"testInstanceId","formFields":{"simpletext":{"id":"simpletext","label":"Simpletext label","isDisplayed":true,"isDisabled":false,"isRequired":false}},"formValues":{"simpletext":{"value":"test value"}},"formErrors":{}}
  994. 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 }
  995. 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: {} } }
  996. 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'
  997. 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
  998. 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
  999. 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'
  1000. 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 $
  1001. 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")}
  1002. 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
  1003. 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: {} -> {}
  1004. 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
  1005. 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
  1006. 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(())
  1007. 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
  1008. 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")}}
  1009. 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
  1010. 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
  1011. 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(())
  1012. 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
  1013. 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")}
  1014. 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
  1015. 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
  1016. 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(())
  1017. 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
  1018. 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
  1019. 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(())
  1020. 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(())
  1021. 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
  1022. 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
  1023. 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(())
  1024. 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(())
  1025. 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
  1026. 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
  1027. 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(())
  1028. 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(())
  1029. 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
  1030. 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
  1031. 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(())
  1032. 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(())
  1033. 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
  1034. 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
  1035. 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(())
  1036. 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(())
  1037. 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
  1038. 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")}}
  1039. 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
  1040. 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
  1041. 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(())
  1042. 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
  1043. 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")}
  1044. 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
  1045. 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
  1046. 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(())
  1047. 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
  1048. 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
  1049. 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(())
  1050. 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(())
  1051. 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
  1052. 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
  1053. 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(())
  1054. 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(())
  1055. 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
  1056. 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")}'
  1057. 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'
  1058. 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"'
  1059. 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
  1060. 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'
  1061. 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({})
  1062. 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'
  1063. 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)
  1064. 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/
  1065. 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") }] }
  1066. 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) )
  1067. 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:
  1068. {"description":"a form state update event with validation errors"}
  1069. 2025-06-20T11:28:17.991647Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  1070. 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
  1071. 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
  1072. 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)
  1073. 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"} }
  1074. 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) )
  1075. 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:
  1076. {"instanceId":"testInstanceId","formFields":{"simpletext":{"id":"simpletext","label":"Simpletext label","isDisplayed":true,"isDisabled":false,"isRequired":true}},"formValues":{"simpletext":{"value":""}},"formErrors":{"simpletext":"This field is required"}}
  1077. 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 }
  1078. 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: {} } }
  1079. 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'
  1080. 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
  1081. 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
  1082. 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'
  1083. 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 $
  1084. 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")}
  1085. 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
  1086. 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")}
  1087. 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
  1088. 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
  1089. 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(())
  1090. 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
  1091. 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
  1092. 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(())
  1093. 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(())
  1094. 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
  1095. 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")}}
  1096. 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
  1097. 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
  1098. 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(())
  1099. 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
  1100. 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")}
  1101. 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
  1102. 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
  1103. 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(())
  1104. 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
  1105. 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
  1106. 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(())
  1107. 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(())
  1108. 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
  1109. 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
  1110. 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(())
  1111. 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(())
  1112. 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
  1113. 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
  1114. 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(())
  1115. 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(())
  1116. 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
  1117. 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
  1118. 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(())
  1119. 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(())
  1120. 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
  1121. 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
  1122. 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(())
  1123. 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(())
  1124. 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
  1125. 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("")}}
  1126. 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
  1127. 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
  1128. 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(())
  1129. 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
  1130. 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("")}
  1131. 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
  1132. 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
  1133. 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(())
  1134. 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
  1135. 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
  1136. 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(())
  1137. 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(())
  1138. 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
  1139. 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
  1140. 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(())
  1141. 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(())
  1142. 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
  1143. 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")}'
  1144. 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'
  1145. 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"'
  1146. 2025-06-20T11:28:17.994768Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier: Executing provider states
  1147. 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'
  1148. 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({})
  1149. 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'
  1150. 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)
  1151. 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/
  1152. 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") }] }
  1153. 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) )
  1154. 2025-06-20T11:28:17.994815Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: body:
  1155. {"description":"a setCurrentPage event with empty pageId"}
  1156. 2025-06-20T11:28:17.994843Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  1157. 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
  1158. 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
  1159. [12:28:17.996] ERROR (13045): pact@15.0.1: no handler found for message a setCurrentPage event with empty pageId
  1160. 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)
  1161. 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"} }
  1162. 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) )
  1163. 2025-06-20T11:28:17.996736Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_verifier::provider_client: body:
  1164. {}
  1165. 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 }
  1166. 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: {} } }
  1167. 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'
  1168. 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
  1169. 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
  1170. 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'
  1171. 2025-06-20T11:28:17.997038Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching::json: compare: Comparing path $
  1172. 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("")} -> {}
  1173. 2025-06-20T11:28:17.997060Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with empty pageId"}: pact_matching: Matching message metadata
  1174. 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")}'
  1175. 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'
  1176. 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"'
  1177. 2025-06-20T11:28:17.997720Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier: Executing provider states
  1178. 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'
  1179. 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({})
  1180. 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'
  1181. 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)
  1182. 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/
  1183. 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") }] }
  1184. 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) )
  1185. 2025-06-20T11:28:17.997753Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: body:
  1186. {"description":"a setCurrentPage event with null pageId"}
  1187. 2025-06-20T11:28:17.997774Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  1188. 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
  1189. 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
  1190. [12:28:17.999] ERROR (13045): pact@15.0.1: no handler found for message a setCurrentPage event with null pageId
  1191. 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)
  1192. 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"} }
  1193. 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) )
  1194. 2025-06-20T11:28:17.999821Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_verifier::provider_client: body:
  1195. {}
  1196. 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 }
  1197. 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: {} } }
  1198. 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'
  1199. 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
  1200. 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
  1201. 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'
  1202. 2025-06-20T11:28:18.000154Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching::json: compare: Comparing path $
  1203. 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} -> {}
  1204. 2025-06-20T11:28:18.000176Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with null pageId"}: pact_matching: Matching message metadata
  1205. 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")}'
  1206. 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'
  1207. 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"'
  1208. 2025-06-20T11:28:18.000889Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier: Executing provider states
  1209. 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'
  1210. 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({})
  1211. 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'
  1212. 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)
  1213. 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/
  1214. 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") }] }
  1215. 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) )
  1216. 2025-06-20T11:28:18.000926Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: body:
  1217. {"description":"a setCurrentPage event with valid pageId"}
  1218. 2025-06-20T11:28:18.000948Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  1219. 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
  1220. 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
  1221. [12:28:18.002] ERROR (13045): pact@15.0.1: no handler found for message a setCurrentPage event with valid pageId
  1222. 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)
  1223. 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"} }
  1224. 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) )
  1225. 2025-06-20T11:28:18.002929Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_verifier::provider_client: body:
  1226. {}
  1227. 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 }
  1228. 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: {} } }
  1229. 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'
  1230. 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
  1231. 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
  1232. 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'
  1233. 2025-06-20T11:28:18.003220Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching::json: compare: Comparing path $
  1234. 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")} -> {}
  1235. 2025-06-20T11:28:18.003239Z DEBUG ThreadId(17) verify_interaction{interaction="a setCurrentPage event with valid pageId"}: pact_matching: Matching message metadata
  1236. 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")}'
  1237. 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'
  1238. 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"'
  1239. 2025-06-20T11:28:18.003936Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier: Executing provider states
  1240. 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'
  1241. 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({})
  1242. 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'
  1243. 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)
  1244. 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/
  1245. 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") }] }
  1246. 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) )
  1247. 2025-06-20T11:28:18.003976Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: body:
  1248. {"description":"a setFormValues event clearing values"}
  1249. 2025-06-20T11:28:18.003998Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  1250. 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
  1251. 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
  1252. [12:28:18.005] ERROR (13045): pact@15.0.1: no handler found for message a setFormValues event clearing values
  1253. 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)
  1254. 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"} }
  1255. 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) )
  1256. 2025-06-20T11:28:18.005990Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_verifier::provider_client: body:
  1257. {}
  1258. 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 }
  1259. 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: {} } }
  1260. 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'
  1261. 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
  1262. 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
  1263. 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'
  1264. 2025-06-20T11:28:18.006264Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching::json: compare: Comparing path $
  1265. 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}}} -> {}
  1266. 2025-06-20T11:28:18.006283Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event clearing values"}: pact_matching: Matching message metadata
  1267. 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")}'
  1268. 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'
  1269. 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"'
  1270. 2025-06-20T11:28:18.006943Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier: Executing provider states
  1271. 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'
  1272. 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({})
  1273. 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'
  1274. 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)
  1275. 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/
  1276. 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") }] }
  1277. 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) )
  1278. 2025-06-20T11:28:18.006976Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: body:
  1279. {"description":"a setFormValues event with empty values"}
  1280. 2025-06-20T11:28:18.006996Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  1281. 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
  1282. 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
  1283. [12:28:18.008] ERROR (13045): pact@15.0.1: no handler found for message a setFormValues event with empty values
  1284. 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)
  1285. 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"} }
  1286. 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) )
  1287. 2025-06-20T11:28:18.009068Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_verifier::provider_client: body:
  1288. {}
  1289. 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 }
  1290. 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: {} } }
  1291. 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'
  1292. 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
  1293. 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
  1294. 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'
  1295. 2025-06-20T11:28:18.009359Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching::json: compare: Comparing path $
  1296. 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 {}} -> {}
  1297. 2025-06-20T11:28:18.009376Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with empty values"}: pact_matching: Matching message metadata
  1298. 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")}'
  1299. 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'
  1300. 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"'
  1301. 2025-06-20T11:28:18.010074Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier: Executing provider states
  1302. 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'
  1303. 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({})
  1304. 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'
  1305. 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)
  1306. 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/
  1307. 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") }] }
  1308. 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) )
  1309. 2025-06-20T11:28:18.010107Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: body:
  1310. {"description":"a setFormValues event with initial values"}
  1311. 2025-06-20T11:28:18.010131Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="localhost"
  1312. 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
  1313. 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
  1314. [12:28:18.011] ERROR (13045): pact@15.0.1: no handler found for message a setFormValues event with initial values
  1315. 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)
  1316. 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"} }
  1317. 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) )
  1318. 2025-06-20T11:28:18.011922Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_verifier::provider_client: body:
  1319. {}
  1320. 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 }
  1321. 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: {} } }
  1322. 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'
  1323. 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
  1324. 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
  1325. 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'
  1326. 2025-06-20T11:28:18.012259Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching::json: compare: Comparing path $
  1327. 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")}}} -> {}
  1328. 2025-06-20T11:28:18.012280Z DEBUG ThreadId(17) verify_interaction{interaction="a setFormValues event with initial values"}: pact_matching: Matching message metadata
  1329. 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")}'
  1330. 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'
  1331. 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"'
  1332. 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"}
  1333. 2025-06-20T11:28:18.022038Z DEBUG tokio-runtime-worker hyper_util::client::legacy::connect::dns: resolving host="www.google-analytics.com"
  1334. 2025-06-20T11:28:18.023972Z DEBUG ThreadId(17) hyper_util::client::legacy::connect::http: connecting to 142.250.200.142:443
  1335. 2025-06-20T11:28:18.041246Z DEBUG ThreadId(17) hyper_util::client::legacy::connect::http: connected to 142.250.200.142:443
  1336. 2025-06-20T11:28:18.131800Z DEBUG ThreadId(17) hyper_util::client::legacy::pool: pooling idle connection for ("https", www.google-analytics.com)
  1337.  
  1338. Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider
  1339.  
  1340.   a form state update event with field values (0s loading, 4ms verification)
  1341.     generates a message which
  1342.       includes metadata
  1343.         "contentType" with value "application/json" (OK)
  1344.       has a matching body (OK)
  1345.  
  1346.   a form state update event with validation errors (0s loading, 3ms verification)
  1347.     generates a message which
  1348.       includes metadata
  1349.         "contentType" with value "application/json" (OK)
  1350.       has a matching body (OK)
  1351.  
  1352.   a setCurrentPage event with empty pageId (0s loading, 2ms verification)
  1353.     generates a message which
  1354.       includes metadata
  1355.         "contentType" with value "application/json" (OK)
  1356.       has a matching body (FAILED)
  1357.  
  1358.   a setCurrentPage event with null pageId (0s loading, 3ms verification)
  1359.     generates a message which
  1360.       includes metadata
  1361.         "contentType" with value "application/json" (OK)
  1362.       has a matching body (FAILED)
  1363.  
  1364.   a setCurrentPage event with valid pageId (0s loading, 3ms verification)
  1365.     generates a message which
  1366.       includes metadata
  1367.         "contentType" with value "application/json" (OK)
  1368.       has a matching body (FAILED)
  1369.  
  1370.   a setFormValues event clearing values (0s loading, 3ms verification)
  1371.     generates a message which
  1372.       includes metadata
  1373.         "contentType" with value "application/json" (OK)
  1374.       has a matching body (FAILED)
  1375.  
  1376.   a setFormValues event with empty values (0s loading, 3ms verification)
  1377.     generates a message which
  1378.       includes metadata
  1379.         "contentType" with value "application/json" (OK)
  1380.       has a matching body (FAILED)
  1381.  
  1382.   a setFormValues event with initial values (0s loading, 2ms verification)
  1383.     generates a message which
  1384.       includes metadata
  1385.         "contentType" with value "application/json" (OK)
  1386.       has a matching body (FAILED)
  1387.  
  1388.  
  1389. Failures:
  1390.  
  1391. 1) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setCurrentPage event with empty pageId
  1392.     1.1) has a matching body
  1393.            $ -> Actual map is missing the following keys: pageId
  1394.     -{
  1395.   "pageId": ""
  1396. }
  1397.     +{}
  1398. 
  1399. 2) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setCurrentPage event with null pageId
  1400.     2.1) has a matching body
  1401.            $ -> Actual map is missing the following keys: pageId
  1402.     -{
  1403.   "pageId": null
  1404. }
  1405.     +{}
  1406. 
  1407. 3) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setCurrentPage event with valid pageId
  1408.     3.1) has a matching body
  1409.            $ -> Actual map is missing the following keys: pageId
  1410.     -{
  1411.   "pageId": "page1"
  1412. }
  1413.     +{}
  1414. 
  1415. 4) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setFormValues event clearing values
  1416.     4.1) has a matching body
  1417.            $ -> Actual map is missing the following keys: formValues
  1418.     -{
  1419.   "formValues": {
  1420.     "firstName": {
  1421.       "value": null
  1422.     },
  1423.     "lastName": {
  1424.       "value": null
  1425.     }
  1426.   }
  1427. }
  1428.     +{}
  1429. 
  1430. 5) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setFormValues event with empty values
  1431.     5.1) has a matching body
  1432.            $ -> Actual map is missing the following keys: formValues
  1433.     -{
  1434.   "formValues": {}
  1435. }
  1436.     +{}
  1437. 
  1438. 6) Verifying a pact between dynamic-forms-ui-consumer and dynamic-forms-ui-provider - a setFormValues event with initial values
  1439.     6.1) has a matching body
  1440.            $ -> Actual map is missing the following keys: formValues
  1441.     -{
  1442.   "formValues": {
  1443.     "firstName": {
  1444.       "value": "John"
  1445.     },
  1446.     "lastName": {
  1447.       "value": "Doe"
  1448.     }
  1449.   }
  1450. }
  1451.     +{}
  1452. 
  1453.  
  1454. There were 6 pact failures
  1455.  
  1456. 2025-06-20T11:28:18.132261Z DEBUG ThreadId(17) pact_plugin_driver::plugin_manager: Shutting down all plugins
  1457. [12:28:18.132] DEBUG (13045): pact-core@16.0.0: shutting down verifier with handle 2
  1458. 2025-06-20T11:28:18.133500Z DEBUG ThreadId(01) pact_ffi::verifier: pact_ffi::verifier::pactffi_verifier_shutdown FFI function invoked
  1459. [12:28:18.133] DEBUG (13045): pact-core@16.0.0: response from verifier: null, 1
  1460. [12:28:18.133] ERROR (13045): pact-core@16.0.0: Verification unsuccessful
  1461.  
Advertisement
Add Comment
Please, Sign In to add comment