@pact-foundation/pact 7.3.0 → 8.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/CONTRIBUTING.md +22 -9
  3. package/LICENSE +1 -2
  4. package/README.md +253 -157
  5. package/common/logger.js +10 -5
  6. package/common/logger.js.map +1 -1
  7. package/common/metadata.js.map +1 -1
  8. package/common/net.js +3 -2
  9. package/common/net.js.map +1 -1
  10. package/common/net.spec.d.ts +1 -0
  11. package/common/net.spec.js +47 -0
  12. package/common/net.spec.js.map +1 -0
  13. package/common/request.js +1 -2
  14. package/common/request.js.map +1 -1
  15. package/common/request.spec.d.ts +1 -0
  16. package/common/request.spec.js +71 -0
  17. package/common/request.spec.js.map +1 -0
  18. package/common/utils.js +1 -2
  19. package/common/utils.js.map +1 -1
  20. package/dsl/apolloGraphql.d.ts +1 -1
  21. package/dsl/apolloGraphql.js +6 -3
  22. package/dsl/apolloGraphql.js.map +1 -1
  23. package/dsl/apolloGraphql.spec.d.ts +1 -0
  24. package/dsl/apolloGraphql.spec.js +47 -0
  25. package/dsl/apolloGraphql.spec.js.map +1 -0
  26. package/dsl/graphql.js +19 -9
  27. package/dsl/graphql.js.map +1 -1
  28. package/dsl/graphql.spec.d.ts +1 -0
  29. package/dsl/graphql.spec.js +141 -0
  30. package/dsl/graphql.spec.js.map +1 -0
  31. package/dsl/interaction.js +9 -7
  32. package/dsl/interaction.js.map +1 -1
  33. package/dsl/interaction.spec.d.ts +1 -0
  34. package/dsl/interaction.spec.js +172 -0
  35. package/dsl/interaction.spec.js.map +1 -0
  36. package/dsl/matchers.d.ts +25 -25
  37. package/dsl/matchers.js +57 -55
  38. package/dsl/matchers.js.map +1 -1
  39. package/dsl/matchers.spec.d.ts +1 -0
  40. package/dsl/matchers.spec.js +537 -0
  41. package/dsl/matchers.spec.js.map +1 -0
  42. package/dsl/message.d.ts +29 -3
  43. package/dsl/mockService.d.ts +6 -0
  44. package/dsl/mockService.js +10 -4
  45. package/dsl/mockService.js.map +1 -1
  46. package/dsl/mockService.spec.d.ts +1 -0
  47. package/dsl/mockService.spec.js +126 -0
  48. package/dsl/mockService.spec.js.map +1 -0
  49. package/dsl/verifier.d.ts +48 -2
  50. package/dsl/verifier.js +142 -3
  51. package/dsl/verifier.js.map +1 -1
  52. package/dsl/verifier.spec.d.ts +1 -0
  53. package/dsl/verifier.spec.js +299 -0
  54. package/dsl/verifier.spec.js.map +1 -0
  55. package/errors/configurationError.d.ts +2 -0
  56. package/errors/configurationError.js +24 -0
  57. package/errors/configurationError.js.map +1 -0
  58. package/errors/graphQLQueryError.d.ts +2 -0
  59. package/errors/graphQLQueryError.js +24 -0
  60. package/errors/graphQLQueryError.js.map +1 -0
  61. package/errors/matcherError.d.ts +2 -0
  62. package/errors/matcherError.js +24 -0
  63. package/errors/matcherError.js.map +1 -0
  64. package/errors/verificationError.d.ts +2 -0
  65. package/errors/verificationError.js +24 -0
  66. package/errors/verificationError.js.map +1 -0
  67. package/httpPact.d.ts +69 -0
  68. package/httpPact.js +206 -0
  69. package/httpPact.js.map +1 -0
  70. package/httpPact.spec.d.ts +1 -0
  71. package/httpPact.spec.js +337 -0
  72. package/httpPact.spec.js.map +1 -0
  73. package/messageConsumerPact.d.ts +3 -3
  74. package/messageConsumerPact.js +5 -4
  75. package/messageConsumerPact.js.map +1 -1
  76. package/messageConsumerPact.spec.d.ts +1 -0
  77. package/messageConsumerPact.spec.js +161 -0
  78. package/messageConsumerPact.spec.js.map +1 -0
  79. package/messageProviderPact.d.ts +0 -1
  80. package/messageProviderPact.js +11 -11
  81. package/messageProviderPact.js.map +1 -1
  82. package/messageProviderPact.spec.d.ts +1 -0
  83. package/messageProviderPact.spec.js +146 -0
  84. package/messageProviderPact.spec.js.map +1 -0
  85. package/package.json +24 -26
  86. package/pact-web.d.ts +2 -2
  87. package/pact-web.js +20 -10
  88. package/pact-web.js.map +1 -1
  89. package/pact-web.spec.d.ts +1 -0
  90. package/pact-web.spec.js +205 -0
  91. package/pact-web.spec.js.map +1 -0
  92. package/pact.d.ts +28 -65
  93. package/pact.integration.spec.d.ts +0 -0
  94. package/pact.integration.spec.js +292 -0
  95. package/pact.integration.spec.js.map +1 -0
  96. package/pact.js +21 -189
  97. package/pact.js.map +1 -1
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* tslint:disable:no-unused-expression no-empty */
4
+ var chai = require("chai");
5
+ var chaiAsPromised = require("chai-as-promised");
6
+ var messageConsumerPact_1 = require("./messageConsumerPact");
7
+ var sinonChai = require("sinon-chai");
8
+ chai.use(sinonChai);
9
+ chai.use(chaiAsPromised);
10
+ var expect = chai.expect;
11
+ describe("MessageConsumer", function () {
12
+ var consumer;
13
+ beforeEach(function () {
14
+ consumer = new messageConsumerPact_1.MessageConsumerPact({
15
+ consumer: "myconsumer",
16
+ provider: "myprovider",
17
+ });
18
+ });
19
+ var testMessage = {
20
+ contents: {
21
+ foo: "bar",
22
+ },
23
+ };
24
+ describe("#constructor", function () {
25
+ it("creates a Consumer when all mandatory parameters are provided", function () {
26
+ expect(consumer).to.be.a("object");
27
+ expect(consumer).to.respondTo("verify");
28
+ });
29
+ });
30
+ describe("#dsl", function () {
31
+ describe("when a valid Message has been constructed", function () {
32
+ it("the state should be valid", function () {
33
+ consumer
34
+ .given("some state")
35
+ .expectsToReceive("A message about something")
36
+ .withContent({ foo: "bar" })
37
+ .withMetadata({ baz: "bat" });
38
+ return expect(consumer.validate()).to.eventually.be.fulfilled;
39
+ });
40
+ });
41
+ describe("when a valid state has been given", function () {
42
+ it("the state should be save id in v3 format", function () {
43
+ consumer
44
+ .given("some state")
45
+ .expectsToReceive("A message about something")
46
+ .withContent({ foo: "bar" })
47
+ .withMetadata({ baz: "bat" });
48
+ expect(consumer.json().providerStates).to.be.a("array");
49
+ expect(consumer.json().providerStates).to.deep.eq([
50
+ { name: "some state" },
51
+ ]);
52
+ });
53
+ });
54
+ describe("when a valid Message has not been constructed", function () {
55
+ it("the state should not be valid", function () {
56
+ consumer
57
+ .given("some state")
58
+ .expectsToReceive("A message about something")
59
+ .withMetadata({ baz: "bat" });
60
+ return expect(consumer.validate()).to.eventually.be.rejected;
61
+ });
62
+ });
63
+ describe("when an empty description has been given", function () {
64
+ it("it should throw an error", function () {
65
+ expect(function () {
66
+ consumer.expectsToReceive("");
67
+ }).to.throw(Error);
68
+ });
69
+ });
70
+ describe("when an empty content object has been given", function () {
71
+ it("it should throw an error", function () {
72
+ expect(function () {
73
+ consumer.withContent({});
74
+ }).to.throw(Error);
75
+ });
76
+ });
77
+ describe("when an empty metadata object has been given", function () {
78
+ it("it should throw an error", function () {
79
+ expect(function () {
80
+ consumer.withMetadata({});
81
+ }).to.throw(Error);
82
+ });
83
+ });
84
+ });
85
+ describe("#verify", function () {
86
+ describe("when given a valid handler and message", function () {
87
+ it("verifies the consumer message", function () {
88
+ var stubbedConsumer = new messageConsumerPact_1.MessageConsumerPact({
89
+ consumer: "myconsumer",
90
+ provider: "myprovider",
91
+ });
92
+ var stub = stubbedConsumer;
93
+ // Stub out service factory
94
+ stub.getServiceFactory = function () {
95
+ return {
96
+ createMessage: function (opts) { return Promise.resolve("message created"); },
97
+ };
98
+ };
99
+ stubbedConsumer
100
+ .given("some state")
101
+ .expectsToReceive("A message about something")
102
+ .withContent({ foo: "bar" })
103
+ .withMetadata({ baz: "bat" });
104
+ return expect(stubbedConsumer.verify(function (m) { return Promise.resolve("yay!"); })).to.eventually.be.fulfilled;
105
+ });
106
+ });
107
+ });
108
+ describe("#json", function () {
109
+ it("returns a valid Message object", function () {
110
+ consumer.withContent({ foo: "bar" });
111
+ var m = consumer.json();
112
+ expect(m.contents).to.deep.eq({ foo: "bar" });
113
+ });
114
+ });
115
+ describe("#getServiceFactory", function () {
116
+ it("returns a valid pact-node object", function () {
117
+ var serviceFactory = consumer.getServiceFactory();
118
+ expect(serviceFactory).to.be.a("object");
119
+ expect(serviceFactory).to.respondTo("createMessage");
120
+ });
121
+ });
122
+ describe("handler transformers", function () {
123
+ describe("#asynchronousbodyHandler", function () {
124
+ describe("when given a function that succeeds", function () {
125
+ it("returns a Handler object that returns a completed promise", function () {
126
+ var failFn = function (obj) { return Promise.resolve("yay!"); };
127
+ var hFn = messageConsumerPact_1.asynchronousBodyHandler(failFn);
128
+ return expect(hFn(testMessage)).to.eventually.be.fulfilled;
129
+ });
130
+ });
131
+ describe("when given a function that throws an Exception", function () {
132
+ it("returns a Handler object that returns a rejected promise", function () {
133
+ var failFn = function (obj) { return Promise.reject("fail"); };
134
+ var hFn = messageConsumerPact_1.asynchronousBodyHandler(failFn);
135
+ return expect(hFn(testMessage)).to.eventually.be.rejected;
136
+ });
137
+ });
138
+ });
139
+ describe("#synchronousbodyHandler", function () {
140
+ describe("when given a function that succeeds", function () {
141
+ it("returns a Handler object that returns a completed promise", function () {
142
+ var failFn = function (obj) {
143
+ /* do nothing! */
144
+ };
145
+ var hFn = messageConsumerPact_1.synchronousBodyHandler(failFn);
146
+ return expect(hFn(testMessage)).to.eventually.be.fulfilled;
147
+ });
148
+ });
149
+ describe("when given a function that throws an Exception", function () {
150
+ it("returns a Handler object that returns a rejected promise", function () {
151
+ var failFn = function (obj) {
152
+ throw new Error("fail");
153
+ };
154
+ var hFn = messageConsumerPact_1.synchronousBodyHandler(failFn);
155
+ return expect(hFn(testMessage)).to.eventually.be.rejected;
156
+ });
157
+ });
158
+ });
159
+ });
160
+ });
161
+ //# sourceMappingURL=messageConsumerPact.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageConsumerPact.spec.js","sourceRoot":"","sources":["../src/messageConsumerPact.spec.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,6 @@ import { MessageProviderOptions } from "./dsl/options";
10
10
  */
