@pact-foundation/pact 16.4.0 → 16.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +22 -12
  3. package/package.json +15 -28
  4. package/scripts/ci/build-and-test.sh +0 -3
  5. package/scripts/install-plugins.js +104 -0
  6. package/src/common/graphQL/graphQL.js +1 -1
  7. package/src/common/graphQL/graphQL.js.map +1 -1
  8. package/src/common/matchingRules.d.ts +7 -1
  9. package/src/common/matchingRules.js +21 -1
  10. package/src/common/matchingRules.js.map +1 -1
  11. package/src/common/net.spec.js +27 -63
  12. package/src/common/net.spec.js.map +1 -1
  13. package/src/common/request.js +1 -1
  14. package/src/common/request.js.map +1 -1
  15. package/src/common/request.spec.js +14 -58
  16. package/src/common/request.spec.js.map +1 -1
  17. package/src/dsl/apolloGraphql.spec.js +3 -43
  18. package/src/dsl/apolloGraphql.spec.js.map +1 -1
  19. package/src/dsl/graphql.d.ts +1 -1
  20. package/src/dsl/graphql.js +4 -4
  21. package/src/dsl/graphql.js.map +1 -1
  22. package/src/dsl/graphql.spec.js +22 -62
  23. package/src/dsl/graphql.spec.js.map +1 -1
  24. package/src/dsl/interaction.d.ts +2 -2
  25. package/src/dsl/interaction.js +1 -1
  26. package/src/dsl/interaction.js.map +1 -1
  27. package/src/dsl/interaction.spec.js +40 -70
  28. package/src/dsl/interaction.spec.js.map +1 -1
  29. package/src/dsl/matchers.d.ts +1 -2
  30. package/src/dsl/matchers.js.map +1 -1
  31. package/src/dsl/matchers.spec.js +95 -96
  32. package/src/dsl/matchers.spec.js.map +1 -1
  33. package/src/dsl/message.d.ts +1 -1
  34. package/src/dsl/options.d.ts +1 -1
  35. package/src/dsl/verifier/proxy/hooks.spec.js +16 -14
  36. package/src/dsl/verifier/proxy/hooks.spec.js.map +1 -1
  37. package/src/dsl/verifier/proxy/messages.js +1 -1
  38. package/src/dsl/verifier/proxy/messages.js.map +1 -1
  39. package/src/dsl/verifier/proxy/parseBody.js +1 -1
  40. package/src/dsl/verifier/proxy/parseBody.js.map +1 -1
  41. package/src/dsl/verifier/proxy/parseBody.spec.js +14 -47
  42. package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -1
  43. package/src/dsl/verifier/proxy/proxy.js +4 -4
  44. package/src/dsl/verifier/proxy/proxy.js.map +1 -1
  45. package/src/dsl/verifier/proxy/proxy.spec.js +6 -48
  46. package/src/dsl/verifier/proxy/proxy.spec.js.map +1 -1
  47. package/src/dsl/verifier/proxy/proxyRequest.d.ts +1 -1
  48. package/src/dsl/verifier/proxy/proxyRequest.js +1 -1
  49. package/src/dsl/verifier/proxy/proxyRequest.js.map +1 -1
  50. package/src/dsl/verifier/proxy/proxyRequest.spec.js +17 -52
  51. package/src/dsl/verifier/proxy/proxyRequest.spec.js.map +1 -1
  52. package/src/dsl/verifier/proxy/stateHandler/setupStates.d.ts +1 -1
  53. package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -1
  54. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js +16 -50
  55. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js.map +1 -1
  56. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +1 -1
  57. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -1
  58. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +12 -49
  59. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
  60. package/src/dsl/verifier/proxy/types.d.ts +2 -2
  61. package/src/dsl/verifier/verifier.d.ts +4 -0
  62. package/src/dsl/verifier/verifier.js +6 -6
  63. package/src/dsl/verifier/verifier.js.map +1 -1
  64. package/src/dsl/verifier/verifier.spec.js +46 -96
  65. package/src/dsl/verifier/verifier.spec.js.map +1 -1
  66. package/src/httpPact/ffi.d.ts +1 -1
  67. package/src/httpPact/ffi.js +1 -1
  68. package/src/httpPact/ffi.js.map +1 -1
  69. package/src/httpPact/ffi.spec.js +18 -60
  70. package/src/httpPact/ffi.spec.js.map +1 -1
  71. package/src/httpPact/index.d.ts +1 -1
  72. package/src/httpPact/index.js +7 -7
  73. package/src/httpPact/index.js.map +1 -1
  74. package/src/httpPact/index.spec.js +46 -89
  75. package/src/httpPact/index.spec.js.map +1 -1
  76. package/src/index.d.ts +25 -25
  77. package/src/index.js +28 -28
  78. package/src/index.js.map +1 -1
  79. package/src/messageConsumerPact.d.ts +3 -3
  80. package/src/messageConsumerPact.js +12 -5
  81. package/src/messageConsumerPact.js.map +1 -1
  82. package/src/messageConsumerPact.spec.js +15 -58
  83. package/src/messageConsumerPact.spec.js.map +1 -1
  84. package/src/messageProviderPact.js +3 -3
  85. package/src/messageProviderPact.js.map +1 -1
  86. package/src/messageProviderPact.spec.js +48 -84
  87. package/src/messageProviderPact.spec.js.map +1 -1
  88. package/src/pact.integration.spec.js +12 -51
  89. package/src/pact.integration.spec.js.map +1 -1
  90. package/src/v3/display.d.ts +1 -1
  91. package/src/v3/display.js.map +1 -1
  92. package/src/v3/ffi.js +5 -1
  93. package/src/v3/ffi.js.map +1 -1
  94. package/src/v3/ffi.spec.js +1 -36
  95. package/src/v3/ffi.spec.js.map +1 -1
  96. package/src/v3/graphql/graphQL.d.ts +2 -2
  97. package/src/v3/graphql/graphQL.js +2 -2
  98. package/src/v3/graphql/graphQL.js.map +1 -1
  99. package/src/v3/graphql/index.d.ts +1 -1
  100. package/src/v3/graphql/index.js +1 -1
  101. package/src/v3/graphql/index.js.map +1 -1
  102. package/src/v3/index.d.ts +4 -12
  103. package/src/v3/index.js +4 -12
  104. package/src/v3/index.js.map +1 -1
  105. package/src/v3/matchers.d.ts +14 -2
  106. package/src/v3/matchers.js +19 -1
  107. package/src/v3/matchers.js.map +1 -1
  108. package/src/v3/matchers.spec.js +125 -57
  109. package/src/v3/matchers.spec.js.map +1 -1
  110. package/src/v3/pact.js +10 -5
  111. package/src/v3/pact.js.map +1 -1
  112. package/src/v3/pact.spec.js +94 -0
  113. package/src/v3/pact.spec.js.map +1 -0
  114. package/src/v3/types.d.ts +18 -2
  115. package/src/v3/types.js +22 -1
  116. package/src/v3/types.js.map +1 -1
  117. package/src/v4/graphql/graphQLInteractionWithRequest.d.ts +2 -2
  118. package/src/v4/graphql/graphQLInteractionWithRequest.js +1 -1
  119. package/src/v4/graphql/graphQLInteractionWithRequest.js.map +1 -1
  120. package/src/v4/graphql/graphQLRequestBuilder.d.ts +1 -1
  121. package/src/v4/graphql/index.d.ts +3 -3
  122. package/src/v4/graphql/index.js +1 -1
  123. package/src/v4/graphql/index.js.map +1 -1
  124. package/src/v4/graphql/types.d.ts +1 -1
  125. package/src/v4/http/index.js +7 -2
  126. package/src/v4/http/index.js.map +1 -1
  127. package/src/v4/http/index.spec.d.ts +1 -0
  128. package/src/v4/http/index.spec.js +73 -0
  129. package/src/v4/http/index.spec.js.map +1 -0
  130. package/src/v4/http/interactionWithCompleteRequest.d.ts +2 -2
  131. package/src/v4/http/interactionWithPlugin.d.ts +2 -2
  132. package/src/v4/http/interactionWithPlugin.js +2 -2
  133. package/src/v4/http/interactionWithPlugin.js.map +1 -1
  134. package/src/v4/http/interactionWithPluginRequest.d.ts +4 -3
  135. package/src/v4/http/interactionWithPluginRequest.js +6 -1
  136. package/src/v4/http/interactionWithPluginRequest.js.map +1 -1
  137. package/src/v4/http/interactionWithPluginResponse.d.ts +1 -1
  138. package/src/v4/http/interactionWithRequest.d.ts +4 -3
  139. package/src/v4/http/interactionWithRequest.js +6 -1
  140. package/src/v4/http/interactionWithRequest.js.map +1 -1
  141. package/src/v4/http/interactionWithRequest.spec.d.ts +1 -0
  142. package/src/v4/http/interactionWithRequest.spec.js +82 -0
  143. package/src/v4/http/interactionWithRequest.spec.js.map +1 -0
  144. package/src/v4/http/interactionWithResponse.d.ts +1 -1
  145. package/src/v4/http/requestBuilder.d.ts +2 -1
  146. package/src/v4/http/requestBuilder.js +5 -1
  147. package/src/v4/http/requestBuilder.js.map +1 -1
  148. package/src/v4/http/requestBuilder.spec.d.ts +1 -0
  149. package/src/v4/http/requestBuilder.spec.js +42 -0
  150. package/src/v4/http/requestBuilder.spec.js.map +1 -0
  151. package/src/v4/http/requestWithPluginBuilder.d.ts +1 -0
  152. package/src/v4/http/requestWithPluginBuilder.js +4 -0
  153. package/src/v4/http/requestWithPluginBuilder.js.map +1 -1
  154. package/src/v4/http/requestWithPluginBuilder.spec.d.ts +1 -0
  155. package/src/v4/http/requestWithPluginBuilder.spec.js +34 -0
  156. package/src/v4/http/requestWithPluginBuilder.spec.js.map +1 -0
  157. package/src/v4/http/responseBuilder.d.ts +2 -1
  158. package/src/v4/http/responseBuilder.js +6 -2
  159. package/src/v4/http/responseBuilder.js.map +1 -1
  160. package/src/v4/http/responseBuilder.spec.d.ts +1 -0
  161. package/src/v4/http/responseBuilder.spec.js +42 -0
  162. package/src/v4/http/responseBuilder.spec.js.map +1 -0
  163. package/src/v4/http/responseWithPluginBuilder.d.ts +1 -1
  164. package/src/v4/http/responseWithPluginBuilder.spec.d.ts +1 -0
  165. package/src/v4/http/responseWithPluginBuilder.spec.js +34 -0
  166. package/src/v4/http/responseWithPluginBuilder.spec.js.map +1 -0
  167. package/src/v4/http/types.d.ts +11 -3
  168. package/src/v4/http/unconfiguredInteraction.d.ts +2 -2
  169. package/src/v4/http/unconfiguredInteraction.js +2 -2
  170. package/src/v4/http/unconfiguredInteraction.js.map +1 -1
  171. package/src/v4/index.d.ts +4 -3
  172. package/src/v4/index.js +3 -2
  173. package/src/v4/index.js.map +1 -1
  174. package/src/v4/message/asynchronousMessage.d.ts +4 -4
  175. package/src/v4/message/asynchronousMessage.js +2 -2
  176. package/src/v4/message/asynchronousMessage.js.map +1 -1
  177. package/src/v4/message/index.d.ts +4 -4
  178. package/src/v4/message/index.js +2 -2
  179. package/src/v4/message/index.js.map +1 -1
  180. package/src/v4/types.d.ts +1 -1
  181. package/src/xml/index.d.ts +4 -0
  182. package/src/xml/index.js +21 -0
  183. package/src/xml/index.js.map +1 -0
  184. package/src/xml/xmlBuilder.js.map +1 -0
  185. package/src/{v3/xml → xml}/xmlElement.d.ts +1 -1
  186. package/src/{v3/xml → xml}/xmlElement.js +1 -1
  187. package/src/xml/xmlElement.js.map +1 -0
  188. package/src/xml/xmlElement.spec.d.ts +1 -0
  189. package/src/{v3/xml → xml}/xmlElement.spec.js +41 -45
  190. package/src/xml/xmlElement.spec.js.map +1 -0
  191. package/src/xml/xmlNode.js.map +1 -0
  192. package/src/{v3/xml → xml}/xmlText.d.ts +1 -1
  193. package/src/xml/xmlText.js.map +1 -0
  194. package/scripts/install-plugins +0 -106
  195. package/src/v3/xml/xmlBuilder.js.map +0 -1
  196. package/src/v3/xml/xmlElement.js.map +0 -1
  197. package/src/v3/xml/xmlElement.spec.js.map +0 -1
  198. package/src/v3/xml/xmlNode.js.map +0 -1
  199. package/src/v3/xml/xmlText.js.map +0 -1
  200. /package/src/v3/{xml/xmlElement.spec.d.ts → pact.spec.d.ts} +0 -0
  201. /package/src/{v3/xml → xml}/xmlBuilder.d.ts +0 -0
  202. /package/src/{v3/xml → xml}/xmlBuilder.js +0 -0
  203. /package/src/{v3/xml → xml}/xmlNode.d.ts +0 -0
  204. /package/src/{v3/xml → xml}/xmlNode.js +0 -0
  205. /package/src/{v3/xml → xml}/xmlText.js +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [16.5.0](https://github.com/pact-foundation/pact-js/compare/v16.4.0...v16.5.0) (2026-05-24)
6
+
7
+
8
+ ### Features
9
+
10
+ * Add HTTP response status code matching support ([#1790](https://github.com/pact-foundation/pact-js/issues/1790)) ([38a4b9b](https://github.com/pact-foundation/pact-js/commit/38a4b9b46630dc428cbff4d4bd418b498484103f))
11
+ * add xml support to pactv4 ([ae151b7](https://github.com/pact-foundation/pact-js/commit/ae151b7350601d3111ac8a5a2665456556d0b6b3))
12
+
13
+
14
+ ### Fixes and Improvements
15
+
16
+ * **deps:** update dependency https-proxy-agent to v9 ([#1731](https://github.com/pact-foundation/pact-js/issues/1731)) ([e0be974](https://github.com/pact-foundation/pact-js/commit/e0be9742bf8dcd93973022948959b238d49ed882))
17
+ * **regression:** fix Apollo/node-fetch v3 compatibility and graphql peer dep conflict ([#1805](https://github.com/pact-foundation/pact-js/issues/1805)) ([ef8c9f9](https://github.com/pact-foundation/pact-js/commit/ef8c9f9a3f7292febe7dd6dc5c6b0e4dee7d9bff))
18
+ * **types:** allow narrow body type in {synchronous,asynchronous}BodyHandler ([#1798](https://github.com/pact-foundation/pact-js/issues/1798)) ([507ce81](https://github.com/pact-foundation/pact-js/commit/507ce8121acf383b6bfe0278605e0305b12aba0b))
19
+ * **v3:** pass cors option to mock server transport, defaulting to true ([#1767](https://github.com/pact-foundation/pact-js/issues/1767)) ([c31ebb2](https://github.com/pact-foundation/pact-js/commit/c31ebb211005eccb1d1de163ec1b8dd3b3ef495f))
20
+
5
21
  ## [16.4.0](https://github.com/pact-foundation/pact-js/compare/v16.3.1...v16.4.0) (2026-05-04)
6
22
 
7
23
 
package/README.md CHANGED
@@ -251,7 +251,7 @@ It's best to run Pact verification tests as part of your unit testing suite, so
251
251
  <summary>Specification Compatibility</summary>
252
252
 
253
253
  | Version | Stable | [Spec] Compatibility | Install |
254
- | ------- | ------ | -------------------- | ------------------ |
254
+ | -------- | ------ | -------------------- | ------------------ |
255
255
  | 11.x.x + | Yes | 2, 3, 4 | See [installation] |
256
256
  | 10.x.x | Yes | 2, 3, 4 | See [installation] |
257
257
  | 9.x.x | Yes | 2, 3\* | [9xx] |
@@ -264,20 +264,30 @@ _\*_ v3 support is limited to the subset of functionality required to enable lan
264
264
 
265
265
  <summary>Supported Platforms</summary>
266
266
 
267
- | OS | Architecture | Supported | Pact-JS Version |
268
- | ------------- | ------------ | --------- | ---------------- |
269
- | MacOS | x86_64 | ✅ | All |
270
- | MacOS | arm64 | ✅ | 9.x + |
271
- | Linux (libc) | x86_64 | ✅ | All |
272
- | Linux (libc) | arm64 | ✅ | 10.x + |
273
- | Linux (musl) | x86_64 | ✅ | 13.x + |
274
- | Linux (musl) | arm64 | ✅ | 13.x + |
275
- | Windows | x86_64 | ✅ | All |
276
- | Windows | x86 | ❌ | 9.x - |
277
- | Windows | arm64 | ❌ | - |
267
+ | OS | Architecture | Supported | Pact-JS Version |
268
+ | ------------ | ------------ | --------- | --------------- |
269
+ | MacOS | x86_64 | ✅ | All |
270
+ | MacOS | arm64 | ✅ | 9.x + |
271
+ | Linux (libc) | x86_64 | ✅ | All |
272
+ | Linux (libc) | arm64 | ✅ | 10.x + |
273
+ | Linux (musl) | x86_64 | ✅ | 13.x + |
274
+ | Linux (musl) | arm64 | ✅ | 13.x + |
275
+ | Windows | x86_64 | ✅ | All |
276
+ | Windows | x86 | ❌ | 9.x - |
277
+ | Windows | arm64 | ❌ | - |
278
278
 
279
279
  </details>
280
280
 
281
+ ## Community Tools
282
+
283
+ | Tool | Description | Type | Link |
284
+ |------|-------------|------|------|
285
+ | **pact-js-cli** | Wrapper for Pact CLI tools (broker client, stub server, verifier). Makes Pact binaries available to Node scripts and npm commands. | Official | [pact-foundation/pact-js-cli](https://github.com/pact-foundation/pact-js-cli) |
286
+ | **jest-pact** | Jest adapter for writing Pact tests. Automatically instantiates PactOptions, sets up mock service hooks, and provides sensible defaults. | Official | [pact-foundation/jest-pact](https://github.com/pact-foundation/jest-pact) |
287
+ | **mocha-pact** | Mocha adapter for writing Pact tests. Automatically instantiates PactOptions, sets up mock service hooks, and provides sensible defaults. | Official | [pact-foundation/mocha-pact](https://github.com/pact-foundation/mocha-pact) |
288
+ | **nestjs-pact** | Injectable Pact Consumer/Provider for NestJS. Provides modules for both consumer and provider roles with support for PactV2, V3, and V4. | Official | [pact-foundation/nestjs-pact](https://github.com/pact-foundation/nestjs-pact) |
289
+ | **pactjs-utils** | Utilities to eliminate boilerplate and enforce best practices. Includes helpers for provider states, verifier options, auth filters, and message/Kafka provider verification. | Community | [seontechnologies/pactjs-utils](https://github.com/seontechnologies/pactjs-utils) |
290
+
281
291
  ## Roadmap
282
292
 
283
293
  The [roadmap](https://docs.pact.io/roadmap/) for Pact and Pact JS is outlined on our main website.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pact-foundation/pact",
3
- "version": "16.4.0",
3
+ "version": "16.5.0",
4
4
  "description": "Pact for all things Javascript",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -9,7 +9,7 @@
9
9
  "clean": "rimraf dist coverage .nyc_output logs pacts",
10
10
  "predist": "npm run clean",
11
11
  "dist": "tsc && copyfiles package.json ./dist",
12
- "install-plugins": "./scripts/install-plugins",
12
+ "install-plugins": "node ./scripts/install-plugins.js",
13
13
  "lint:biome": "biome lint",
14
14
  "lint:tsc": "tsc --noEmit",
15
15
  "lint": "npm run lint:biome && npm run lint:tsc",
@@ -20,12 +20,10 @@
20
20
  "check": "npm run format && npm run lint",
21
21
  "check:fix": "npm run format:fix && npm run lint:fix",
22
22
  "release": "commit-and-tag-version",
23
- "test": "mocha",
24
- "coverage": "nyc npm run test",
25
- "pretest": "npm run install-plugins",
23
+ "pretest": "node ./scripts/install-plugins.js",
24
+ "test": "vitest run",
25
+ "test:regression": "npm --prefix regression run test",
26
26
  "docker:alpine:build": "docker build --build-arg NODE_VERSION=${NODE_VERSION:-current} -f Dockerfile.alpine -t pact-js:alpine .",
27
- "docker:debian:build": "docker build --build-arg NODE_VERSION=${NODE_VERSION:-current} -f Dockerfile.debian -t pact-js:debian .",
28
- "docker:alpine:run": "docker run -e LOG_LEVEL=${LOG_LEVEL:-info} -e GIT_REF=${GIT_REF:-test} -e GITHUB_ACTIONS=${GITHUB_ACTIONS:-false} -e SKIP_EXAMPLES=${SKIP_EXAMPLES:-''} -e PACT_BROKER_BASE_URL -e PACT_BROKER_TOKEN -w /home -v $(pwd):/home --rm pact-js:alpine",
29
27
  "docker:debian:run": "docker run -e LOG_LEVEL=${LOG_LEVEL:-info} -e GIT_REF=${GIT_REF:-test} -e GITHUB_ACTIONS=${GITHUB_ACTIONS:-false} -e SKIP_EXAMPLES=${SKIP_EXAMPLES:-''} -e PACT_BROKER_BASE_URL -e PACT_BROKER_TOKEN -w /home -v $(pwd):/home --rm pact-js:debian",
30
28
  "docker:alpine:attach": "docker run -e PACT_BROKER_BASE_URL -e PACT_BROKER_TOKEN -w /home -v $(pwd):/home --entrypoint /bin/bash --rm -it pact-js:alpine",
31
29
  "docker:debian:attach": "docker run -e PACT_BROKER_BASE_URL -e PACT_BROKER_TOKEN -w /home -v $(pwd):/home --entrypoint /bin/bash --rm -it pact-js:debian"
@@ -113,7 +111,7 @@
113
111
  "graphql": "^16.11.0",
114
112
  "graphql-tag": "^2.12.6",
115
113
  "http-proxy": "^1.18.1",
116
- "https-proxy-agent": "^7.0.6",
114
+ "https-proxy-agent": "^9.0.0",
117
115
  "js-base64": "^3.7.8",
118
116
  "lodash": "^4.17.21",
119
117
  "ramda": "^0.32.0",
@@ -124,35 +122,24 @@
124
122
  "devDependencies": {
125
123
  "@babel/cli": "7.28.6",
126
124
  "@babel/core": "7.29.0",
127
- "@babel/preset-env": "7.29.3",
128
- "@biomejs/biome": "2.4.13",
125
+ "@babel/preset-env": "7.29.5",
126
+ "@biomejs/biome": "2.4.15",
129
127
  "@tsconfig/node20": "20.1.9",
130
- "@types/chai": "5.2.3",
131
- "@types/chai-as-promised": "8.0.2",
132
128
  "@types/express": "4.17.25",
133
129
  "@types/http-proxy": "1.17.17",
134
130
  "@types/lodash": "4.17.24",
135
- "@types/mocha": "10.0.10",
136
131
  "@types/nock": "11.1.0",
137
- "@types/node": "24.12.2",
132
+ "@types/node": "24.12.4",
138
133
  "@types/ramda": "0.31.1",
139
- "@types/sinon": "21.0.1",
140
- "@types/sinon-chai": "4.0.0",
141
134
  "@types/stack-utils": "2.0.3",
142
- "chai": "6.2.2",
143
- "chai-as-promised": "8.0.2",
144
- "commit-and-tag-version": "12.7.1",
135
+ "@vitest/coverage-v8": "3.2.4",
136
+ "commit-and-tag-version": "12.7.3",
145
137
  "copyfiles": "2.4.1",
146
- "mocha": "11.7.5",
147
- "nock": "14.0.14",
148
- "nyc": "18.0.0",
149
- "proxyquire": "2.1.3",
138
+ "nock": "14.0.15",
150
139
  "rimraf": "6.1.3",
151
- "sinon": "21.1.2",
152
- "sinon-chai": "4.0.1",
153
- "source-map-support": "0.5.21",
154
- "tsx": "4.21.0",
155
- "typescript": "6.0.3"
140
+ "typedoc": "0.28.19",
141
+ "typescript": "6.0.3",
142
+ "vitest": "3.2.4"
156
143
  },
157
144
  "pnpm": {
158
145
  "onlyBuiltDependencies": [
@@ -15,9 +15,6 @@ export GIT_BRANCH=${GITHUB_HEAD_REF:-${GIT_REF#refs/heads/}}
15
15
 
16
16
  "${SCRIPT_DIR}"/lib/prepare-release.sh
17
17
 
18
- echo "--> Running coverage checks"
19
- npm run coverage
20
-
21
18
  cp package-lock.json dist
22
19
  cp -r scripts dist
23
20
  echo "This will be version '$(npx --yes absolute-version)'"
@@ -0,0 +1,104 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { execFileSync } = require('node:child_process');
4
+ const {
5
+ existsSync,
6
+ mkdirSync,
7
+ createWriteStream,
8
+ chmodSync,
9
+ } = require('node:fs');
10
+ const { get } = require('node:https');
11
+ const { homedir } = require('node:os');
12
+ const { join } = require('node:path');
13
+ const { createGunzip } = require('node:zlib');
14
+
15
+ const PLUGIN_CLI_VERSION = '0.1.2';
16
+ const MATT_PLUGIN_VERSION = '0.1.1';
17
+
18
+ function detectOsArch() {
19
+ const { platform, arch } = process;
20
+ if (platform === 'linux' && arch === 'x64')
21
+ return { os: 'linux', arch: 'x86_64', ext: '' };
22
+ if (platform === 'linux' && arch === 'arm64')
23
+ return { os: 'linux', arch: 'aarch64', ext: '' };
24
+ if (platform === 'darwin' && arch === 'x64')
25
+ return { os: 'osx', arch: 'x86_64', ext: '' };
26
+ if (platform === 'darwin' && arch === 'arm64')
27
+ return { os: 'osx', arch: 'aarch64', ext: '' };
28
+ if (platform === 'win32')
29
+ return { os: 'windows', arch: 'x86_64', ext: '.exe' };
30
+ throw new Error(
31
+ `Unsupported platform: ${platform} ${arch}. Please install the plugin CLI manually.`,
32
+ );
33
+ }
34
+
35
+ function download(url, dest) {
36
+ return new Promise((resolve, reject) => {
37
+ get(url, (res) => {
38
+ if (res.statusCode === 301 || res.statusCode === 302) {
39
+ download(res.headers.location, dest).then(resolve, reject);
40
+ return;
41
+ }
42
+ if (res.statusCode !== 200) {
43
+ reject(
44
+ new Error(`Download failed with HTTP ${res.statusCode}: ${url}`),
45
+ );
46
+ return;
47
+ }
48
+ const out = createWriteStream(dest);
49
+ res.pipe(createGunzip()).pipe(out);
50
+ out.on('finish', () => out.close(resolve));
51
+ out.on('error', reject);
52
+ }).on('error', reject);
53
+ });
54
+ }
55
+
56
+ async function installPluginCli() {
57
+ const { os, arch, ext } = detectOsArch();
58
+ const binDir = join(homedir(), '.pact', 'bin');
59
+ const cliPath = join(binDir, `pact-plugin-cli${ext}`);
60
+
61
+ if (existsSync(cliPath)) {
62
+ console.log('=> Plugin CLI already installed');
63
+ return;
64
+ }
65
+
66
+ const url = `https://github.com/pact-foundation/pact-plugins/releases/download/pact-plugin-cli-v${PLUGIN_CLI_VERSION}/pact-plugin-cli-${os}-${arch}${ext}.gz`;
67
+ console.log(`=> Installing plugin CLI v${PLUGIN_CLI_VERSION}`);
68
+ console.log(` OS: ${os}, Arch: ${arch}`);
69
+ console.log(` Downloading into: ${binDir}`);
70
+
71
+ mkdirSync(binDir, { recursive: true });
72
+ await download(url, cliPath);
73
+ if (ext !== '.exe') chmodSync(cliPath, 0o755);
74
+ }
75
+
76
+ function installMattPlugin() {
77
+ const pluginDir = join(
78
+ homedir(),
79
+ '.pact',
80
+ 'plugins',
81
+ `matt-${MATT_PLUGIN_VERSION}`,
82
+ );
83
+
84
+ if (existsSync(pluginDir)) {
85
+ console.log('=> MATT plugin already installed');
86
+ return;
87
+ }
88
+
89
+ const { ext } = detectOsArch();
90
+ const cliPath = join(homedir(), '.pact', 'bin', `pact-plugin-cli${ext}`);
91
+ const url = `https://github.com/mefellows/pact-matt-plugin/releases/tag/v${MATT_PLUGIN_VERSION}`;
92
+ console.log(`=> Installing MATT plugin v${MATT_PLUGIN_VERSION}`);
93
+ execFileSync(cliPath, ['install', url], { stdio: 'inherit' });
94
+ }
95
+
96
+ async function main() {
97
+ await installPluginCli();
98
+ installMattPlugin();
99
+ }
100
+
101
+ main().catch((err) => {
102
+ console.error(err.message);
103
+ process.exit(1);
104
+ });
@@ -7,8 +7,8 @@ exports.escapeGraphQlQuery = exports.escapeRegexChars = exports.escapeSpace = vo
7
7
  exports.validateQuery = validateQuery;
8
8
  const graphql_1 = require("graphql");
9
9
  const graphql_tag_1 = __importDefault(require("graphql-tag"));
10
- const graphQLQueryError_1 = require("./graphQLQueryError");
11
10
  const configurationError_1 = require("./configurationError");
11
+ const graphQLQueryError_1 = require("./graphQLQueryError");
12
12
  /**
13
13
  * Accepts a raw or pre-parsed query, validating in the former case, and
14
14
  * returns a normalized raw query.
@@ -1 +1 @@
1
- {"version":3,"file":"graphQL.js","sourceRoot":"","sources":["../../../../src/common/graphQL/graphQL.ts"],"names":[],"mappings":";;;;;;AAgBA,sCA6BC;AA7CD,qCAA8C;AAC9C,8DAA8B;AAC9B,2DAAwD;AACxD,6DAA0D;AAO1D;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,KAAuB,EACvB,IAAmB;IAEnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,uCAAkB,CAAC,8BAA8B,IAAI,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,uCAAuC;YACvC,OAAO,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,uCAAkB,CAC1B,uDAAuD,CACxD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,IAAI,CAAC;YACH,IAAA,qBAAG,EAAC,KAAK,CAAC,CAAC;QACb,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,IAAI,qCAAiB,CACzB,WAAW,IAAI,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAC/C,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAA/D,QAAA,WAAW,eAAoD;AAErE,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAU,EAAE,CACpD,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;AADhC,QAAA,gBAAgB,oBACgB;AAEtC,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAU,EAAE,CACtD,IAAA,mBAAW,EAAC,IAAA,wBAAgB,EAAC,CAAC,CAAC,CAAC,CAAC;AADtB,QAAA,kBAAkB,sBACI"}
1
+ {"version":3,"file":"graphQL.js","sourceRoot":"","sources":["../../../../src/common/graphQL/graphQL.ts"],"names":[],"mappings":";;;;;;AAgBA,sCA6BC;AA7CD,qCAA8C;AAC9C,8DAA8B;AAC9B,6DAA0D;AAC1D,2DAAwD;AAOxD;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,KAAuB,EACvB,IAAmB;IAEnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,uCAAkB,CAAC,8BAA8B,IAAI,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,uCAAuC;YACvC,OAAO,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,uCAAkB,CAC1B,uDAAuD,CACxD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,IAAI,CAAC;YACH,IAAA,qBAAG,EAAC,KAAK,CAAC,CAAC;QACb,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,IAAI,qCAAiB,CACzB,WAAW,IAAI,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAC/C,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEM,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAA/D,QAAA,WAAW,eAAoD;AAErE,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAU,EAAE,CACpD,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;AADhC,QAAA,gBAAgB,oBACgB;AAEtC,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAU,EAAE,CACtD,IAAA,mBAAW,EAAC,IAAA,wBAAgB,EAAC,CAAC,CAAC,CAAC,CAAC;AADtB,QAAA,kBAAkB,sBACI"}
@@ -1,10 +1,16 @@
1
- import type { Rules, Matcher } from '../v3/types';
1
+ import type { Matcher, Rules, StatusCodeMatcher } from '../v3/types';
2
2
  /**
3
3
  * Converts a matcher to the FFI format expected by pact-core
4
4
  * @param matcher The matcher to convert
5
5
  * @returns The matcher in FFI format
6
6
  */
7
7
  export declare const convertMatcherToFFI: (matcher: Matcher<unknown>) => Record<string, unknown>;
8
+ /**
9
+ * Converts a StatusCodeMatcher to the FFI matching rules format expected by pact-core
10
+ * @param matcher The status code matcher
11
+ * @returns The matching rules in FFI format
12
+ */
13
+ export declare const convertStatusMatcherToFFI: (matcher: StatusCodeMatcher<number>) => Record<string, unknown>;
8
14
  /**
9
15
  * Validates that the rules parameter is of type Rules
10
16
  * @param rules The rules to validate
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertRulesToFFI = exports.validateRules = exports.convertMatcherToFFI = void 0;
3
+ exports.convertRulesToFFI = exports.validateRules = exports.convertStatusMatcherToFFI = exports.convertMatcherToFFI = void 0;
4
4
  /**
5
5
  * Converts a matcher to the FFI format expected by pact-core
6
6
  * @param matcher The matcher to convert
@@ -19,6 +19,26 @@ const convertMatcherToFFI = (matcher) => {
19
19
  return result;
20
20
  };
21
21
  exports.convertMatcherToFFI = convertMatcherToFFI;
22
+ /**
23
+ * Converts a StatusCodeMatcher to the FFI matching rules format expected by pact-core
24
+ * @param matcher The status code matcher
25
+ * @returns The matching rules in FFI format
26
+ */
27
+ const convertStatusMatcherToFFI = (matcher) => {
28
+ return {
29
+ status: {
30
+ $: {
31
+ matchers: [
32
+ {
33
+ match: 'statusCode',
34
+ status: matcher.status,
35
+ },
36
+ ],
37
+ },
38
+ },
39
+ };
40
+ };
41
+ exports.convertStatusMatcherToFFI = convertStatusMatcherToFFI;
22
42
  /**
23
43
  * Validates that the rules parameter is of type Rules
24
44
  * @param rules The rules to validate
@@ -1 +1 @@
1
- {"version":3,"file":"matchingRules.js","sourceRoot":"","sources":["../../../src/common/matchingRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matchingRules.js","sourceRoot":"","sources":["../../../src/common/matchingRules.ts"],"names":[],"mappings":"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"}
@@ -1,48 +1,11 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
4
  };
38
5
  Object.defineProperty(exports, "__esModule", { value: true });
39
- const chai = __importStar(require("chai"));
40
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
41
6
  const node_net_1 = __importDefault(require("node:net"));
42
- const net_1 = require("./net");
43
7
  const logger_1 = __importDefault(require("./logger"));
44
- const { expect } = chai;
45
- chai.use(chai_as_promised_1.default);
8
+ const net_1 = require("./net");
46
9
  describe('Net', () => {
47
10
  const port = 4567;
48
11
  const defaultHost = '0.0.0.0';
@@ -57,36 +20,37 @@ describe('Net', () => {
57
20
  });
58
21
  });
59
22
  describe('#isPortAvailable', () => {
60
- context('when the port is not allowed to be bound', () => {
61
- it('returns a rejected promise', () => expect((0, net_1.isPortAvailable)(specialPort, defaultHost)).to.eventually.be
62
- .rejected);
23
+ describe('when the port is not allowed to be bound', () => {
24
+ it('returns a rejected promise', async () => {
25
+ await expect((0, net_1.isPortAvailable)(specialPort, defaultHost)).rejects.toBeDefined();
26
+ });
63
27
  });
64
- context('when the port is available', () => {
65
- it('returns a fulfilled promise', () => expect((0, net_1.isPortAvailable)(port, defaultHost)).to.eventually.be.fulfilled);
28
+ describe('when the port is available', () => {
29
+ it('returns a fulfilled promise', async () => {
30
+ await (0, net_1.isPortAvailable)(port, defaultHost);
31
+ });
66
32
  });
67
- context('when the port is unavailable', () => {
68
- it('returns a rejected promise', () => {
69
- let server;
70
- return createServer(port)
71
- .then((s) => {
72
- server = s;
73
- return expect((0, net_1.isPortAvailable)(port, defaultHost)).to.eventually.be
74
- .rejected;
75
- })
76
- .finally(() => new Promise((resolve) => server?.close(() => resolve())));
33
+ describe('when the port is unavailable', () => {
34
+ it('returns a rejected promise', async () => {
35
+ const server = await createServer(port);
36
+ try {
37
+ await expect((0, net_1.isPortAvailable)(port, defaultHost)).rejects.toBeDefined();
38
+ }
39
+ finally {
40
+ await new Promise((resolve) => server?.close(() => resolve()));
41
+ }
77
42
  });
78
43
  });
79
- context('when a single host is unavailable', () => {
80
- it('returns a fulfilled promise', () => {
81
- let server;
82
- return createServer(port, '::1')
83
- .then((s) => {
84
- server = s;
44
+ describe('when a single host is unavailable', () => {
45
+ it('returns a fulfilled promise', async () => {
46
+ const server = await createServer(port, '::1');
47
+ try {
85
48
  // this should work as the `127.0.0.1` is NOT `::1`
86
- return expect((0, net_1.isPortAvailable)(port, '127.0.0.1')).to.eventually.be
87
- .fulfilled;
88
- })
89
- .finally(() => new Promise((resolve) => server?.close(() => resolve())));
49
+ await (0, net_1.isPortAvailable)(port, '127.0.0.1');
50
+ }
51
+ finally {
52
+ await new Promise((resolve) => server?.close(() => resolve()));
53
+ }
90
54
  });
91
55
  });
92
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"net.spec.js","sourceRoot":"","sources":["../../../src/common/net.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"net.spec.js","sourceRoot":"","sources":["../../../src/common/net.spec.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Request = exports.HTTPMethods = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
7
  const node_https_1 = __importDefault(require("node:https"));
8
+ const axios_1 = __importDefault(require("axios"));
9
9
  const ramda_1 = require("ramda");
10
10
  const logger_1 = __importDefault(require("./logger"));
11
11
  var HTTPMethods;
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/common/request.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4DAA+B;AAC/B,iCAA+B;AAC/B,sDAA8B;AAE9B,IAAY,WAgBX;AAhBD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,0BAAW,CAAA;IACX,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;AACnB,CAAC,EAhBW,WAAW,2BAAX,WAAW,QAgBtB;AAmBD,MAAa,OAAO;IACX,KAAK,CAAC,IAAI,CACf,MAAkB,EAClB,GAAW,EACX,IAAa;QAEb,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAA,eAAK,EAAC,GAAG,EAAE;gBAC3B,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,qBAAqB,EAAE,MAAM;iBAC9B;gBACD,UAAU,EAAE,IAAI,oBAAK,CAAC,KAAK,CAAC;oBAC1B,SAAS,EAAE,IAAI;oBACf,kBAAkB,EAAE,KAAK;iBAC1B,CAAC;gBACF,MAAM;gBACN,OAAO,EAAE,KAAK;gBACd,GAAG;gBACH,aAAa,EAAE,QAAQ;aACxB,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBAC1C,OAAO,GAAG,CAAC,IAAI,CAAC;YAClB,CAAC;YACD,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,gBAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,OAAO,OAAO,CAAC,MAAM,CACnB,IAAA,cAAM,EACJ,KAAK,CAAC,OAAO,EACb,CAAC,UAAU,EAAE,MAAM,CAAC,EACpB,CAA4B,CAC7B,CACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAvCD,0BAuCC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/common/request.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;AAC/B,kDAA0B;AAC1B,iCAA+B;AAC/B,sDAA8B;AAE9B,IAAY,WAgBX;AAhBD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,0BAAW,CAAA;IACX,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;AACnB,CAAC,EAhBW,WAAW,2BAAX,WAAW,QAgBtB;AAmBD,MAAa,OAAO;IACX,KAAK,CAAC,IAAI,CACf,MAAkB,EAClB,GAAW,EACX,IAAa;QAEb,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAA,eAAK,EAAC,GAAG,EAAE;gBAC3B,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,qBAAqB,EAAE,MAAM;iBAC9B;gBACD,UAAU,EAAE,IAAI,oBAAK,CAAC,KAAK,CAAC;oBAC1B,SAAS,EAAE,IAAI;oBACf,kBAAkB,EAAE,KAAK;iBAC1B,CAAC;gBACF,MAAM;gBACN,OAAO,EAAE,KAAK;gBACd,GAAG;gBACH,aAAa,EAAE,QAAQ;aACxB,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBAC1C,OAAO,GAAG,CAAC,IAAI,CAAC;YAClB,CAAC;YACD,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,gBAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,OAAO,OAAO,CAAC,MAAM,CACnB,IAAA,cAAM,EACJ,KAAK,CAAC,OAAO,EACb,CAAC,UAAU,EAAE,MAAM,CAAC,EACpB,CAA4B,CAC7B,CACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAvCD,0BAuCC"}
@@ -1,47 +1,10 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
4
  };
38
5
  Object.defineProperty(exports, "__esModule", { value: true });
39
- const chai = __importStar(require("chai"));
40
- const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
41
6
  const nock_1 = __importDefault(require("nock"));
42
7
  const request_1 = require("./request");
43
- chai.use(chai_as_promised_1.default);
44
- const { expect } = chai;
45
8
  describe('Request', () => {
46
9
  let request;
47
10
  const port = 1024 + Math.floor(Math.random() * 5000);
@@ -50,51 +13,44 @@ describe('Request', () => {
50
13
  beforeEach(() => {
51
14
  request = new request_1.Request();
52
15
  });
53
- context('#send', () => {
16
+ describe('#send', () => {
54
17
  afterEach(() => nock_1.default.cleanAll());
55
18
  describe('Promise', () => {
56
- it('returns a promise', () => {
19
+ it('returns a promise', async () => {
57
20
  (0, nock_1.default)(url).get('/').reply(200);
58
21
  const r = request.send(request_1.HTTPMethods.GET, url);
59
- return Promise.all([
60
- expect(r).is.ok,
61
- expect(r.then).is.ok,
62
- expect(r.then).is.a('function'),
63
- expect(r).to.be.fulfilled,
64
- ]);
22
+ expect(r).toBeTruthy();
23
+ expect(r.then).toBeTruthy();
24
+ expect(r.then).toBeTypeOf('function');
25
+ await r;
65
26
  });
66
- it('resolves when request succeeds with response body', () => {
27
+ it('resolves when request succeeds with response body', async () => {
67
28
  const body = 'body';
68
29
  (0, nock_1.default)(url).get('/').reply(200, body);
69
- const p = request.send(request_1.HTTPMethods.GET, url);
70
- return Promise.all([
71
- expect(p).to.be.fulfilled,
72
- expect(p).to.eventually.be.equal(body),
73
- ]);
30
+ await expect(request.send(request_1.HTTPMethods.GET, url)).resolves.toBe(body);
74
31
  });
75
- it('rejects when request fails with error message', () => {
32
+ it('rejects when request fails with error message', async () => {
76
33
  const error = 'error';
77
34
  (0, nock_1.default)(url).get('/').reply(400, error);
78
- const p = request.send(request_1.HTTPMethods.GET, url);
79
- return expect(p).to.be.rejectedWith(error);
35
+ await expect(request.send(request_1.HTTPMethods.GET, url)).rejects.toThrow(error);
80
36
  });
81
37
  });
82
38
  describe('Headers', () => {
83
- it('sends Pact headers are sent with every request', () => {
39
+ it('sends Pact headers are sent with every request', async () => {
84
40
  (0, nock_1.default)(url)
85
41
  .matchHeader('X-Pact-Mock-Service', 'true')
86
42
  .get('/')
87
43
  .reply(200);
88
- return expect(request.send(request_1.HTTPMethods.GET, url)).to.be.fulfilled;
44
+ await request.send(request_1.HTTPMethods.GET, url);
89
45
  });
90
46
  });
91
47
  describe('SSL', () => {
92
- it('ignores self signed certificate errors', () => {
48
+ it('ignores self signed certificate errors', async () => {
93
49
  (0, nock_1.default)(urlSecure)
94
50
  .matchHeader('X-Pact-Mock-Service', 'true')
95
51
  .get('/')
96
52
  .reply(200);
97
- return expect(request.send(request_1.HTTPMethods.GET, urlSecure)).to.be.fulfilled;
53
+ await request.send(request_1.HTTPMethods.GET, urlSecure);
98
54
  });
99
55
  });
100
56
  });