@pact-foundation/pact 10.0.0-beta.54 → 10.0.0-beta.55
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 +557 -0
- package/CONTRIBUTING.md +1 -1
- package/MIGRATION.md +7 -0
- package/README.md +79 -29
- package/package.json +7 -10
- package/src/common/logger.js +1 -1
- package/src/common/net.js +5 -3
- package/src/common/net.js.map +1 -1
- package/src/common/request.js +1 -1
- package/src/dsl/apolloGraphql.js +3 -1
- package/src/dsl/apolloGraphql.js.map +1 -1
- package/src/dsl/graphql.d.ts +16 -0
- package/src/dsl/graphql.js +34 -12
- package/src/dsl/graphql.js.map +1 -1
- package/src/dsl/interaction.d.ts +1 -1
- package/src/dsl/interaction.spec.js.map +1 -1
- package/src/dsl/matchers.spec.js +15 -0
- package/src/dsl/matchers.spec.js.map +1 -1
- package/src/dsl/options.d.ts +1 -0
- package/src/dsl/publisher.spec.js +1 -1
- package/src/dsl/verifier/index.js +1 -1
- package/src/dsl/verifier/proxy/hooks.js +4 -2
- package/src/dsl/verifier/proxy/hooks.js.map +1 -1
- package/src/dsl/verifier/proxy/index.js +1 -1
- package/src/dsl/verifier/proxy/proxy.js +5 -3
- package/src/dsl/verifier/proxy/proxy.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/index.js +1 -1
- package/src/dsl/verifier/proxy/stateHandler/setupStates.js +2 -1
- package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +2 -1
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +1 -1
- package/src/dsl/verifier/proxy/tracer.js +4 -2
- package/src/dsl/verifier/proxy/tracer.js.map +1 -1
- package/src/dsl/verifier/verifier.js +1 -1
- package/src/dsl/verifier/verifier.spec.js +1 -1
- package/src/errors/configurationError.js +3 -1
- package/src/errors/configurationError.js.map +1 -1
- package/src/errors/graphQLQueryError.js +3 -1
- package/src/errors/graphQLQueryError.js.map +1 -1
- package/src/errors/matcherError.js +3 -1
- package/src/errors/matcherError.js.map +1 -1
- package/src/errors/verificationError.js +3 -1
- package/src/errors/verificationError.js.map +1 -1
- package/src/httpPact/index.js +29 -15
- package/src/httpPact/index.js.map +1 -1
- package/src/httpPact/tracing.js +2 -1
- package/src/httpPact/tracing.js.map +1 -1
- package/src/index.js +3 -3
- package/src/messageConsumerPact.js +1 -1
- package/src/messageProviderPact.js +7 -4
- package/src/messageProviderPact.js.map +1 -1
- package/src/messageProviderPact.spec.js +3 -3
- package/src/messageProviderPact.spec.js.map +1 -1
- package/src/v3/index.js +3 -9
- package/src/v3/index.js.map +1 -1
- package/src/v3/matchers.d.ts +4 -4
- package/src/v3/matchers.js +48 -24
- package/src/v3/matchers.js.map +1 -1
- package/src/v3/matchers.spec.js +3 -47
- package/src/v3/matchers.spec.js.map +1 -1
- package/src/v3/pact.d.ts +22 -4
- package/src/v3/pact.js +181 -63
- package/src/v3/pact.js.map +1 -1
- package/src/v3/xml/xmlElement.js +3 -1
- package/src/v3/xml/xmlElement.js.map +1 -1
- package/src/v3/xml/xmlElement.spec.js +5 -5
- package/src/v3/xml/xmlElement.spec.js.map +1 -1
- package/src/v3/xml/xmlText.js +3 -1
- package/src/v3/xml/xmlText.js.map +1 -1
- package/test/helper.js +1 -1
- package/v3/index.js +1 -1
- package/ROADMAP.md +0 -20
package/README.md
CHANGED
|
@@ -53,7 +53,9 @@ Read [Getting started with Pact] for more information for beginners.
|
|
|
53
53
|
- [Modify Requests Prior to Verification (Request Filters)](#modify-requests-prior-to-verification-request-filters)
|
|
54
54
|
- [Lifecycle of a provider verification](#lifecycle-of-a-provider-verification)
|
|
55
55
|
- [Publishing Pacts to a Broker](#publishing-pacts-to-a-broker)
|
|
56
|
-
- [
|
|
56
|
+
- [Publish in npm scripts](#publish-in-npm-scripts)
|
|
57
|
+
- [Publish in a custom script](#publish-in-a-custom-script)
|
|
58
|
+
- [Pact publishing options](#pact-publishing-options)
|
|
57
59
|
- [Publishing Verification Results to a Pact Broker](#publishing-verification-results-to-a-pact-broker)
|
|
58
60
|
- [Asynchronous API Testing](#asynchronous-api-testing)
|
|
59
61
|
- [Consumer](#consumer)
|
|
@@ -80,7 +82,9 @@ Read [Getting started with Pact] for more information for beginners.
|
|
|
80
82
|
- [Request Filters](#request-filters)
|
|
81
83
|
- [Provider state callbacks](#provider-state-callbacks)
|
|
82
84
|
- [Debugging issues with Pact-JS V3](#debugging-issues-with-pact-js-v3)
|
|
85
|
+
- [Debugging](#debugging)
|
|
83
86
|
- [Troubleshooting / FAQs](#troubleshooting--faqs)
|
|
87
|
+
- [Corporate Proxies / Firewalls](#corporate-proxies--firewalls)
|
|
84
88
|
- [Alpine + Docker](#alpine--docker)
|
|
85
89
|
- [Parallel tests](#parallel-tests)
|
|
86
90
|
- [Splitting tests across multiple files](#splitting-tests-across-multiple-files)
|
|
@@ -90,7 +94,6 @@ Read [Getting started with Pact] for more information for beginners.
|
|
|
90
94
|
- [Timeout](#timeout)
|
|
91
95
|
- [Usage with Jest](#usage-with-jest)
|
|
92
96
|
- [Usage with Angular](#usage-with-angular)
|
|
93
|
-
- [Debugging](#debugging)
|
|
94
97
|
- [Contributing](#contributing)
|
|
95
98
|
- [Contact](#contact)
|
|
96
99
|
|
|
@@ -101,6 +104,10 @@ Read [Getting started with Pact] for more information for beginners.
|
|
|
101
104
|
```
|
|
102
105
|
npm i -S @pact-foundation/pact@latest
|
|
103
106
|
```
|
|
107
|
+
<<<<<<< HEAD
|
|
108
|
+
=======
|
|
109
|
+
|
|
110
|
+
>>>>>>> master
|
|
104
111
|
Make sure the `ignore-scripts` option is disabled, pact uses npm scripts to download further dependencies.
|
|
105
112
|
|
|
106
113
|
### Do Not Track
|
|
@@ -182,6 +189,7 @@ The `Pact` class provides the following high-level APIs, they are listed in the
|
|
|
182
189
|
| `spec` | no | number | Pact specification version (defaults to 2) |
|
|
183
190
|
| `cors` | no | boolean | Allow CORS OPTION requests to be accepted, defaults to false |
|
|
184
191
|
| `pactfileWriteMode` | no | string | Control how the Pact files are written. Choices: 'overwrite' 'update' or 'none'. Defaults to 'overwrite' |
|
|
192
|
+
| `timeout` | no | number | The time to wait for the mock server to start up in milliseconds. Defaults to 30 seconds (30000) |
|
|
185
193
|
|
|
186
194
|
</details>
|
|
187
195
|
|
|
@@ -315,13 +323,13 @@ new Verifier(opts).verifyProvider().then(function () {
|
|
|
315
323
|
<details><summary>Verification Options</summary>
|
|
316
324
|
|
|
317
325
|
| Parameter | Required? | Type | Description |
|
|
318
|
-
| --------------------------- | --------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
326
|
+
| --------------------------- | --------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | --------------------------------------------------- |
|
|
319
327
|
| `providerBaseUrl` | true | string | Running API provider host endpoint. |
|
|
320
328
|
| `pactBrokerUrl` | false | string | Base URL of the Pact Broker from which to retrieve the pacts. Required if `pactUrls` not given. |
|
|
321
329
|
| `provider` | false | string | Name of the provider if fetching from a Broker |
|
|
322
330
|
| `consumerVersionSelectors` | false | ConsumerVersionSelector\|array | Using [Selectors](https://docs.pact.io/pact_broker/advanced_topics/consumer_version_selectors/) is a way we specify which pacticipants and versions we want to use when configuring verifications. |
|
|
323
|
-
| `consumerVersionTags`
|
|
324
|
-
| `providerVersionTags`
|
|
331
|
+
| `consumerVersionTags` | false | string\|array | Retrieve the latest pacts with given tag(s) |
|
|
332
|
+
| `providerVersionTags` | false | string\|array | Tag(s) to apply to the provider application |
|
|
325
333
|
| `includeWipPactsSince` | false | string | Includes pact marked as WIP since this date. String in the format %Y-%m-%d or %Y-%m-%dT%H:%M:%S.000%:z |
|
|
326
334
|
| `pactUrls` | false | array | Array of local pact file paths or HTTP-based URLs. Required if _not_ using a Pact Broker. |
|
|
327
335
|
| `providerStatesSetupUrl` | false | string | Deprecated (use URL to send PUT requests to setup a given provider state |
|
|
@@ -346,7 +354,7 @@ To dynamically retrieve pacts from a Pact Broker for a provider, provide the bro
|
|
|
346
354
|
const opts = {
|
|
347
355
|
pactBroker: "http://my-broker",
|
|
348
356
|
provider: "Animal Profile Service",
|
|
349
|
-
|
|
357
|
+
consumerVersionTags: ["master", "test", "prod"],
|
|
350
358
|
}
|
|
351
359
|
```
|
|
352
360
|
|
|
@@ -364,7 +372,7 @@ To publish the verification results back to the Pact Broker, you need to enable
|
|
|
364
372
|
const opts = {
|
|
365
373
|
publishVerificationResult: true, //generally you'd do something like `process.env.CI === 'true'`
|
|
366
374
|
providerVersion: "version", //recommended to be the git sha
|
|
367
|
-
|
|
375
|
+
providerVersionTags: ["tag"], //optional, recommended to be the git branch
|
|
368
376
|
}
|
|
369
377
|
```
|
|
370
378
|
|
|
@@ -531,6 +539,28 @@ The Broker:
|
|
|
531
539
|
|
|
532
540
|
[Host your own](https://github.com/pact-foundation/pact_broker), or signup for a free hosted [Pact Broker](https://pactflow.io).
|
|
533
541
|
|
|
542
|
+
#### Publish in npm scripts
|
|
543
|
+
|
|
544
|
+
The easiest way to publish pacts to the broker is via an npm script in your package.json:
|
|
545
|
+
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
"test:publish": "./node_modules/.bin/pact-broker publish <YOUR_PACT_FILES_OR_DIR> --consumer-app-version=\"$(npx @pact-foundation/absolute-version)\" --auto-detect-version-properties --broker-base-url=https://your-broker-url.example.com"
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
For a full list of the options, see the [CLI usage instructions](https://github.com/pact-foundation/pact-ruby-standalone/releases).
|
|
552
|
+
All CLI binaries are available in npm scripts when using pact-js.
|
|
553
|
+
|
|
554
|
+
If you want to pass your username and password to the broker without including
|
|
555
|
+
them in scripts, you can provide it via the environment variables
|
|
556
|
+
`PACT_BROKER_USERNAME` and `PACT_BROKER_PASSWORD`. If your broker supports an
|
|
557
|
+
access token instead of a password, use the environment variable
|
|
558
|
+
`PACT_BROKER_TOKEN`.
|
|
559
|
+
|
|
560
|
+
#### Publish in a custom script
|
|
561
|
+
|
|
562
|
+
If you require finer control over your pact publication, you can programatically publish in a custom script:
|
|
563
|
+
|
|
534
564
|
```js
|
|
535
565
|
const { Publisher } = require("@pact-foundation/pact")
|
|
536
566
|
const opts = {
|
|
@@ -552,7 +582,7 @@ new Publisher(opts)
|
|
|
552
582
|
| -------------------- | :------: | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
553
583
|
| `providerBaseUrl` | `false` | string | Running API provider host endpoint. |
|
|
554
584
|
| `pactFilesOrDirs` | `true` | array of strings | Array of local Pact files or directories containing pact files. Path must be absolute. Required. |
|
|
555
|
-
| `pactBroker` | `true` | string | The base URL of the Pact Broker. eg. https://test.
|
|
585
|
+
| `pactBroker` | `true` | string | The base URL of the Pact Broker. eg. https://test.pactflow.io. Required. |
|
|
556
586
|
| `pactBrokerToken` | `false` | string | Bearer token for Pact Broker authentication. Optional. If using Pactflow, you likely need this option |
|
|
557
587
|
| `pactBrokerUsername` | `false` | string | Username for Pact Broker basic authentication. Optional. If using Pactflow, you most likely need to use `pactBrokerToken` |
|
|
558
588
|
| `pactBrokerPassword` | `false` | string | Password for Pact Broker basic authentication. Optional. If using Pactflow, you most likely need to use `pactBrokerToken` |
|
|
@@ -579,7 +609,7 @@ To publish the verification results back to the Pact Broker, you need to enable
|
|
|
579
609
|
const opts = {
|
|
580
610
|
publishVerificationResult: true, //recommended to only publish from CI by setting the value to `process.env.CI === 'true'`
|
|
581
611
|
providerVersion: "version", //recommended to be the git sha eg. process.env.MY_CI_COMMIT
|
|
582
|
-
|
|
612
|
+
providerVersionTags: ["tag"], //optional, recommended to be the git branch eg. process.env.MY_CI_BRANCH
|
|
583
613
|
}
|
|
584
614
|
```
|
|
585
615
|
|
|
@@ -606,13 +636,14 @@ From a Pact testing point of view, Pact takes the place of the intermediary (MQ/
|
|
|
606
636
|
The following test creates a contract for a Dog API handler:
|
|
607
637
|
|
|
608
638
|
```js
|
|
639
|
+
const path = require("path")
|
|
609
640
|
const {
|
|
610
641
|
MessageConsumerPact,
|
|
611
642
|
synchronousBodyHandler,
|
|
612
643
|
} = require("@pact-foundation/pact")
|
|
613
644
|
|
|
614
645
|
// 1 Dog API Handler
|
|
615
|
-
const dogApiHandler = function(dog) {
|
|
646
|
+
const dogApiHandler = function (dog) {
|
|
616
647
|
if (!dog.id && !dog.name && !dog.type) {
|
|
617
648
|
throw new Error("missing fields")
|
|
618
649
|
}
|
|
@@ -672,6 +703,7 @@ A Provider (Producer in messaging parlance) is the system that will be putting a
|
|
|
672
703
|
As per the Consumer case, Pact takes the position of the intermediary (MQ/broker) and checks to see whether or not the Provider sends a message that matches the Consumer's expectations.
|
|
673
704
|
|
|
674
705
|
```js
|
|
706
|
+
const path = require("path")
|
|
675
707
|
const { MessageProviderPact } = require("@pact-foundation/pact")
|
|
676
708
|
|
|
677
709
|
// 1 Messaging integration client
|
|
@@ -1107,7 +1139,7 @@ There is an `XmlBuilder` class that provides a DSL to help construct XML bodies
|
|
|
1107
1139
|
for example:
|
|
1108
1140
|
|
|
1109
1141
|
```javascript
|
|
1110
|
-
body: new XmlBuilder("1.0", "UTF-8", "ns1:projects").build(el => {
|
|
1142
|
+
body: new XmlBuilder("1.0", "UTF-8", "ns1:projects").build((el) => {
|
|
1111
1143
|
el.setAttributes({
|
|
1112
1144
|
id: "1234",
|
|
1113
1145
|
"xmlns:ns1": "http://some.namespace/and/more/stuff",
|
|
@@ -1120,8 +1152,8 @@ body: new XmlBuilder("1.0", "UTF-8", "ns1:projects").build(el => {
|
|
|
1120
1152
|
name: string("Project 1"),
|
|
1121
1153
|
due: timestamp("yyyy-MM-dd'T'HH:mm:ss.SZ", "2016-02-11T09:46:56.023Z"),
|
|
1122
1154
|
},
|
|
1123
|
-
project => {
|
|
1124
|
-
project.appendElement("ns1:tasks", {}, task => {
|
|
1155
|
+
(project) => {
|
|
1156
|
+
project.appendElement("ns1:tasks", {}, (task) => {
|
|
1125
1157
|
task.eachLike(
|
|
1126
1158
|
"ns1:task",
|
|
1127
1159
|
{
|
|
@@ -1192,10 +1224,44 @@ stateHandlers: {
|
|
|
1192
1224
|
|
|
1193
1225
|
You can change the log levels using the `LOG_LEVEL` environment variable.
|
|
1194
1226
|
|
|
1227
|
+
### Debugging
|
|
1228
|
+
|
|
1229
|
+
If your standard tricks don't get you anywhere, setting the logLevel to `debug` and increasing the timeout doesn't help and you don't know where else to look, it could be that the binaries we use to do much of the Pact magic aren't starting as expected.
|
|
1230
|
+
|
|
1231
|
+
Try starting the mock service manually and seeing if it comes up. When submitting a bug report, it would be worth running these commands before hand as it will greatly help us:
|
|
1232
|
+
|
|
1233
|
+
```
|
|
1234
|
+
./node_modules/.bin/pact-mock-service
|
|
1235
|
+
```
|
|
1236
|
+
|
|
1237
|
+
...and also the verifier (it will whinge about missing params, but that means it works):
|
|
1238
|
+
|
|
1239
|
+
```
|
|
1240
|
+
./node_modules/.bin/pact-provider-verifier
|
|
1241
|
+
```
|
|
1242
|
+
|
|
1195
1243
|
## Troubleshooting / FAQs
|
|
1196
1244
|
|
|
1197
1245
|
If you are having issues, a good place to start is setting `logLevel: 'debug'` when configuring the `new Pact({...})` object. This will give you detailed in/out requests as far as Pact sees them during verification.
|
|
1198
1246
|
|
|
1247
|
+
### Corporate Proxies / Firewalls
|
|
1248
|
+
|
|
1249
|
+
If you're on a corporate machine, it's common for all network calls to route through a proxy - even requests that go to your own machine!
|
|
1250
|
+
|
|
1251
|
+
The symptom presents as follows:
|
|
1252
|
+
|
|
1253
|
+
1. The mock server starts up correctly, as shown by a debug level log message such as this:
|
|
1254
|
+
|
|
1255
|
+
```
|
|
1256
|
+
[2021-11-22 11:16:01.214 +0000] DEBUG (3863 on Matts-iMac): pact-core@11.0.1: INFO WEBrick::HTTPServer#start: pid=3864 port=50337
|
|
1257
|
+
```
|
|
1258
|
+
|
|
1259
|
+
2. You receive a conflicting message such as "The pact mock service doesn't appear to be running" and the tests never run or any before all blocks fail to complete.
|
|
1260
|
+
|
|
1261
|
+
The problem is that the Pact framework attempts to ensure the mock service can be communicated with before the tests run. It does so via an HTTP call, which will be sent via any intermediate proxies if configured. The proxy is unlikely to know how send the request back to your machine, which results in a timeout or error.
|
|
1262
|
+
|
|
1263
|
+
This may be resolved by ensuring the `http_proxy` and `no_proxy` directives are correctly set (usually, by excluding the address of the mock server such as `localhost` or `127.0.0.1`).
|
|
1264
|
+
|
|
1199
1265
|
### Alpine + Docker
|
|
1200
1266
|
|
|
1201
1267
|
See https://docs.pact.io/docker/.
|
|
@@ -1366,22 +1432,6 @@ You'll need to add the additional header `Access-Control-Expose-Headers`, this w
|
|
|
1366
1432
|
|
|
1367
1433
|
See [this issue](https://github.com/angular/angular/issues/13554) for background.
|
|
1368
1434
|
|
|
1369
|
-
### Debugging
|
|
1370
|
-
|
|
1371
|
-
If your standard tricks don't get you anywhere, setting the logLevel to `debug` and increasing the timeout doesn't help and you don't know where else to look, it could be that the binaries we use to do much of the Pact magic aren't starting as expected.
|
|
1372
|
-
|
|
1373
|
-
Try starting the mock service manually and seeing if it comes up. When submitting a bug report, it would be worth running these commands before hand as it will greatly help us:
|
|
1374
|
-
|
|
1375
|
-
```
|
|
1376
|
-
./node_modules/.bin/pact-mock-service
|
|
1377
|
-
```
|
|
1378
|
-
|
|
1379
|
-
...and also the verifier (it will whinge about missing params, but that means it works):
|
|
1380
|
-
|
|
1381
|
-
```
|
|
1382
|
-
./node_modules/.bin/pact-provider-verifier
|
|
1383
|
-
```
|
|
1384
|
-
|
|
1385
1435
|
## Contributing
|
|
1386
1436
|
|
|
1387
1437
|
1. Fork it
|
package/package.json
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pact-foundation/pact",
|
|
3
|
-
"version": "10.0.0-beta.
|
|
3
|
+
"version": "10.0.0-beta.55",
|
|
4
4
|
"description": "Pact for all things Javascript",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
|
-
"build": "npm run build:v2 && npm run build:v3",
|
|
9
|
-
"build:v2": "npm run dist",
|
|
10
|
-
"build:v3": "neon build --release",
|
|
11
8
|
"compile": "rimraf dist && tsc",
|
|
12
9
|
"clean": "rimraf docs dist coverage .nyc_output logs pacts",
|
|
13
10
|
"clean:native": "rimraf native/target",
|
|
@@ -22,7 +19,6 @@
|
|
|
22
19
|
"predist": "npm run clean && npm run format:check && npm run lint",
|
|
23
20
|
"release": "standard-version -p beta",
|
|
24
21
|
"test": "nyc --check-coverage --reporter=html --reporter=text-summary mocha",
|
|
25
|
-
"postinstall": "node-pre-gyp install --fallback-to-build=false || neon build --release",
|
|
26
22
|
"package": "npm run native:sha256 && node-pre-gyp package && node-pre-gyp testpackage",
|
|
27
23
|
"native:sha256": "node ./scripts/calc-sha256.js"
|
|
28
24
|
},
|
|
@@ -63,7 +59,7 @@
|
|
|
63
59
|
"bugs": {
|
|
64
60
|
"url": "https://github.com/pact-foundation/pact-js/issues"
|
|
65
61
|
},
|
|
66
|
-
"homepage": "
|
|
62
|
+
"homepage": "https://docs.pact.io/implementation_guides/javascript/",
|
|
67
63
|
"standard-version": {
|
|
68
64
|
"types": [
|
|
69
65
|
{
|
|
@@ -101,7 +97,7 @@
|
|
|
101
97
|
]
|
|
102
98
|
},
|
|
103
99
|
"dependencies": {
|
|
104
|
-
"@pact-foundation/pact-core": "13.
|
|
100
|
+
"@pact-foundation/pact-core": "13.4.1-beta.12",
|
|
105
101
|
"@types/bluebird": "^3.5.20",
|
|
106
102
|
"@types/express": "^4.17.11",
|
|
107
103
|
"bluebird": "~3.5.1",
|
|
@@ -118,10 +114,11 @@
|
|
|
118
114
|
"lodash.isundefined": "3.0.1",
|
|
119
115
|
"lodash.omit": "^4.5.0",
|
|
120
116
|
"lodash.omitby": "4.6.0",
|
|
121
|
-
"
|
|
117
|
+
"pino-pretty": "^6.0.0",
|
|
122
118
|
"pkginfo": "^0.4.1",
|
|
123
119
|
"popsicle": "^9.2.0",
|
|
124
|
-
"ramda": "^0.26.1"
|
|
120
|
+
"ramda": "^0.26.1",
|
|
121
|
+
"randexp": "^0.5.3"
|
|
125
122
|
},
|
|
126
123
|
"devDependencies": {
|
|
127
124
|
"@babel/cli": "^7.14.5",
|
|
@@ -179,7 +176,7 @@
|
|
|
179
176
|
"superagent": "^3.8.2",
|
|
180
177
|
"ts-mock-imports": "^1.2.6",
|
|
181
178
|
"ts-node": "^3.3.0",
|
|
182
|
-
"typescript": "^
|
|
179
|
+
"typescript": "^4.2.4"
|
|
183
180
|
},
|
|
184
181
|
"binary": {
|
|
185
182
|
"module_name": "index",
|
package/src/common/logger.js
CHANGED
|
@@ -7,7 +7,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
7
7
|
o[k2] = m[k];
|
|
8
8
|
}));
|
|
9
9
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
13
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
package/src/common/net.js
CHANGED
|
@@ -19,7 +19,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
19
19
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
20
|
if (mod && mod.__esModule) return mod;
|
|
21
21
|
var result = {};
|
|
22
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
23
|
__setModuleDefault(result, mod);
|
|
24
24
|
return result;
|
|
25
25
|
};
|
|
@@ -28,7 +28,7 @@ exports.isPortAvailable = exports.portCheck = exports.localAddresses = void 0;
|
|
|
28
28
|
var net = __importStar(require("net"));
|
|
29
29
|
var bluebird_1 = require("bluebird");
|
|
30
30
|
exports.localAddresses = ['127.0.0.1', 'localhost', '0.0.0.0', '::1'];
|
|
31
|
-
|
|
31
|
+
var portCheck = function (port, host) {
|
|
32
32
|
return new Promise(function (resolve, reject) {
|
|
33
33
|
var server = net
|
|
34
34
|
.createServer()
|
|
@@ -46,7 +46,8 @@ exports.portCheck = function (port, host) {
|
|
|
46
46
|
});
|
|
47
47
|
});
|
|
48
48
|
};
|
|
49
|
-
exports.
|
|
49
|
+
exports.portCheck = portCheck;
|
|
50
|
+
var isPortAvailable = function (port, host) {
|
|
50
51
|
return Promise.resolve(bluebird_1.Promise
|
|
51
52
|
.map(exports.localAddresses,
|
|
52
53
|
// we meed to wrap the built-in Promise with bluebird.reflect() so we can
|
|
@@ -63,4 +64,5 @@ exports.isPortAvailable = function (port, host) {
|
|
|
63
64
|
return exports.portCheck(port, host);
|
|
64
65
|
}));
|
|
65
66
|
};
|
|
67
|
+
exports.isPortAvailable = isPortAvailable;
|
|
66
68
|
//# sourceMappingURL=net.js.map
|
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;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAA2B;AAC3B,qCAA+C;AAElC,QAAA,cAAc,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;
|
|
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,UAAQ,IAAI,mCAA8B,IAAM,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,iBAAS,CAAC,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,sBAAoB,IAAI,gCAA6B,CAAC,CACjE,CAAC;SACH;QAED,8EAA8E;QAC9E,OAAO,iBAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CACL;AArBD,CAqBC,CAAC;AAtBS,QAAA,eAAe,mBAsBxB"}
|
package/src/common/request.js
CHANGED
|
@@ -14,7 +14,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
14
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
15
|
if (mod && mod.__esModule) return mod;
|
|
16
16
|
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
package/src/dsl/apolloGraphql.js
CHANGED
|
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
3
3
|
var extendStatics = function (d, b) {
|
|
4
4
|
extendStatics = Object.setPrototypeOf ||
|
|
5
5
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
7
|
return extendStatics(d, b);
|
|
8
8
|
};
|
|
9
9
|
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
10
12
|
extendStatics(d, b);
|
|
11
13
|
function __() { this.constructor = d; }
|
|
12
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apolloGraphql.js","sourceRoot":"","sources":["../../../src/dsl/apolloGraphql.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apolloGraphql.js","sourceRoot":"","sources":["../../../src/dsl/apolloGraphql.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qCAA+C;AAE/C;IAA8C,4CAAkB;IAC9D;QAAA,YACE,iBAAO,SAGR;QAFC,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACtC,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,IAAI,IAAI,CAAC;;IAC1C,CAAC;IACH,+BAAC;AAAD,CAAC,AAND,CAA8C,4BAAkB,GAM/D;AANY,4DAAwB"}
|
package/src/dsl/graphql.d.ts
CHANGED
|
@@ -36,8 +36,24 @@ export declare class GraphQLInteraction extends Interaction {
|
|
|
36
36
|
* }'
|
|
37
37
|
*/
|
|
38
38
|
withQuery(query: string): this;
|
|
39
|
+
/**
|
|
40
|
+
* The actual GraphQL mutation as a string.
|
|
41
|
+
*
|
|
42
|
+
* NOTE: spaces are not important, Pact will auto-generate a space-insensitive matcher
|
|
43
|
+
*
|
|
44
|
+
* e.g. the value for the "query" field in the GraphQL HTTP payload:
|
|
45
|
+
*
|
|
46
|
+
* mutation CreateReviewForEpisode($ep: Episode!, $review: ReviewInput!) {
|
|
47
|
+
* createReview(episode: $ep, review: $review) {
|
|
48
|
+
* stars
|
|
49
|
+
* commentary
|
|
50
|
+
* }
|
|
51
|
+
* }
|
|
52
|
+
*/
|
|
53
|
+
withMutation(mutation: string): this;
|
|
39
54
|
/**
|
|
40
55
|
* Returns the interaction object created.
|
|
41
56
|
*/
|
|
42
57
|
json(): InteractionState;
|
|
58
|
+
private queryOrMutation;
|
|
43
59
|
}
|
package/src/dsl/graphql.js
CHANGED
|
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
3
3
|
var extendStatics = function (d, b) {
|
|
4
4
|
extendStatics = Object.setPrototypeOf ||
|
|
5
5
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
7
|
return extendStatics(d, b);
|
|
8
8
|
};
|
|
9
9
|
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
10
12
|
extendStatics(d, b);
|
|
11
13
|
function __() { this.constructor = d; }
|
|
12
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -78,17 +80,24 @@ var GraphQLInteraction = /** @class */ (function (_super) {
|
|
|
78
80
|
* }'
|
|
79
81
|
*/
|
|
80
82
|
GraphQLInteraction.prototype.withQuery = function (query) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
83
|
+
return this.queryOrMutation(query, 'query');
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* The actual GraphQL mutation as a string.
|
|
87
|
+
*
|
|
88
|
+
* NOTE: spaces are not important, Pact will auto-generate a space-insensitive matcher
|
|
89
|
+
*
|
|
90
|
+
* e.g. the value for the "query" field in the GraphQL HTTP payload:
|
|
91
|
+
*
|
|
92
|
+
* mutation CreateReviewForEpisode($ep: Episode!, $review: ReviewInput!) {
|
|
93
|
+
* createReview(episode: $ep, review: $review) {
|
|
94
|
+
* stars
|
|
95
|
+
* commentary
|
|
96
|
+
* }
|
|
97
|
+
* }
|
|
98
|
+
*/
|
|
99
|
+
GraphQLInteraction.prototype.withMutation = function (mutation) {
|
|
100
|
+
return this.queryOrMutation(mutation, 'mutation');
|
|
92
101
|
};
|
|
93
102
|
/**
|
|
94
103
|
* Returns the interaction object created.
|
|
@@ -114,6 +123,19 @@ var GraphQLInteraction = /** @class */ (function (_super) {
|
|
|
114
123
|
}, this.state.request);
|
|
115
124
|
return this.state;
|
|
116
125
|
};
|
|
126
|
+
GraphQLInteraction.prototype.queryOrMutation = function (query, type) {
|
|
127
|
+
if (lodash_1.isNil(query)) {
|
|
128
|
+
throw new configurationError_1.default("You must provide a GraphQL " + type + ".");
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
graphql_tag_1.default(query);
|
|
132
|
+
}
|
|
133
|
+
catch (e) {
|
|
134
|
+
throw new graphQLQueryError_1.default("GraphQL " + type + " is invalid: " + e.message);
|
|
135
|
+
}
|
|
136
|
+
this.query = query;
|
|
137
|
+
return this;
|
|
138
|
+
};
|
|
117
139
|
return GraphQLInteraction;
|
|
118
140
|
}(interaction_1.Interaction));
|
|
119
141
|
exports.GraphQLInteraction = GraphQLInteraction;
|
package/src/dsl/graphql.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/dsl/graphql.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/dsl/graphql.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,iCAA4D;AAC5D,4DAA8B;AAC9B,6CAA8D;AAC9D,uCAAmC;AACnC,kFAA4D;AAC5D,oFAA8D;AAM9D,IAAM,WAAW,GAAG,UAAC,CAAS,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAzB,CAAyB,CAAC;AAE7D,IAAM,gBAAgB,GAAG,UAAC,CAAS;IACjC,6CAA6C;IAC7C,OAAA,CAAC,CAAC,OAAO,CAAC,qCAAqC,EAAE,MAAM,CAAC;AAAxD,CAAwD,CAAC;AAE3D,IAAM,kBAAkB,GAAG,UAAC,CAAS,IAAK,OAAA,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAhC,CAAgC,CAAC;AAE3E;;GAEG;AACH;IAAwC,sCAAW;IAAnD;QAAA,qEAmHC;QAlHW,eAAS,GAAmB,SAAS,CAAC;QAEtC,eAAS,GAAsB,SAAS,CAAC;;IAgHrD,CAAC;IA5GC;;OAEG;IACI,0CAAa,GAApB,UAAqB,SAAwB;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,0CAAa,GAApB,UAAqB,SAA2B;QAC9C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,sCAAS,GAAhB,UAAiB,KAAa;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,yCAAY,GAAnB,UAAoB,QAAgB;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,iCAAI,GAAX;QACE,IAAI,cAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACrB,MAAM,IAAI,4BAAkB,CAAC,mCAAmC,CAAC,CAAC;SACnE;QACD,IAAI,cAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YACjC,MAAM,IAAI,2BAAiB,CACzB,+CAA+C,CAChD,CAAC;SACH;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,eAAM,CACzB;YACE,IAAI,EAAE,eAAM,CACV;gBACE,aAAa,EAAE,IAAI,CAAC,SAAS;gBAC7B,KAAK,EAAE,gBAAK,CAAC;oBACX,QAAQ,EAAE,IAAI,CAAC,KAAK;oBACpB,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;iBACxC,CAAC;gBACF,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,EACD,oBAAW,CACZ;YACD,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,MAAM,EAAE,MAAM;SACf,EACD,IAAI,CAAC,KAAK,CAAC,OAAO,CACnB,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEO,4CAAe,GAAvB,UAAwB,KAAa,EAAE,IAAY;QACjD,IAAI,cAAK,CAAC,KAAK,CAAC,EAAE;YAChB,MAAM,IAAI,4BAAkB,CAAC,gCAA8B,IAAI,MAAG,CAAC,CAAC;SACrE;QAED,IAAI;YACF,qBAAG,CAAC,KAAK,CAAC,CAAC;SACZ;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,2BAAiB,CAAC,aAAW,IAAI,qBAAgB,CAAC,CAAC,OAAS,CAAC,CAAC;SACzE;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IACH,yBAAC;AAAD,CAAC,AAnHD,CAAwC,yBAAW,GAmHlD;AAnHY,gDAAkB"}
|
package/src/dsl/interaction.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.spec.js","sourceRoot":"","sources":["../../../src/dsl/interaction.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interaction.spec.js","sourceRoot":"","sources":["../../../src/dsl/interaction.spec.ts"],"names":[],"mappings":"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"}
|
package/src/dsl/matchers.spec.js
CHANGED
|
@@ -547,6 +547,21 @@ describe('Matcher', function () {
|
|
|
547
547
|
chai_1.expect(matchers_1.extractPayload(object)).to.deep.equal(object);
|
|
548
548
|
});
|
|
549
549
|
});
|
|
550
|
+
describe('when given an object with null values', function () {
|
|
551
|
+
var object = {
|
|
552
|
+
some: 'data',
|
|
553
|
+
more: null,
|
|
554
|
+
an: [null],
|
|
555
|
+
someObject: {
|
|
556
|
+
withData: true,
|
|
557
|
+
withNumber: 1,
|
|
558
|
+
andNull: null,
|
|
559
|
+
},
|
|
560
|
+
};
|
|
561
|
+
it('returns just that object', function () {
|
|
562
|
+
chai_1.expect(matchers_1.extractPayload(object)).to.deep.equal(object);
|
|
563
|
+
});
|
|
564
|
+
});
|
|
550
565
|
describe('when given an object with some matchers', function () {
|
|
551
566
|
var someMatchers = {
|
|
552
567
|
some: matchers_1.somethingLike('data'),
|