11
11
  export declare class MessageProviderPact {
12
12
  private config;
13
- private state;
14
13
  constructor(config: MessageProviderOptions);
15
14
  /**
16
15
  * Verify a Message Provider.
@@ -2,13 +2,16 @@
2
2
  /**
3
3
  * @module Message
4
4
  */
5
- var __assign = (this && this.__assign) || Object.assign || function(t) {
6
- for (var s, i = 1, n = arguments.length; i < n; i++) {
7
- s = arguments[i];
8
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
9
- t[p] = s[p];
10
- }
11
- return t;
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
12
15
  };
13
16
  Object.defineProperty(exports, "__esModule", { value: true });
14
17
  var lodash_1 = require("lodash");
@@ -27,7 +30,6 @@ var bodyParser = require("body-parser");
27
30
  var MessageProviderPact = /** @class */ (function () {
28
31
  function MessageProviderPact(config) {
29
32
  this.config = config;
30
- this.state = {};
31
33
  if (config.logLevel && !lodash_1.isEmpty(config.logLevel)) {
32
34
  pact_node_1.default.logLevel(config.logLevel);
33
35
  logger_1.default.level(config.logLevel);
@@ -65,15 +67,13 @@ var MessageProviderPact = /** @class */ (function () {
65
67
  var _this = this;
66
68
  return function (server) {
67
69
  var opts = __assign({}, lodash_1.omit(_this.config, "handlers"), { providerBaseUrl: "http://localhost:" + server.address().port });
68
- // Run verification
69
- return new verifier_1.Verifier().verifyProvider(opts);
70
+ return new verifier_1.Verifier(opts).verifyProvider();
70
71
  };
71
72
  };
72
73
  // Get the API handler for the verification CLI process to invoke on POST /*
73
74
  MessageProviderPact.prototype.setupVerificationHandler = function () {
74
75
  var _this = this;
75
76
  return function (req, res) {
76
- // Extract the message request from the API
77
77
  var message = req.body;
78
78
  // Invoke the handler, and return the JSON response body
79
79
  // wrapped in a Message
@@ -1 +1 @@
1
- {"version":3,"file":"messageProviderPact.js","sourceRoot":"","sources":["../src/messageProviderPact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messageProviderPact.js","sourceRoot":"","sources":["../src/messageProviderPact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* tslint:disable:no-unused-expression no-empty */
4
+ var chai = require("chai");
5
+ var chaiAsPromised = require("chai-as-promised");
6
+ var messageProviderPact_1 = require("./messageProviderPact");
7
+ var sinonChai = require("sinon-chai");
8
+ var express = require("express");
9
+ var http = require("http");
10
+ chai.use(sinonChai);
11
+ chai.use(chaiAsPromised);
12
+ var expect = chai.expect;
13
+ describe("MesageProvider", function () {
14
+ var provider;
15
+ var successfulRequest = "successfulRequest";
16
+ var unsuccessfulRequest = "unsuccessfulRequest";
17
+ var successfulMessage = {
18
+ contents: { foo: "bar" },
19
+ description: successfulRequest,
20
+ providerStates: [{ name: "some state" }],
21
+ };
22
+ var unsuccessfulMessage = {
23
+ contents: { foo: "bar" },
24
+ description: unsuccessfulRequest,
25
+ providerStates: [{ name: "some state not found" }],
26
+ };
27
+ var nonExistentMessage = {
28
+ contents: { foo: "bar" },
29
+ description: "does not exist",
30
+ providerStates: [{ name: "some state not found" }],
31
+ };
32
+ beforeEach(function () {
33
+ provider = new messageProviderPact_1.MessageProviderPact({
34
+ consumer: "myconsumer",
35
+ logLevel: "error",
36
+ messageProviders: {
37
+ successfulRequest: function () { return Promise.resolve("yay"); },
38
+ unsuccessfulRequest: function () { return Promise.reject("nay"); },
39
+ },
40
+ provider: "myprovider",
41
+ stateHandlers: {
42
+ "some state": function () { return Promise.resolve("yay"); },
43
+ },
44
+ });
45
+ });
46
+ describe("#constructor", function () {
47
+ it("creates a Provider when all mandatory parameters are provided", function () {
48
+ expect(provider).to.be.a("object");
49
+ expect(provider).to.respondTo("verify");
50
+ });
51
+ it("creates a Provider with default log level if not specified", function () {
52
+ provider = new messageProviderPact_1.MessageProviderPact({
53
+ consumer: "myconsumer",
54
+ messageProviders: {},
55
+ provider: "myprovider",
56
+ });
57
+ expect(provider).to.be.a("object");
58
+ expect(provider).to.respondTo("verify");
59
+ });
60
+ });
61
+ describe("#setupVerificationHandler", function () {
62
+ describe("when their is a valid setup", function () {
63
+ it("creates a valid express handler", function (done) {
64
+ var setupVerificationHandler = provider.setupVerificationHandler.bind(provider)();
65
+ var req = { body: successfulMessage };
66
+ var res = {
67
+ json: function () { return done(); },
68
+ };
69
+ setupVerificationHandler(req, res);
70
+ });
71
+ });
72
+ describe("when their is an invalid setup", function () {
73
+ it("creates a valid express handler that rejects the message", function (done) {
74
+ var setupVerificationHandler = provider.setupVerificationHandler.bind(provider)();
75
+ var req = { body: nonExistentMessage };
76
+ var res = {
77
+ status: function (status) {
78
+ expect(status).to.eq(500);
79
+ return {
80
+ send: function () { return done(); },
81
+ };
82
+ },
83
+ };
84
+ setupVerificationHandler(req, res);
85
+ });
86
+ });
87
+ });
88
+ describe("#findHandler", function () {
89
+ describe("when given a handler that exists", function () {
90
+ it("returns a Handler object", function () {
91
+ var findHandler = provider.findHandler.bind(provider);
92
+ return expect(findHandler(successfulMessage)).to.eventually.be.a("function");
93
+ });
94
+ });
95
+ describe("when given a handler that does not exist", function () {
96
+ it("returns a failed promise", function () {
97
+ var findHandler = provider.findHandler.bind(provider);
98
+ return expect(findHandler("doesnotexist")).to.eventually.be.rejected;
99
+ });
100
+ });
101
+ });
102
+ describe("#setupStates", function () {
103
+ describe("when given a handler that exists", function () {
104
+ it("returns values of all resolved handlers", function () {
105
+ var findStateHandler = provider.setupStates.bind(provider);
106
+ return expect(findStateHandler(successfulMessage)).to.eventually.deep.equal(["yay"]);
107
+ });
108
+ });
109
+ describe("when given a state that does not have a handler", function () {
110
+ it("returns an empty promise", function () {
111
+ provider = new messageProviderPact_1.MessageProviderPact({
112
+ consumer: "myconsumer",
113
+ messageProviders: {},
114
+ provider: "myprovider",
115
+ });
116
+ var findStateHandler = provider.setupStates.bind(provider);
117
+ return expect(findStateHandler(unsuccessfulMessage)).to.eventually.deep.equal([]);
118
+ });
119
+ });
120
+ });
121
+ describe("#waitForServerReady", function () {
122
+ describe("when the http server starts up", function () {
123
+ it("returns a resolved promise", function () {
124
+ var waitForServerReady = provider.waitForServerReady;
125
+ var server = http.createServer(function () { }).listen();
126
+ return expect(waitForServerReady(server)).to.eventually.be.fulfilled;
127
+ });
128
+ });
129
+ });
130
+ describe("#setupProxyServer", function () {
131
+ describe("when the http server starts up", function () {
132
+ it("returns a resolved promise", function () {
133
+ var setupProxyServer = provider.setupProxyServer;
134
+ var app = express();
135
+ expect(setupProxyServer(app)).to.be.an.instanceOf(http.Server);
136
+ });
137
+ });
138
+ });
139
+ describe("#setupProxyApplication", function () {
140
+ it("returns a valid express app", function () {
141
+ var setupProxyApplication = provider.setupProxyApplication.bind(provider);
142
+ expect(setupProxyApplication().listen).to.be.a("function");
143
+ });
144
+ });
145
+ });
146
+ //# sourceMappingURL=messageProviderPact.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageProviderPact.spec.js","sourceRoot":"","sources":["../src/messageProviderPact.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,18 +1,21 @@
1
1
  {
2
2
  "name": "@pact-foundation/pact",
3
- "version": "7.3.0",
3
+ "version": "8.0.2",
4
4
  "description": "Pact for all things Javascript",
5
5
  "main": "./pact.js",
6
6
  "types": "./pact.d.ts",
7
7
  "scripts": {
8
8
  "build": "npm run lint && npm run compile",
9
- "compile": "tsc",
9
+ "compile": "rimraf dist && tsc",
10
10
  "clean": "rimraf docs dist dist-web coverage .nyc_output logs pacts jscpd.json",
11
11
  "coverage": "nyc report --reporter=text-lcov | coveralls",
12
12
  "deploy:prepare": "./scripts/create_npmrc_file.sh",
13
13
  "dist": "npm run compile && webpack --config ./config/webpack.web.config.js",
14
14
  "jscpd": "jscpd -p src -r json -o jscpd.json",
15
- "lint": "standard && tslint -c tslint.json 'src/**/*.ts'",
15
+ "lint": "npm run lint:prettier:ts && npm run lint:prettier:js && tslint -c tslint.json '{src,test,examples}/**/*.ts' -e '**/node_modules/**/*.ts'",
16
+ "lint:fix": "prettier --parser typescript --write '{src,test,examples}/**/*.ts' && prettier --write '{src,test,examples}/**/*.js'",
17
+ "lint:prettier:ts": "prettier --parser typescript --check '{src,test,examples}/**/*.ts'",
18
+ "lint:prettier:js": "prettier --parser typescript --check '{src,test,examples}/**/*.js'",
16
19
  "postdist": "npm t",
17
20
  "posttest": "npm run test:karma",
18
21
  "predist": "npm run clean && npm run lint && npm run jscpd",
@@ -72,18 +75,8 @@
72
75
  "url": "https://github.com/pact-foundation/pact-js/issues"
73
76
  },
74
77
  "homepage": "http://docs.pact.io/documentation/javascript.html",
75
- "standard": {
76
- "parser": "babel-eslint",
77
- "ignore": [
78
- "config/**/*",
79
- "test/**/*",
80
- "dist/**/*",
81
- "docs/**/*",
82
- "examples/**/*"
83
- ]
84
- },
85
78
  "dependencies": {
86
- "@pact-foundation/pact-node": "^6.20.0",
79
+ "@pact-foundation/pact-node": "^6.21.4",
87
80
  "@types/express": "^4.11.1",
88
81
  "body-parser": "^1.18.2",
89
82
  "bunyan": "^1.8.12",
@@ -93,7 +86,9 @@
93
86
  "express": "^4.16.3",
94
87
  "graphql": "^0.13.2",
95
88
  "graphql-tag": "^2.9.1",
96
- "lodash": "^4.17.4",
89
+ "http-proxy": "^1.17.0",
90
+ "http-proxy-middleware": "^0.19.0",
91
+ "lodash": "^4.17.11",
97
92
  "lodash.isfunction": "3.0.8",
98
93
  "lodash.isnil": "4.0.0",
99
94
  "lodash.isundefined": "3.0.1",
@@ -103,7 +98,7 @@
103
98
  "popsicle": "^9.2.0"
104
99
  },
105
100
  "devDependencies": {
106
- "@pact-foundation/karma-pact": "~2.1.5",
101
+ "@pact-foundation/karma-pact": "~2.1.9",
107
102
  "@types/bluebird": "^3.5.20",
108
103
  "@types/bunyan": "^1.8.3",
109
104
  "@types/chai": "^4.0.3",
@@ -115,9 +110,8 @@
115
110
  "@types/mocha": "^2.2.41",
116
111
  "@types/nock": "^9.1.2",
117
112
  "@types/node": "^8.0.24",
118
- "@types/proxyquire": "^1.3.27",
119
113
  "@types/q": "^1.0.6",
120
- "@types/sinon": "^2.3.3",
114
+ "@types/sinon": "^7.0.6",
121
115
  "@types/sinon-chai": "^2.7.29",
122
116
  "@types/superagent": "^3.5.7",
123
117
  "@types/tough-cookie": "^2.3.2",
@@ -131,14 +125,17 @@
131
125
  "bunyan-prettystream": "^0.1.3",
132
126
  "chai": "~4.1.2",
133
127
  "chai-as-promised": "^7.1.1",
134
- "coveralls": "^2.13.3",
128
+ "coveralls": "^3.0.2",
135
129
  "enhanced-resolve": "^3.4.1",
130
+ "eslint": "^5.6.1",
131
+ "eslint-config-prettier": "^3.1.0",
132
+ "eslint-plugin-prettier": "^3.0.0",
136
133
  "imports-loader": "~0.7.1",
137
134
  "istanbul": "~0.4.5",
138
135
  "jasmine-core": "~2.9.1",
139
136
  "jscpd": "0.6.10",
140
137
  "json-loader": "~0.5.7",
141
- "karma": "~2.0.0",
138
+ "karma": "^3.0.0",
142
139
  "karma-chai": "~0.1.0",
143
140
  "karma-jasmine": "^1.1.0",
144
141
  "karma-mocha": "~1.3.0",
@@ -147,20 +144,21 @@
147
144
  "mocha": "^5.1.1",
148
145
  "mocha-lcov-reporter": "^1.3.0",
149
146
  "nock": "^9.1.6",
150
- "nyc": "^11.2.0",
147
+ "nyc": "^13.1.0",
148
+ "prettier": "^1.14.3",
151
149
  "proxyquire": "^2.0.1",
152
150
  "rimraf": "^2.6.2",
153
- "sinon": "^3.2.1",
151
+ "sinon": "^7.2.4",
154
152
  "sinon-chai": "^2.13.0",
155
153
  "source-map-loader": "^0.2.1",
156
154
  "source-map-support": "^0.4.18",
157
- "standard": "^11.0.0",
158
- "standard-version": "^4.3.0",
155
+ "standard-version": "^4.4.0",
159
156
  "superagent": "^3.8.2",
157
+ "ts-mock-imports": "^1.2.2",
160
158
  "ts-node": "^3.3.0",
161
- "tslint": "^5.8.0",
159
+ "tslint": "^5.11.0",
162
160
  "tslint-config-prettier": "^1.15.0",
163
- "typescript": "^2.7.2",
161
+ "typescript": "^3.3.3",
164
162
  "webpack": "^3.5.5"
165
163
  }
166
164
  }
package/pact-web.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { InteractionObject } from "./dsl/interaction";
1
+ import { Interaction, InteractionObject } from "./dsl/interaction";
2
2
  import { MockService } from "./dsl/mockService";
3
3
  import { PactOptions, PactOptionsComplete } from "./dsl/options";
4
4
  /**
@@ -21,7 +21,7 @@ export declare class PactWeb {
21
21
  * @param {Interaction} interactionObj
22
22
  * @returns {Promise}
23
23
  */
24
- addInteraction(interactionObj: InteractionObject): Promise<string>;
24
+ addInteraction(interactionObj: InteractionObject | Interaction): Promise<string>;
25
25
  /**
26
26
  * Checks with the Mock Service if the expected interactions have been exercised.
27
27
  * @memberof PactProvider
package/pact-web.js CHANGED
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
9
12
  };
10
13
  function __export(m) {
11
14
  for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
@@ -20,6 +23,7 @@ var es6_promise_1 = require("es6-promise");
20
23
  var lodash_1 = require("lodash");
21
24
  var interaction_1 = require("./dsl/interaction");
22
25
  var mockService_1 = require("./dsl/mockService");
26
+ var verificationError_1 = require("./errors/verificationError");
23
27
  es6_promise_1.polyfill();
24
28
  /**
25
29
  * Creates a new {@link PactWeb}.
@@ -56,6 +60,9 @@ var PactWeb = /** @class */ (function () {
56
60
  * @returns {Promise}
57
61
  */
58
62
  PactWeb.prototype.addInteraction = function (interactionObj) {
63
+ if (interactionObj instanceof interaction_1.Interaction) {
64
+ return this.mockService.addInteraction(interactionObj);
65
+ }
59
66
  var interaction = new interaction_1.Interaction();
60
67
  if (interactionObj.state) {
61
68
  interaction.given(interactionObj.state);
@@ -74,10 +81,11 @@ var PactWeb = /** @class */ (function () {
74
81
  */
75
82
  PactWeb.prototype.verify = function () {
76
83
  var _this = this;
77
- return this.mockService.verify()
84
+ return this.mockService
85
+ .verify()
78
86
  .then(function () { return _this.mockService.removeInteractions(); })
79
87
  .catch(function (e) {
80
- throw new Error(e);
88
+ throw new verificationError_1.default(e);
81
89
  });
82
90
  };
83
91
  /**
@@ -88,7 +96,9 @@ var PactWeb = /** @class */ (function () {
88
96
  */
89
97
  PactWeb.prototype.finalize = function () {
90
98
  var _this = this;
91
- return this.mockService.writePact().then(function () { return _this.mockService.removeInteractions(); });
99
+ return this.mockService
100
+ .writePact()
101
+ .then(function () { return _this.mockService.removeInteractions(); });
92
102
  };
93
103
  /**
94
104
  * Writes the Pact file but leave interactions in.
package/pact-web.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pact-web.js","sourceRoot":"","sources":["../src/pact-web.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,4BAA4B;AAC5B;;;GAGG;AACH,2CAAuC;AACvC,iCAAiC;AACjC,iDAAmE;AACnE,iDAAgD;AAEhD,sBAAQ,EAAE,CAAC;AAEX;;;;;;;GAOG;AACH;IAKE,iBAAY,MAAmB;QAC7B,IAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,WAAW;YACjB,iBAAiB,EAAE,WAAW;YAC9B,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,KAAK;SACI,CAAC;QAEjB,IAAI,CAAC,IAAI,GAAG,aAAK,QAAQ,EAAK,MAAM,CAAyB,CAAC;QAE9D,IAAI,CAAC,gBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAChE,OAAO,CAAC,IAAI,CAAC,+GACmC,CAAC,CAAC;SACnD;QAED,OAAO,CAAC,IAAI,CAAC,mDAAgD,IAAI,CAAC,IAAI,CAAC,IAAI,OAAG,CAAC,CAAC;QAEhF,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EACvG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;OAMG;IACI,gCAAc,GAArB,UAAsB,cAAiC;QACrD,IAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAC;QAEtC,IAAI,cAAc,CAAC,KAAK,EAAE;YACxB,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SACzC;QAED,WAAW;aACR,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC;aAC3C,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC;aACvC,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IACD;;;;;OAKG;IACI,wBAAM,GAAb;QAAA,iBAMC;QALC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;aAC7B,IAAI,CAAC,cAAM,OAAA,KAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,EAArC,CAAqC,CAAC;aACjD,KAAK,CAAC,UAAC,CAAM;YACZ,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IACD;;;;;OAKG;IACI,0BAAQ,GAAf;QAAA,iBAEC;QADC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,cAAM,OAAA,KAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,EAArC,CAAqC,CAAC,CAAC;IACxF,CAAC;IACD;;;;;OAKG;IACI,2BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC;IACD;;;;;OAKG;IACI,oCAAkB,GAAzB;QACE,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;IAC/C,CAAC;IACH,cAAC;AAAD,CAAC,AA3FD,IA2FC;AA3FY,0BAAO;AA6FpB;;;;;;GAMG;AACH,yCAA2C;AAC7B,QAAA,QAAQ,GAAG,QAAQ,CAAC;AAElC;;;;GAIG;AACH,uCAAkC;AAElC;;;;GAIG;AACH,uCAAkC"}
1
+ {"version":3,"file":"pact-web.js","sourceRoot":"","sources":["../src/pact-web.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};