@pact-foundation/pact 10.0.0-beta.57 → 10.0.0-beta.60
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 +26 -2
- package/CODE_OF_CONDUCT.md +1 -1
- package/README.md +12 -9
- package/package.json +4 -4
- package/src/common/logger.js +5 -1
- package/src/common/logger.js.map +1 -1
- package/src/common/net.js +5 -1
- package/src/common/net.js.map +1 -1
- package/src/common/request.d.ts +0 -1
- package/src/common/request.js +77 -40
- package/src/common/request.js.map +1 -1
- package/src/dsl/publisher.spec.js +5 -1
- package/src/dsl/publisher.spec.js.map +1 -1
- package/src/dsl/verifier/index.js +5 -1
- package/src/dsl/verifier/index.js.map +1 -1
- package/src/dsl/verifier/proxy/index.js +5 -1
- package/src/dsl/verifier/proxy/index.js.map +1 -1
- package/src/dsl/verifier/proxy/parseBody.d.ts +7 -0
- package/src/dsl/verifier/proxy/parseBody.js +22 -0
- package/src/dsl/verifier/proxy/parseBody.js.map +1 -0
- package/src/dsl/verifier/proxy/parseBody.spec.d.ts +1 -0
- package/src/dsl/verifier/proxy/parseBody.spec.js +118 -0
- package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -0
- package/src/dsl/verifier/proxy/proxy.js +19 -4
- package/src/dsl/verifier/proxy/proxy.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/index.js +5 -1
- package/src/dsl/verifier/proxy/stateHandler/index.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +5 -1
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/types.d.ts +1 -0
- package/src/dsl/verifier/verifier.js +8 -1
- package/src/dsl/verifier/verifier.js.map +1 -1
- package/src/dsl/verifier/verifier.spec.js +5 -1
- package/src/dsl/verifier/verifier.spec.js.map +1 -1
- package/src/httpPact/index.js +5 -1
- package/src/httpPact/index.js.map +1 -1
- package/src/index.js +5 -1
- package/src/index.js.map +1 -1
- package/src/messageConsumerPact.js +5 -1
- package/src/messageConsumerPact.js.map +1 -1
- package/src/messageProviderPact.js +5 -1
- package/src/messageProviderPact.js.map +1 -1
- package/src/messageProviderPact.spec.js +5 -1
- package/src/messageProviderPact.spec.js.map +1 -1
- package/src/v3/index.js +5 -1
- package/src/v3/index.js.map +1 -1
- package/src/v3/matchers.d.ts +5 -5
- package/src/v3/matchers.spec.js +5 -1
- package/src/v3/matchers.spec.js.map +1 -1
- package/src/v3/pact.d.ts +1 -1
- package/src/v3/pact.js +28 -10
- package/src/v3/pact.js.map +1 -1
- package/src/v3/xml/xmlElement.spec.js +5 -1
- package/src/v3/xml/xmlElement.spec.js.map +1 -1
- package/test/helper.js +5 -1
- package/test/helper.js.map +1 -1
- package/v3/index.js +5 -1
- package/v3/index.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [10.0.0-beta.60](https://github.com/pact-foundation/pact-js/compare/v10.0.0-beta.59...v10.0.0-beta.60) (2022-06-26)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* modify request body inside of verifier v3 ([#875](https://github.com/pact-foundation/pact-js/issues/875)) ([0fd1a34](https://github.com/pact-foundation/pact-js/commit/0fd1a349dbcc596543d7872c89e6171b9b1cabde))
|
|
11
|
+
* remove pact-web and karma ([2c57330](https://github.com/pact-foundation/pact-js/commit/2c57330f5779cd345ff6213fcd468dd34126823e))
|
|
12
|
+
* support customising the proxy host ([d281d4f](https://github.com/pact-foundation/pact-js/commit/d281d4f7d94b45a98c27ed5fd5f06a5c7649b710))
|
|
13
|
+
|
|
14
|
+
## [10.0.0-beta.59](https://github.com/pact-foundation/pact-js/compare/v10.0.0-beta.58...v10.0.0-beta.59) (2022-04-01)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Fixes and Improvements
|
|
18
|
+
|
|
19
|
+
* content type detection now considers matchers ([069da08](https://github.com/pact-foundation/pact-js/commit/069da08b22c748cc0dd929ea28e2cfac564b9a8f))
|
|
20
|
+
* e2e tests were verifying the wrong pacts ([1999f2d](https://github.com/pact-foundation/pact-js/commit/1999f2d0f243861c802b886bfb50b8e94f6d7915))
|
|
21
|
+
* infer content type from headers, prevent non JSON-able state parameters ([2a6acf3](https://github.com/pact-foundation/pact-js/commit/2a6acf3674707982cfe41318ebe87201064241ad))
|
|
22
|
+
* update to latest core ([51c4c52](https://github.com/pact-foundation/pact-js/commit/51c4c52c95e55c0eca812386a0c3390bf40d3dc2))
|
|
23
|
+
|
|
24
|
+
## [10.0.0-beta.58](https://github.com/pact-foundation/pact-js/compare/v10.0.0-beta.57...v10.0.0-beta.58) (2022-02-23)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Fixes and Improvements
|
|
28
|
+
|
|
29
|
+
* pin to latest beta version of core in examples ([d92c793](https://github.com/pact-foundation/pact-js/commit/d92c793fca7bf354ca8e275bf3b936111bd4eaad))
|
|
30
|
+
|
|
5
31
|
## [10.0.0-beta.57](https://github.com/pact-foundation/pact-js/compare/v10.0.0-beta.56...v10.0.0-beta.57) (2022-02-23)
|
|
6
32
|
|
|
7
33
|
|
|
@@ -1207,8 +1233,6 @@ different state phases.
|
|
|
1207
1233
|
* **pact-web-types:** Fix issue where typescript types were not exposed in pact-web ([d529082](https://github.com/pact-foundation/pact-js/commit/d529082f0b1e7d969ebdedae091adc54ad4be464))
|
|
1208
1234
|
|
|
1209
1235
|
### [9.15.2](https://github.com/pact-foundation/pact-js/compare/v9.15.1...v9.15.2) (2021-02-28)
|
|
1210
|
-
>>>>>>> master
|
|
1211
|
-
|
|
1212
1236
|
|
|
1213
1237
|
### Fixes and Improvements
|
|
1214
1238
|
|
package/CODE_OF_CONDUCT.md
CHANGED
|
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
|
|
|
55
55
|
## Enforcement
|
|
56
56
|
|
|
57
57
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
58
|
-
reported by contacting the project team at pact-
|
|
58
|
+
reported by contacting the project team at pact-foundation@googlegroups.com. All
|
|
59
59
|
complaints will be reviewed and investigated and will result in a response that
|
|
60
60
|
is deemed necessary and appropriate to the circumstances. The project team is
|
|
61
61
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ Read [Getting started with Pact] for more information for beginners.
|
|
|
55
55
|
- [Publishing Pacts to a Broker](#publishing-pacts-to-a-broker)
|
|
56
56
|
- [Publish in npm scripts](#publish-in-npm-scripts)
|
|
57
57
|
- [Publish in a custom script](#publish-in-a-custom-script)
|
|
58
|
-
|
|
58
|
+
- [Pact publishing options](#pact-publishing-options)
|
|
59
59
|
- [Publishing Verification Results to a Pact Broker](#publishing-verification-results-to-a-pact-broker)
|
|
60
60
|
- [Asynchronous API Testing](#asynchronous-api-testing)
|
|
61
61
|
- [Consumer](#consumer)
|
|
@@ -72,14 +72,13 @@ Read [Getting started with Pact] for more information for beginners.
|
|
|
72
72
|
- [Examples](#examples)
|
|
73
73
|
- [HTTP APIs](#http-apis)
|
|
74
74
|
- [Asynchronous APIs](#asynchronous-apis)
|
|
75
|
+
- [Using Pact in non-Node environments such as Karma](#using-pact-in-non-node-environments-such-as-karma)
|
|
75
76
|
- [Pact JS V3](#pact-js-v3)
|
|
76
77
|
- [Using the V3 matching rules](#using-the-v3-matching-rules)
|
|
77
78
|
- [Array contains matcher](#array-contains-matcher)
|
|
78
79
|
- [Provider State Injected Values](#provider-state-injected-values)
|
|
79
80
|
- [Using Pact with XML](#using-pact-with-xml)
|
|
80
81
|
- [Verifying providers with VerifierV3](#verifying-providers-with-verifierv3)
|
|
81
|
-
- [Verification Options with VerifierV3](#verification-options-with-verifierv3)
|
|
82
|
-
- [Request Filters](#request-filters)
|
|
83
82
|
- [Provider state callbacks](#provider-state-callbacks)
|
|
84
83
|
- [Debugging issues with Pact-JS V3](#debugging-issues-with-pact-js-v3)
|
|
85
84
|
- [Debugging](#debugging)
|
|
@@ -104,10 +103,7 @@ Read [Getting started with Pact] for more information for beginners.
|
|
|
104
103
|
```
|
|
105
104
|
npm i -S @pact-foundation/pact@latest
|
|
106
105
|
```
|
|
107
|
-
<<<<<<< HEAD
|
|
108
|
-
=======
|
|
109
106
|
|
|
110
|
-
>>>>>>> master
|
|
111
107
|
Make sure the `ignore-scripts` option is disabled, pact uses npm scripts to download further dependencies.
|
|
112
108
|
|
|
113
109
|
### Do Not Track
|
|
@@ -204,7 +200,7 @@ The first step is to create a test for your API Consumer. The example below uses
|
|
|
204
200
|
1. Validate the expected interactions were made between your consumer and the Mock Service
|
|
205
201
|
1. Generate the pact(s)
|
|
206
202
|
|
|
207
|
-
Check out the `examples` folder for examples with
|
|
203
|
+
Check out the `examples` folder for examples with Mocha and Jest. The example below is taken from the [integration spec](https://github.com/pact-foundation/pact-js/blob/master/src/pact.integration.spec.ts).
|
|
208
204
|
|
|
209
205
|
```javascript
|
|
210
206
|
const path = require("path")
|
|
@@ -984,14 +980,21 @@ The workshop takes you through all of the key concepts using a React consumer an
|
|
|
984
980
|
- [Pact with TypeScript + Mocha](https://github.com/pact-foundation/pact-js/tree/master/examples/typescript)
|
|
985
981
|
- [Pact with Mocha](https://github.com/pact-foundation/pact-js/tree/master/examples/mocha)
|
|
986
982
|
- [Pact with GraphQL](https://github.com/pact-foundation/pact-js/tree/master/examples/graphql)
|
|
987
|
-
- [Pact with Karma + Jasmine](https://github.com/pact-foundation/pact-js/tree/master/examples/karma/jasmine)
|
|
988
|
-
- [Pact with Karma + Mocha](https://github.com/pact-foundation/pact-js/tree/master/examples/karma/mocha)
|
|
989
983
|
- [Pact with React + Jest](https://github.com/pact-foundation/pact-workshop-js)
|
|
990
984
|
|
|
991
985
|
### Asynchronous APIs
|
|
992
986
|
|
|
993
987
|
- [Asynchronous messages](https://github.com/pact-foundation/pact-js/tree/master/examples/messages)
|
|
994
988
|
- [Serverless](https://github.com/pact-foundation/pact-js/tree/master/examples/serverless)
|
|
989
|
+
|
|
990
|
+
## Using Pact in non-Node environments such as Karma
|
|
991
|
+
|
|
992
|
+
Pact requires a Node runtime to be able to start and stop Mock servers, write logs and other things.
|
|
993
|
+
|
|
994
|
+
However, when used within browser or non-Node based environments - such as with Karma or ng-test - this is not possible.
|
|
995
|
+
|
|
996
|
+
You will need a Node based test framework such as Jest or Mocha.
|
|
997
|
+
|
|
995
998
|
## Pact JS V3
|
|
996
999
|
|
|
997
1000
|
An initial beta version of Pact-JS with support for V3 specification features and XML matching has
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pact-foundation/pact",
|
|
3
|
-
"version": "10.0.0-beta.
|
|
3
|
+
"version": "10.0.0-beta.60",
|
|
4
4
|
"description": "Pact for all things Javascript",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
@@ -97,9 +97,10 @@
|
|
|
97
97
|
]
|
|
98
98
|
},
|
|
99
99
|
"dependencies": {
|
|
100
|
-
"@pact-foundation/pact-core": "13.
|
|
100
|
+
"@pact-foundation/pact-core": "^13.6.0",
|
|
101
101
|
"@types/bluebird": "^3.5.20",
|
|
102
102
|
"@types/express": "^4.17.11",
|
|
103
|
+
"axios": "^0.27.2",
|
|
103
104
|
"bluebird": "~3.5.1",
|
|
104
105
|
"body-parser": "^1.18.2",
|
|
105
106
|
"cli-color": "^1.1.0",
|
|
@@ -116,7 +117,6 @@
|
|
|
116
117
|
"lodash.omitby": "4.6.0",
|
|
117
118
|
"pino-pretty": "^6.0.0",
|
|
118
119
|
"pkginfo": "^0.4.1",
|
|
119
|
-
"popsicle": "^9.2.0",
|
|
120
120
|
"ramda": "^0.26.1",
|
|
121
121
|
"randexp": "^0.5.3"
|
|
122
122
|
},
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
"@types/chai": "^4.1.2",
|
|
131
131
|
"@types/chai-as-promised": "^7.1.1",
|
|
132
132
|
"@types/cli-color": "^0.3.29",
|
|
133
|
-
"@types/http-proxy": "^1.17.
|
|
133
|
+
"@types/http-proxy": "^1.17.9",
|
|
134
134
|
"@types/lodash": "^4.14.73",
|
|
135
135
|
"@types/lodash.isnil": "^4.0.3",
|
|
136
136
|
"@types/mocha": "^8.0.4",
|
package/src/common/logger.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/src/common/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/common/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,iFAA2D;AAE3D,mDAA6C;AAE7C,wEAAsD;AAEtD,IAAM,OAAO,GAAG,eAAQ,sBAAO,CAAE,CAAC;AAElC,kBAAe;IACb,SAAS,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EAAlC,CAAkC;IACxE,KAAK,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAA9B,CAA8B;IAChE,IAAI,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAA7B,CAA6B;IAC9D,IAAI,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAA7B,CAA6B;IAC9D,KAAK,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAA9B,CAA8B;IAChE,KAAK,EAAE,UAAC,OAAe,IAAW,OAAA,gBAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAA9B,CAA8B;CACjE,CAAC"}
|
package/src/common/net.js
CHANGED
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
8
|
if (k2 === undefined) k2 = k;
|
|
9
|
-
Object.
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
10
14
|
}) : (function(o, m, k, k2) {
|
|
11
15
|
if (k2 === undefined) k2 = k;
|
|
12
16
|
o[k2] = m[k];
|
package/src/common/net.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/common/net.ts"],"names":[],"mappings":";AAAA;;;;GAIG
|
|
1
|
+
{"version":3,"file":"net.js","sourceRoot":"","sources":["../../../src/common/net.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAA2B;AAC3B,qCAA+C;AAElC,QAAA,cAAc,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAEpE,IAAM,SAAS,GAAG,UAAC,IAAY,EAAE,IAAY;IAClD,OAAA,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QAC1B,IAAM,MAAM,GAAG,GAAG;aACf,YAAY,EAAE;aACd,MAAM,CAAC,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACvC,EAAE,CAAC,OAAO,EAAE,UAAC,CAAwB;YACpC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE;gBAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,eAAQ,IAAI,wCAA8B,IAAI,CAAE,CAAC,CAAC,CAAC;aACrE;iBAAM;gBACL,MAAM,CAAC,CAAC,CAAC,CAAC;aACX;QACH,CAAC,CAAC;aACD,EAAE,CAAC,WAAW,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAM,OAAA,OAAO,EAAE,EAAT,CAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AAdF,CAcE,CAAC;AAfQ,QAAA,SAAS,aAejB;AAEE,IAAM,eAAe,GAAG,UAAC,IAAY,EAAE,IAAY;IACxD,OAAA,OAAO,CAAC,OAAO,CACb,kBAAQ;SACL,GAAG,CACF,sBAAc;IACd,yEAAyE;IACzE,gEAAgE;IAChE,UAAC,CAAC,IAAK,OAAA,kBAAQ,CAAC,OAAO,CAAC,IAAA,iBAAS,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAA9C,CAA8C;IACrD,wGAAwG;IACxG,EAAE,WAAW,EAAE,CAAC,EAAE,CACnB;SACA,IAAI,CAAC,UAAC,WAAW;QAChB,oEAAoE;QACpE,IAAI,WAAW,CAAC,KAAK,CAAC,UAAC,UAAU,IAAK,OAAA,CAAC,UAAU,CAAC,WAAW,EAAE,EAAzB,CAAyB,CAAC,EAAE;YAChE,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,2BAAoB,IAAI,gCAA6B,CAAC,CACjE,CAAC;SACH;QAED,8EAA8E;QAC9E,OAAO,IAAA,iBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CACL;AArBD,CAqBC,CAAC;AAtBS,QAAA,eAAe,mBAsBxB"}
|
package/src/common/request.d.ts
CHANGED
|
@@ -17,6 +17,5 @@ export declare enum HTTPMethods {
|
|
|
17
17
|
}
|
|
18
18
|
export declare type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS' | 'COPY' | 'LOCK' | 'MKCOL' | 'MOVE' | 'PROPFIND' | 'PROPPATCH' | 'UNLOCK' | 'REPORT';
|
|
19
19
|
export declare class Request {
|
|
20
|
-
private readonly transport;
|
|
21
20
|
send(method: HTTPMethod, url: string, body?: string): Promise<string>;
|
|
22
21
|
}
|
package/src/common/request.js
CHANGED
|
@@ -1,26 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
40
|
};
|
|
21
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
42
|
exports.Request = exports.HTTPMethods = void 0;
|
|
23
|
-
var
|
|
43
|
+
var axios_1 = __importDefault(require("axios"));
|
|
44
|
+
var https_1 = __importDefault(require("https"));
|
|
45
|
+
var ramda_1 = require("ramda");
|
|
46
|
+
var logger_1 = __importDefault(require("./logger"));
|
|
24
47
|
var HTTPMethods;
|
|
25
48
|
(function (HTTPMethods) {
|
|
26
49
|
HTTPMethods["GET"] = "GET";
|
|
@@ -41,29 +64,43 @@ var HTTPMethods;
|
|
|
41
64
|
})(HTTPMethods = exports.HTTPMethods || (exports.HTTPMethods = {}));
|
|
42
65
|
var Request = /** @class */ (function () {
|
|
43
66
|
function Request() {
|
|
44
|
-
this.transport = Popsicle.createTransport({
|
|
45
|
-
maxBufferSize: Infinity,
|
|
46
|
-
rejectUnauthorized: false,
|
|
47
|
-
type: 'text',
|
|
48
|
-
});
|
|
49
67
|
}
|
|
50
68
|
Request.prototype.send = function (method, url, body) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
69
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
70
|
+
var res, e_1;
|
|
71
|
+
return __generator(this, function (_a) {
|
|
72
|
+
switch (_a.label) {
|
|
73
|
+
case 0:
|
|
74
|
+
_a.trys.push([0, 3, , 4]);
|
|
75
|
+
return [4 /*yield*/, (0, axios_1.default)(url, {
|
|
76
|
+
data: body,
|
|
77
|
+
headers: {
|
|
78
|
+
'Content-Type': 'application/json',
|
|
79
|
+
'X-Pact-Mock-Service': 'true',
|
|
80
|
+
},
|
|
81
|
+
httpsAgent: new https_1.default.Agent({
|
|
82
|
+
keepAlive: true,
|
|
83
|
+
rejectUnauthorized: false,
|
|
84
|
+
}),
|
|
85
|
+
method: method,
|
|
86
|
+
timeout: 10000,
|
|
87
|
+
url: url,
|
|
88
|
+
maxBodyLength: Infinity,
|
|
89
|
+
})];
|
|
90
|
+
case 1:
|
|
91
|
+
res = _a.sent();
|
|
92
|
+
if (res.status >= 200 && res.status < 400) {
|
|
93
|
+
return [2 /*return*/, res.data];
|
|
94
|
+
}
|
|
95
|
+
return [4 /*yield*/, Promise.reject(res.data)];
|
|
96
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
97
|
+
case 3:
|
|
98
|
+
e_1 = _a.sent();
|
|
99
|
+
logger_1.default.error("error making http request: ".concat(e_1.message));
|
|
100
|
+
return [2 /*return*/, Promise.reject((0, ramda_1.pathOr)(e_1.message, ['response', 'data'], e_1))];
|
|
101
|
+
case 4: return [2 /*return*/];
|
|
102
|
+
}
|
|
103
|
+
});
|
|
67
104
|
});
|
|
68
105
|
};
|
|
69
106
|
return Request;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/common/request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/common/request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,gDAA0B;AAC1B,+BAA+B;AAC/B,oDAA8B;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,GAAX,mBAAW,KAAX,mBAAW,QAgBtB;AAmBD;IAAA;IAgCA,CAAC;IA/Bc,sBAAI,GAAjB,UACE,MAAkB,EAClB,GAAW,EACX,IAAa;;;;;;;wBAGC,qBAAM,IAAA,eAAK,EAAC,GAAG,EAAE;gCAC3B,IAAI,EAAE,IAAI;gCACV,OAAO,EAAE;oCACP,cAAc,EAAE,kBAAkB;oCAClC,qBAAqB,EAAE,MAAM;iCAC9B;gCACD,UAAU,EAAE,IAAI,eAAK,CAAC,KAAK,CAAC;oCAC1B,SAAS,EAAE,IAAI;oCACf,kBAAkB,EAAE,KAAK;iCAC1B,CAAC;gCACF,MAAM,QAAA;gCACN,OAAO,EAAE,KAAK;gCACd,GAAG,KAAA;gCACH,aAAa,EAAE,QAAQ;6BACxB,CAAC,EAAA;;wBAdI,GAAG,GAAG,SAcV;wBAEF,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;4BACzC,sBAAO,GAAG,CAAC,IAAI,EAAC;yBACjB;wBACM,qBAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAA;4BAArC,sBAAO,SAA8B,EAAC;;;wBAEtC,gBAAM,CAAC,KAAK,CAAC,qCAA8B,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC;wBACxD,sBAAO,OAAO,CAAC,MAAM,CAAC,IAAA,cAAM,EAAC,GAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,GAAC,CAAC,CAAC,EAAC;;;;;KAErE;IACH,cAAC;AAAD,CAAC,AAhCD,IAgCC;AAhCY,0BAAO"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.spec.js","sourceRoot":"","sources":["../../../src/dsl/publisher.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publisher.spec.js","sourceRoot":"","sources":["../../../src/dsl/publisher.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAoE;AACpE,yCAA6B;AAC7B,sEAA8C;AAE9C,yCAAwC;AAExC,IAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEjB,IAAA,MAAM,GAAK,IAAI,OAAT,CAAU;AAExB,QAAQ,CAAC,WAAW,EAAE;IACpB,QAAQ,CAAC,cAAc,EAAE;QACvB,EAAE,CAAC,mCAAmC,EAAE;YACtC,IAAM,CAAC,GAAG,IAAI,qBAAS,CAAC;gBACtB,eAAe,EAAE,OAAO;gBACxB,UAAU,EAAE,gBAAgB;gBAC5B,eAAe,EAAE,EAAE;aACpB,CAAC,CAAC;YACH,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dsl/verifier/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dsl/verifier/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import * as http from 'http';
|
|
3
|
+
interface ReqBodyExtended extends http.IncomingMessage {
|
|
4
|
+
body?: Buffer | Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
export declare const parseBody: (proxyReq: http.ClientRequest, req: ReqBodyExtended) => void;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseBody = void 0;
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
|
+
var parseBody = function (proxyReq, req) {
|
|
6
|
+
if (!req.body || !Object.keys(req.body).length) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
var bodyData;
|
|
10
|
+
if (Buffer.isBuffer(req.body)) {
|
|
11
|
+
bodyData = req.body;
|
|
12
|
+
}
|
|
13
|
+
else if (typeof req.body === 'object') {
|
|
14
|
+
bodyData = JSON.stringify(req.body);
|
|
15
|
+
}
|
|
16
|
+
if (bodyData) {
|
|
17
|
+
proxyReq.setHeader('Content-Length', Buffer.byteLength(bodyData));
|
|
18
|
+
proxyReq.write(bodyData);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.parseBody = parseBody;
|
|
22
|
+
//# sourceMappingURL=parseBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseBody.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/parseBody.ts"],"names":[],"mappings":";;;AAMA,8DAA8D;AACvD,IAAM,SAAS,GAAG,UACvB,QAA4B,EAC5B,GAAoB;IAEpB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;QAC9C,OAAO;KACR;IAED,IAAI,QAAQ,CAAC;IAEb,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC7B,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;KACrB;SAAM,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;QACvC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrC;IAED,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KAC1B;AACH,CAAC,CAAC;AApBW,QAAA,SAAS,aAoBpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,118 @@
|
|
|
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 (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
35
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
36
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
37
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
38
|
+
function step(op) {
|
|
39
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
40
|
+
while (_) try {
|
|
41
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
42
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
43
|
+
switch (op[0]) {
|
|
44
|
+
case 0: case 1: t = op; break;
|
|
45
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
46
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
47
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
48
|
+
default:
|
|
49
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
50
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
51
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
52
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
53
|
+
if (t[2]) _.ops.pop();
|
|
54
|
+
_.trys.pop(); continue;
|
|
55
|
+
}
|
|
56
|
+
op = body.call(thisArg, _);
|
|
57
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
58
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
62
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
63
|
+
};
|
|
64
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
+
var chai_1 = __importDefault(require("chai"));
|
|
66
|
+
var chai_as_promised_1 = __importDefault(require("chai-as-promised"));
|
|
67
|
+
var sinon_1 = __importDefault(require("sinon"));
|
|
68
|
+
var http = __importStar(require("http"));
|
|
69
|
+
var parseBody_1 = require("./parseBody");
|
|
70
|
+
chai_1.default.use(chai_as_promised_1.default);
|
|
71
|
+
var expect = chai_1.default.expect;
|
|
72
|
+
describe('Verifier', function () {
|
|
73
|
+
afterEach(function () {
|
|
74
|
+
sinon_1.default.restore();
|
|
75
|
+
});
|
|
76
|
+
describe('#parseBody', function () {
|
|
77
|
+
var proxyReq;
|
|
78
|
+
beforeEach(function () {
|
|
79
|
+
proxyReq = sinon_1.default.createStubInstance(http.ClientRequest);
|
|
80
|
+
});
|
|
81
|
+
describe('when request body exists', function () {
|
|
82
|
+
it('it writes the request if the body is a buffer', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
83
|
+
var req;
|
|
84
|
+
return __generator(this, function (_a) {
|
|
85
|
+
req = { body: '' };
|
|
86
|
+
req.body = Buffer.from('foo');
|
|
87
|
+
(0, parseBody_1.parseBody)(proxyReq, req);
|
|
88
|
+
expect(proxyReq.setHeader).to.have.been.called;
|
|
89
|
+
expect(proxyReq.write).to.have.been.called;
|
|
90
|
+
return [2 /*return*/];
|
|
91
|
+
});
|
|
92
|
+
}); });
|
|
93
|
+
it('it writes the request if the body is an object', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
94
|
+
var req;
|
|
95
|
+
return __generator(this, function (_a) {
|
|
96
|
+
req = { body: { foo: 'bar' } };
|
|
97
|
+
(0, parseBody_1.parseBody)(proxyReq, req);
|
|
98
|
+
expect(proxyReq.setHeader).to.have.been.called;
|
|
99
|
+
expect(proxyReq.write).to.have.been.called;
|
|
100
|
+
return [2 /*return*/];
|
|
101
|
+
});
|
|
102
|
+
}); });
|
|
103
|
+
});
|
|
104
|
+
describe('when request body does not exist', function () {
|
|
105
|
+
it('it does not invoke the request rewrite', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
106
|
+
var req;
|
|
107
|
+
return __generator(this, function (_a) {
|
|
108
|
+
req = 'foo';
|
|
109
|
+
(0, parseBody_1.parseBody)(proxyReq, req);
|
|
110
|
+
expect(proxyReq.setHeader).to.have.not.been.called;
|
|
111
|
+
expect(proxyReq.write).to.have.not.been.called;
|
|
112
|
+
return [2 /*return*/];
|
|
113
|
+
});
|
|
114
|
+
}); });
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
//# sourceMappingURL=parseBody.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseBody.spec.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/parseBody.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAwB;AACxB,sEAA8C;AAC9C,gDAA0B;AAC1B,yCAA6B;AAE7B,yCAAwC;AAExC,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEjB,IAAA,MAAM,GAAK,cAAI,OAAT,CAAU;AAExB,QAAQ,CAAC,UAAU,EAAE;IACnB,SAAS,CAAC;QACR,eAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE;QACrB,IAAI,QAAa,CAAC;QAElB,UAAU,CAAC;YACT,QAAQ,GAAG,eAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,0BAA0B,EAAE;YACnC,EAAE,CAAC,+CAA+C,EAAE;;;oBAC5C,GAAG,GAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;oBAC9B,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAA,qBAAS,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAEzB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC/C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;;iBAC5C,CAAC,CAAC;YAEH,EAAE,CAAC,gDAAgD,EAAE;;;oBAC7C,GAAG,GAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC1C,IAAA,qBAAS,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAEzB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC/C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;;iBAC5C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,kCAAkC,EAAE;YAC3C,EAAE,CAAC,wCAAwC,EAAE;;;oBACrC,GAAG,GAAQ,KAAK,CAAC;oBACvB,IAAA,qBAAS,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAEzB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBACnD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;;;iBAChD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|