@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.
- package/CHANGELOG.md +16 -0
- package/README.md +22 -12
- package/package.json +15 -28
- package/scripts/ci/build-and-test.sh +0 -3
- package/scripts/install-plugins.js +104 -0
- package/src/common/graphQL/graphQL.js +1 -1
- package/src/common/graphQL/graphQL.js.map +1 -1
- package/src/common/matchingRules.d.ts +7 -1
- package/src/common/matchingRules.js +21 -1
- package/src/common/matchingRules.js.map +1 -1
- package/src/common/net.spec.js +27 -63
- package/src/common/net.spec.js.map +1 -1
- package/src/common/request.js +1 -1
- package/src/common/request.js.map +1 -1
- package/src/common/request.spec.js +14 -58
- package/src/common/request.spec.js.map +1 -1
- package/src/dsl/apolloGraphql.spec.js +3 -43
- package/src/dsl/apolloGraphql.spec.js.map +1 -1
- package/src/dsl/graphql.d.ts +1 -1
- package/src/dsl/graphql.js +4 -4
- package/src/dsl/graphql.js.map +1 -1
- package/src/dsl/graphql.spec.js +22 -62
- package/src/dsl/graphql.spec.js.map +1 -1
- package/src/dsl/interaction.d.ts +2 -2
- package/src/dsl/interaction.js +1 -1
- package/src/dsl/interaction.js.map +1 -1
- package/src/dsl/interaction.spec.js +40 -70
- package/src/dsl/interaction.spec.js.map +1 -1
- package/src/dsl/matchers.d.ts +1 -2
- package/src/dsl/matchers.js.map +1 -1
- package/src/dsl/matchers.spec.js +95 -96
- package/src/dsl/matchers.spec.js.map +1 -1
- package/src/dsl/message.d.ts +1 -1
- package/src/dsl/options.d.ts +1 -1
- package/src/dsl/verifier/proxy/hooks.spec.js +16 -14
- package/src/dsl/verifier/proxy/hooks.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/messages.js +1 -1
- package/src/dsl/verifier/proxy/messages.js.map +1 -1
- package/src/dsl/verifier/proxy/parseBody.js +1 -1
- package/src/dsl/verifier/proxy/parseBody.js.map +1 -1
- package/src/dsl/verifier/proxy/parseBody.spec.js +14 -47
- package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/proxy.js +4 -4
- package/src/dsl/verifier/proxy/proxy.js.map +1 -1
- package/src/dsl/verifier/proxy/proxy.spec.js +6 -48
- package/src/dsl/verifier/proxy/proxy.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/proxyRequest.d.ts +1 -1
- package/src/dsl/verifier/proxy/proxyRequest.js +1 -1
- package/src/dsl/verifier/proxy/proxyRequest.js.map +1 -1
- package/src/dsl/verifier/proxy/proxyRequest.spec.js +17 -52
- package/src/dsl/verifier/proxy/proxyRequest.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/setupStates.d.ts +1 -1
- package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js +16 -50
- package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +1 -1
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +12 -49
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/types.d.ts +2 -2
- package/src/dsl/verifier/verifier.d.ts +4 -0
- package/src/dsl/verifier/verifier.js +6 -6
- package/src/dsl/verifier/verifier.js.map +1 -1
- package/src/dsl/verifier/verifier.spec.js +46 -96
- package/src/dsl/verifier/verifier.spec.js.map +1 -1
- package/src/httpPact/ffi.d.ts +1 -1
- package/src/httpPact/ffi.js +1 -1
- package/src/httpPact/ffi.js.map +1 -1
- package/src/httpPact/ffi.spec.js +18 -60
- package/src/httpPact/ffi.spec.js.map +1 -1
- package/src/httpPact/index.d.ts +1 -1
- package/src/httpPact/index.js +7 -7
- package/src/httpPact/index.js.map +1 -1
- package/src/httpPact/index.spec.js +46 -89
- package/src/httpPact/index.spec.js.map +1 -1
- package/src/index.d.ts +25 -25
- package/src/index.js +28 -28
- package/src/index.js.map +1 -1
- package/src/messageConsumerPact.d.ts +3 -3
- package/src/messageConsumerPact.js +12 -5
- package/src/messageConsumerPact.js.map +1 -1
- package/src/messageConsumerPact.spec.js +15 -58
- package/src/messageConsumerPact.spec.js.map +1 -1
- package/src/messageProviderPact.js +3 -3
- package/src/messageProviderPact.js.map +1 -1
- package/src/messageProviderPact.spec.js +48 -84
- package/src/messageProviderPact.spec.js.map +1 -1
- package/src/pact.integration.spec.js +12 -51
- package/src/pact.integration.spec.js.map +1 -1
- package/src/v3/display.d.ts +1 -1
- package/src/v3/display.js.map +1 -1
- package/src/v3/ffi.js +5 -1
- package/src/v3/ffi.js.map +1 -1
- package/src/v3/ffi.spec.js +1 -36
- package/src/v3/ffi.spec.js.map +1 -1
- package/src/v3/graphql/graphQL.d.ts +2 -2
- package/src/v3/graphql/graphQL.js +2 -2
- package/src/v3/graphql/graphQL.js.map +1 -1
- package/src/v3/graphql/index.d.ts +1 -1
- package/src/v3/graphql/index.js +1 -1
- package/src/v3/graphql/index.js.map +1 -1
- package/src/v3/index.d.ts +4 -12
- package/src/v3/index.js +4 -12
- package/src/v3/index.js.map +1 -1
- package/src/v3/matchers.d.ts +14 -2
- package/src/v3/matchers.js +19 -1
- package/src/v3/matchers.js.map +1 -1
- package/src/v3/matchers.spec.js +125 -57
- package/src/v3/matchers.spec.js.map +1 -1
- package/src/v3/pact.js +10 -5
- package/src/v3/pact.js.map +1 -1
- package/src/v3/pact.spec.js +94 -0
- package/src/v3/pact.spec.js.map +1 -0
- package/src/v3/types.d.ts +18 -2
- package/src/v3/types.js +22 -1
- package/src/v3/types.js.map +1 -1
- package/src/v4/graphql/graphQLInteractionWithRequest.d.ts +2 -2
- package/src/v4/graphql/graphQLInteractionWithRequest.js +1 -1
- package/src/v4/graphql/graphQLInteractionWithRequest.js.map +1 -1
- package/src/v4/graphql/graphQLRequestBuilder.d.ts +1 -1
- package/src/v4/graphql/index.d.ts +3 -3
- package/src/v4/graphql/index.js +1 -1
- package/src/v4/graphql/index.js.map +1 -1
- package/src/v4/graphql/types.d.ts +1 -1
- package/src/v4/http/index.js +7 -2
- package/src/v4/http/index.js.map +1 -1
- package/src/v4/http/index.spec.d.ts +1 -0
- package/src/v4/http/index.spec.js +73 -0
- package/src/v4/http/index.spec.js.map +1 -0
- package/src/v4/http/interactionWithCompleteRequest.d.ts +2 -2
- package/src/v4/http/interactionWithPlugin.d.ts +2 -2
- package/src/v4/http/interactionWithPlugin.js +2 -2
- package/src/v4/http/interactionWithPlugin.js.map +1 -1
- package/src/v4/http/interactionWithPluginRequest.d.ts +4 -3
- package/src/v4/http/interactionWithPluginRequest.js +6 -1
- package/src/v4/http/interactionWithPluginRequest.js.map +1 -1
- package/src/v4/http/interactionWithPluginResponse.d.ts +1 -1
- package/src/v4/http/interactionWithRequest.d.ts +4 -3
- package/src/v4/http/interactionWithRequest.js +6 -1
- package/src/v4/http/interactionWithRequest.js.map +1 -1
- package/src/v4/http/interactionWithRequest.spec.d.ts +1 -0
- package/src/v4/http/interactionWithRequest.spec.js +82 -0
- package/src/v4/http/interactionWithRequest.spec.js.map +1 -0
- package/src/v4/http/interactionWithResponse.d.ts +1 -1
- package/src/v4/http/requestBuilder.d.ts +2 -1
- package/src/v4/http/requestBuilder.js +5 -1
- package/src/v4/http/requestBuilder.js.map +1 -1
- package/src/v4/http/requestBuilder.spec.d.ts +1 -0
- package/src/v4/http/requestBuilder.spec.js +42 -0
- package/src/v4/http/requestBuilder.spec.js.map +1 -0
- package/src/v4/http/requestWithPluginBuilder.d.ts +1 -0
- package/src/v4/http/requestWithPluginBuilder.js +4 -0
- package/src/v4/http/requestWithPluginBuilder.js.map +1 -1
- package/src/v4/http/requestWithPluginBuilder.spec.d.ts +1 -0
- package/src/v4/http/requestWithPluginBuilder.spec.js +34 -0
- package/src/v4/http/requestWithPluginBuilder.spec.js.map +1 -0
- package/src/v4/http/responseBuilder.d.ts +2 -1
- package/src/v4/http/responseBuilder.js +6 -2
- package/src/v4/http/responseBuilder.js.map +1 -1
- package/src/v4/http/responseBuilder.spec.d.ts +1 -0
- package/src/v4/http/responseBuilder.spec.js +42 -0
- package/src/v4/http/responseBuilder.spec.js.map +1 -0
- package/src/v4/http/responseWithPluginBuilder.d.ts +1 -1
- package/src/v4/http/responseWithPluginBuilder.spec.d.ts +1 -0
- package/src/v4/http/responseWithPluginBuilder.spec.js +34 -0
- package/src/v4/http/responseWithPluginBuilder.spec.js.map +1 -0
- package/src/v4/http/types.d.ts +11 -3
- package/src/v4/http/unconfiguredInteraction.d.ts +2 -2
- package/src/v4/http/unconfiguredInteraction.js +2 -2
- package/src/v4/http/unconfiguredInteraction.js.map +1 -1
- package/src/v4/index.d.ts +4 -3
- package/src/v4/index.js +3 -2
- package/src/v4/index.js.map +1 -1
- package/src/v4/message/asynchronousMessage.d.ts +4 -4
- package/src/v4/message/asynchronousMessage.js +2 -2
- package/src/v4/message/asynchronousMessage.js.map +1 -1
- package/src/v4/message/index.d.ts +4 -4
- package/src/v4/message/index.js +2 -2
- package/src/v4/message/index.js.map +1 -1
- package/src/v4/types.d.ts +1 -1
- package/src/xml/index.d.ts +4 -0
- package/src/xml/index.js +21 -0
- package/src/xml/index.js.map +1 -0
- package/src/xml/xmlBuilder.js.map +1 -0
- package/src/{v3/xml → xml}/xmlElement.d.ts +1 -1
- package/src/{v3/xml → xml}/xmlElement.js +1 -1
- package/src/xml/xmlElement.js.map +1 -0
- package/src/xml/xmlElement.spec.d.ts +1 -0
- package/src/{v3/xml → xml}/xmlElement.spec.js +41 -45
- package/src/xml/xmlElement.spec.js.map +1 -0
- package/src/xml/xmlNode.js.map +1 -0
- package/src/{v3/xml → xml}/xmlText.d.ts +1 -1
- package/src/xml/xmlText.js.map +1 -0
- package/scripts/install-plugins +0 -106
- package/src/v3/xml/xmlBuilder.js.map +0 -1
- package/src/v3/xml/xmlElement.js.map +0 -1
- package/src/v3/xml/xmlElement.spec.js.map +0 -1
- package/src/v3/xml/xmlNode.js.map +0 -1
- package/src/v3/xml/xmlText.js.map +0 -1
- /package/src/v3/{xml/xmlElement.spec.d.ts → pact.spec.d.ts} +0 -0
- /package/src/{v3/xml → xml}/xmlBuilder.d.ts +0 -0
- /package/src/{v3/xml → xml}/xmlBuilder.js +0 -0
- /package/src/{v3/xml → xml}/xmlNode.d.ts +0 -0
- /package/src/{v3/xml → xml}/xmlNode.js +0 -0
- /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
|
|
268
|
-
|
|
|
269
|
-
| MacOS
|
|
270
|
-
| MacOS
|
|
271
|
-
| Linux (libc)
|
|
272
|
-
| Linux (libc)
|
|
273
|
-
| Linux (musl)
|
|
274
|
-
| Linux (musl)
|
|
275
|
-
| Windows
|
|
276
|
-
| Windows
|
|
277
|
-
| Windows
|
|
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.
|
|
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
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
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": "^
|
|
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.
|
|
128
|
-
"@biomejs/biome": "2.4.
|
|
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.
|
|
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
|
-
"
|
|
143
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
152
|
-
"
|
|
153
|
-
"
|
|
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,
|
|
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,
|
|
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":";;;AAEA;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CACjC,OAAyB,EACA,EAAE;IAC3B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,IAAI,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,IAAI,GAAG,KAAK,mBAAmB,IAAI,GAAG,KAAK,qBAAqB,EAAE,CAAC;YACjE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAA6B,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAhBW,QAAA,mBAAmB,uBAgB9B;AAEF;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAAC,KAAY,EAAQ,EAAE;IAClD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEpC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,gCAAgC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5E,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAI,KAAiC,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtE,UAAU,CAAC,OAAO,CAAC,CAAC,IAAa,EAAE,KAAa,EAAE,EAAE;YAClD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,IAAI,KAAK,qBAAqB,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,OAAO,GAAG,IAA+B,CAAC;YAChD,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CACb,WAAW,GAAG,IAAI,KAAK,gDAAgD,CACxE,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CACb,WAAW,GAAG,IAAI,KAAK,8CAA8C,CACtE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAtCW,QAAA,aAAa,iBAsCxB;AAEF;;;;GAIG;AACI,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAA2B,EAAE;IACzE,MAAM,QAAQ,GAGV,EAAE,CAAC;IAEP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAmB,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEpB,UAAU,CAAC,OAAO,CAAC,CAAC,IAAU,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;oBAC1B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAAmB,CAAC;iBAC9C,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAvBW,QAAA,iBAAiB,qBAuB5B"}
|
|
1
|
+
{"version":3,"file":"matchingRules.js","sourceRoot":"","sources":["../../../src/common/matchingRules.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CACjC,OAAyB,EACA,EAAE;IAC3B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,IAAI,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,IAAI,GAAG,KAAK,mBAAmB,IAAI,GAAG,KAAK,qBAAqB,EAAE,CAAC;YACjE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAA6B,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAhBW,QAAA,mBAAmB,uBAgB9B;AAEF;;;;GAIG;AACI,MAAM,yBAAyB,GAAG,CACvC,OAAkC,EACT,EAAE;IAC3B,OAAO;QACL,MAAM,EAAE;YACN,CAAC,EAAE;gBACD,QAAQ,EAAE;oBACR;wBACE,KAAK,EAAE,YAAY;wBACnB,MAAM,EAAE,OAAO,CAAC,MAAM;qBACvB;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,yBAAyB,6BAepC;AAEF;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAAC,KAAY,EAAQ,EAAE;IAClD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEpC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,iBAAiB,GAAG,gCAAgC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5E,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAI,KAAiC,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtE,UAAU,CAAC,OAAO,CAAC,CAAC,IAAa,EAAE,KAAa,EAAE,EAAE;YAClD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,IAAI,KAAK,qBAAqB,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,OAAO,GAAG,IAA+B,CAAC;YAChD,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CACb,WAAW,GAAG,IAAI,KAAK,gDAAgD,CACxE,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CACb,WAAW,GAAG,IAAI,KAAK,8CAA8C,CACtE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAtCW,QAAA,aAAa,iBAsCxB;AAEF;;;;GAIG;AACI,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAA2B,EAAE;IACzE,MAAM,QAAQ,GAGV,EAAE,CAAC;IAEP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAmB,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEpB,UAAU,CAAC,OAAO,CAAC,CAAC,IAAU,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;oBAC1B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAAmB,CAAC;iBAC9C,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAvBW,QAAA,iBAAiB,qBAuB5B"}
|
package/src/common/net.spec.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
61
|
-
it('returns a rejected promise', () =>
|
|
62
|
-
.
|
|
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
|
-
|
|
65
|
-
it('returns a fulfilled promise', () =>
|
|
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
|
-
|
|
68
|
-
it('returns a rejected promise', () => {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
80
|
-
it('returns a fulfilled promise', () => {
|
|
81
|
-
|
|
82
|
-
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"net.spec.js","sourceRoot":"","sources":["../../../src/common/net.spec.ts"],"names":[],"mappings":";;;;;AAAA,wDAA+B;AAC/B,sDAA8B;AAC9B,+BAAwC;AAExC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACnB,MAAM,IAAI,GAAG,IAAI,CAAC;IAClB,MAAM,WAAW,GAAG,SAAS,CAAC;IAC9B,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC;IAEvB,2EAA2E;IAC3E,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,IAAI,GAAG,WAAW,EAAE,EAAE,CACrD,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,kBAAO,CAAC,YAAY,EAAE,CAAC;QAEtC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAE9C,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;YACrD,gBAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;YACxD,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;gBAC1C,MAAM,MAAM,CACV,IAAA,qBAAe,EAAC,WAAW,EAAE,WAAW,CAAC,CAC1C,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;YAC1C,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;gBAC3C,MAAM,IAAA,qBAAe,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;YAC5C,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;gBAC1C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,MAAM,CACV,IAAA,qBAAe,EAAC,IAAI,EAAE,WAAW,CAAC,CACnC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC1B,CAAC;wBAAS,CAAC;oBACT,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACjD,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;gBAC3C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAI,CAAC;oBACH,mDAAmD;oBACnD,MAAM,IAAA,qBAAe,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC3C,CAAC;wBAAS,CAAC;oBACT,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/src/common/request.js
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
53
|
+
await request.send(request_1.HTTPMethods.GET, urlSecure);
|
|
98
54
|
});
|
|
99
55
|
});
|
|
100
56
|
});
|