@pact-foundation/pact 10.0.0-beta.59 → 10.0.0-beta.62

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 (116) hide show
  1. package/CHANGELOG.md +33 -2
  2. package/MIGRATION.md +24 -1
  3. package/README.md +174 -1371
  4. package/package.json +26 -38
  5. package/src/common/logger.js +5 -1
  6. package/src/common/logger.js.map +1 -1
  7. package/src/common/net.d.ts +1 -0
  8. package/src/common/net.js +16 -2
  9. package/src/common/net.js.map +1 -1
  10. package/src/common/request.d.ts +0 -1
  11. package/src/common/request.js +78 -40
  12. package/src/common/request.js.map +1 -1
  13. package/src/common/spec.d.ts +2 -0
  14. package/src/common/spec.js +22 -0
  15. package/src/common/spec.js.map +1 -0
  16. package/src/dsl/apolloGraphql.spec.js +24 -0
  17. package/src/dsl/apolloGraphql.spec.js.map +1 -1
  18. package/src/dsl/graphql.d.ts +2 -2
  19. package/src/dsl/graphql.js +1 -0
  20. package/src/dsl/graphql.js.map +1 -1
  21. package/src/dsl/graphql.spec.js +77 -2
  22. package/src/dsl/graphql.spec.js.map +1 -1
  23. package/src/dsl/interaction.d.ts +13 -7
  24. package/src/dsl/interaction.js +30 -1
  25. package/src/dsl/interaction.js.map +1 -1
  26. package/src/dsl/interaction.spec.js +21 -31
  27. package/src/dsl/interaction.spec.js.map +1 -1
  28. package/src/dsl/matchers.d.ts +27 -32
  29. package/src/dsl/matchers.js +24 -23
  30. package/src/dsl/matchers.js.map +1 -1
  31. package/src/dsl/matchers.spec.js +101 -96
  32. package/src/dsl/matchers.spec.js.map +1 -1
  33. package/src/dsl/message.d.ts +19 -13
  34. package/src/dsl/mockService.d.ts +1 -46
  35. package/src/dsl/mockService.js +0 -72
  36. package/src/dsl/mockService.js.map +1 -1
  37. package/src/dsl/verifier/index.js +5 -1
  38. package/src/dsl/verifier/index.js.map +1 -1
  39. package/src/dsl/verifier/proxy/index.js +5 -1
  40. package/src/dsl/verifier/proxy/index.js.map +1 -1
  41. package/src/dsl/verifier/proxy/parseBody.d.ts +7 -0
  42. package/src/dsl/verifier/proxy/parseBody.js +22 -0
  43. package/src/dsl/verifier/proxy/parseBody.js.map +1 -0
  44. package/src/dsl/{mockService.spec.d.ts → verifier/proxy/parseBody.spec.d.ts} +0 -0
  45. package/src/dsl/verifier/proxy/parseBody.spec.js +118 -0
  46. package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -0
  47. package/src/dsl/verifier/proxy/proxy.js +19 -4
  48. package/src/dsl/verifier/proxy/proxy.js.map +1 -1
  49. package/src/dsl/verifier/proxy/stateHandler/index.js +5 -1
  50. package/src/dsl/verifier/proxy/stateHandler/index.js.map +1 -1
  51. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +5 -1
  52. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
  53. package/src/dsl/verifier/proxy/types.d.ts +1 -0
  54. package/src/dsl/verifier/verifier.js +8 -1
  55. package/src/dsl/verifier/verifier.js.map +1 -1
  56. package/src/dsl/verifier/verifier.spec.js +6 -2
  57. package/src/dsl/verifier/verifier.spec.js.map +1 -1
  58. package/src/httpPact/ffi.d.ts +15 -0
  59. package/src/httpPact/ffi.js +91 -0
  60. package/src/httpPact/ffi.js.map +1 -0
  61. package/src/{dsl/publisher.spec.d.ts → httpPact/ffi.spec.d.ts} +0 -0
  62. package/src/httpPact/ffi.spec.js +81 -0
  63. package/src/httpPact/ffi.spec.js.map +1 -0
  64. package/src/httpPact/index.d.ts +10 -10
  65. package/src/httpPact/index.js +146 -81
  66. package/src/httpPact/index.js.map +1 -1
  67. package/src/httpPact/index.spec.js +117 -220
  68. package/src/httpPact/index.spec.js.map +1 -1
  69. package/src/httpPact/tracing.js +4 -4
  70. package/src/httpPact/tracing.js.map +1 -1
  71. package/src/index.d.ts +1 -7
  72. package/src/index.js +8 -9
  73. package/src/index.js.map +1 -1
  74. package/src/messageConsumerPact.d.ts +34 -17
  75. package/src/messageConsumerPact.js +90 -67
  76. package/src/messageConsumerPact.js.map +1 -1
  77. package/src/messageConsumerPact.spec.js +0 -46
  78. package/src/messageConsumerPact.spec.js.map +1 -1
  79. package/src/messageProviderPact.js +6 -2
  80. package/src/messageProviderPact.js.map +1 -1
  81. package/src/messageProviderPact.spec.js +22 -3
  82. package/src/messageProviderPact.spec.js.map +1 -1
  83. package/src/v3/display.d.ts +6 -0
  84. package/src/v3/display.js +83 -0
  85. package/src/v3/display.js.map +1 -0
  86. package/src/v3/index.d.ts +1 -6
  87. package/src/v3/index.js +6 -7
  88. package/src/v3/index.js.map +1 -1
  89. package/src/v3/matchers.d.ts +6 -5
  90. package/src/v3/matchers.js +7 -1
  91. package/src/v3/matchers.js.map +1 -1
  92. package/src/v3/matchers.spec.js +5 -1
  93. package/src/v3/matchers.spec.js.map +1 -1
  94. package/src/v3/pact.d.ts +4 -70
  95. package/src/v3/pact.js +68 -133
  96. package/src/v3/pact.js.map +1 -1
  97. package/src/v3/types.d.ts +81 -0
  98. package/src/v3/types.js +11 -0
  99. package/src/v3/types.js.map +1 -0
  100. package/src/v3/xml/xmlElement.spec.js +36 -49
  101. package/src/v3/xml/xmlElement.spec.js.map +1 -1
  102. package/test/helper.js +5 -1
  103. package/test/helper.js.map +1 -1
  104. package/src/dsl/mockService.spec.js +0 -124
  105. package/src/dsl/mockService.spec.js.map +0 -1
  106. package/src/dsl/publisher.d.ts +0 -10
  107. package/src/dsl/publisher.js +0 -22
  108. package/src/dsl/publisher.js.map +0 -1
  109. package/src/dsl/publisher.spec.js +0 -43
  110. package/src/dsl/publisher.spec.js.map +0 -1
  111. package/src/v3/verifier.d.ts +0 -12
  112. package/src/v3/verifier.js +0 -23
  113. package/src/v3/verifier.js.map +0 -1
  114. package/v3/index.d.ts +0 -1
  115. package/v3/index.js +0 -16
  116. package/v3/index.js.map +0 -1
@@ -18,8 +18,16 @@ describe('GraphQLInteraction', function () {
18
18
  describe('when given a valid operation', function () {
19
19
  it('creates a GraphQL Interaction', function () {
20
20
  interaction.uponReceiving('a request');
21
+ interaction.withRequest({
22
+ path: '/graphql',
23
+ method: 'POST',
24
+ });
21
25
  interaction.withOperation('query');
22
26
  interaction.withQuery('{ hello }');
27
+ interaction.willRespondWith({
28
+ status: 200,
29
+ body: { data: {} },
30
+ });
23
31
  var json = interaction.json();
24
32
  expect(json.request.body.operationName).to.eq('query');
25
33
  });
@@ -32,8 +40,16 @@ describe('GraphQLInteraction', function () {
32
40
  describe('when given a null operation', function () {
33
41
  it('creates a GrphQL Interaction', function () {
34
42
  interaction.uponReceiving('a request');
43
+ interaction.withRequest({
44
+ path: '/graphql',
45
+ method: 'POST',
46
+ });
35
47
  interaction.withOperation(null);
36
48
  interaction.withQuery('{ hello }');
49
+ interaction.willRespondWith({
50
+ status: 200,
51
+ body: { data: {} },
52
+ });
37
53
  var json = interaction.json();
38
54
  expect(json.request.body.operationName).to.eq(null);
39
55
  });
@@ -43,11 +59,19 @@ describe('GraphQLInteraction', function () {
43
59
  describe('when given a set of variables', function () {
44
60
  it('adds the variables to the payload', function () {
45
61
  interaction.uponReceiving('a request');
62
+ interaction.withRequest({
63
+ path: '/graphql',
64
+ method: 'POST',
65
+ });
46
66
  interaction.withOperation('query');
47
67
  interaction.withQuery('{ hello }');
48
68
  interaction.withVariables({
49
69
  foo: 'bar',
50
70
  });
71
+ interaction.willRespondWith({
72
+ status: 200,
73
+ body: { data: {} },
74
+ });
51
75
  var json = interaction.json();
52
76
  expect(json.request.body.variables).to.deep.eq({ foo: 'bar' });
53
77
  });
@@ -55,8 +79,16 @@ describe('GraphQLInteraction', function () {
55
79
  describe('when no variables are provided', function () {
56
80
  it('does not add the variables property to the payload', function () {
57
81
  interaction.uponReceiving('a request');
82
+ interaction.withRequest({
83
+ path: '/graphql',
84
+ method: 'POST',
85
+ });
58
86
  interaction.withOperation('query');
59
87
  interaction.withQuery('{ hello }');
88
+ interaction.willRespondWith({
89
+ status: 200,
90
+ body: { data: {} },
91
+ });
60
92
  var json = interaction.json();
61
93
  expect(json.request.body).to.not.have.property('variables');
62
94
  });
@@ -64,9 +96,17 @@ describe('GraphQLInteraction', function () {
64
96
  describe('when an empty variables object is presented', function () {
65
97
  it('adds the variables property to the payload', function () {
66
98
  interaction.uponReceiving('a request');
99
+ interaction.withRequest({
100
+ path: '/graphql',
101
+ method: 'POST',
102
+ });
67
103
  interaction.withOperation('query');
68
104
  interaction.withQuery('{ hello }');
69
105
  interaction.withVariables({});
106
+ interaction.willRespondWith({
107
+ status: 200,
108
+ body: { data: {} },
109
+ });
70
110
  var json = interaction.json();
71
111
  expect(json.request.body).to.have.property('variables');
72
112
  });
@@ -75,11 +115,19 @@ describe('GraphQLInteraction', function () {
75
115
  describe('#withQuery', function () {
76
116
  beforeEach(function () {
77
117
  interaction.uponReceiving('a request');
118
+ interaction.withRequest({
119
+ path: '/graphql',
120
+ method: 'POST',
121
+ });
78
122
  interaction.withOperation('query');
79
123
  interaction.withQuery('{ hello }');
80
124
  interaction.withVariables({
81
125
  foo: 'bar',
82
126
  });
127
+ interaction.willRespondWith({
128
+ status: 200,
129
+ body: { data: {} },
130
+ });
83
131
  });
84
132
  describe('when given an empty query', function () {
85
133
  it('fails with an error', function () {
@@ -96,9 +144,20 @@ describe('GraphQLInteraction', function () {
96
144
  describe('when given a valid query', function () {
97
145
  describe('without variables', function () {
98
146
  it('adds regular expressions for the whitespace in the query', function () {
147
+ interaction.uponReceiving('a request');
148
+ interaction.withRequest({
149
+ path: '/graphql',
150
+ method: 'POST',
151
+ });
152
+ interaction.withOperation('query');
153
+ interaction.withQuery('{ hello }');
154
+ interaction.willRespondWith({
155
+ status: 200,
156
+ body: { data: {} },
157
+ });
99
158
  var json = interaction.json();
100
159
  expect((0, matchers_1.isMatcher)(json.request.body.query)).to.eq(true);
101
- var r = new RegExp(json.request.body.query.data.matcher.s, 'g');
160
+ var r = new RegExp(json.request.body.query.regex, 'g');
102
161
  var lotsOfWhitespace = "{ hello\n\n }";
103
162
  expect(r.test(lotsOfWhitespace)).to.eq(true);
104
163
  });
@@ -111,7 +170,7 @@ describe('GraphQLInteraction', function () {
111
170
  });
112
171
  var json = interaction.json();
113
172
  expect((0, matchers_1.isMatcher)(json.request.body.query)).to.eq(true);
114
- var r = new RegExp(json.request.body.query.data.matcher.s, 'g');
173
+ var r = new RegExp(json.request.body.query.regex, 'g');
115
174
  // eslint-disable-next-line no-useless-escape
116
175
  var lotsOfWhitespace = "{ Hello(id: $id) { name } }";
117
176
  expect(r.test(lotsOfWhitespace)).to.eq(true);
@@ -134,7 +193,15 @@ describe('GraphQLInteraction', function () {
134
193
  describe('when no operation is provided', function () {
135
194
  it('does not be present in unmarshaled body', function () {
136
195
  interaction.uponReceiving('a request');
196
+ interaction.withRequest({
197
+ path: '/graphql',
198
+ method: 'POST',
199
+ });
137
200
  interaction.withQuery('{ hello }');
201
+ interaction.willRespondWith({
202
+ status: 200,
203
+ body: { data: {} },
204
+ });
138
205
  var json = interaction.json();
139
206
  expect(json.request.body).to.not.have.property('operationName');
140
207
  });
@@ -143,8 +210,16 @@ describe('GraphQLInteraction', function () {
143
210
  context('when given a valid query', function () {
144
211
  it('marshals the query to JSON', function () {
145
212
  interaction.uponReceiving('a request');
213
+ interaction.withRequest({
214
+ path: '/graphql',
215
+ method: 'POST',
216
+ });
146
217
  interaction.withOperation('query');
147
218
  interaction.withQuery('{ hello }');
219
+ interaction.willRespondWith({
220
+ status: 200,
221
+ body: { data: {} },
222
+ });
148
223
  var json = interaction.json();
149
224
  expect((0, matchers_1.isMatcher)(json.request.body.query)).to.eq(true);
150
225
  expect(json.request.body.query.getValue()).to.eq('{ hello }');
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.spec.js","sourceRoot":"","sources":["../../../src/dsl/graphql.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql.spec.js","sourceRoot":"","sources":["../../../src/dsl/graphql.spec.ts"],"names":[],"mappings":"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"}
@@ -8,20 +8,19 @@ interface QueryObject {
8
8
  [name: string]: string | Matcher<string> | string[];
9
9
  }
10
10
  export declare type Query = string | QueryObject;
11
+ export declare type Headers = {
12
+ [header: string]: string | Matcher<string>;
13
+ };
11
14
  export interface RequestOptions {
12
15
  method: HTTPMethods | HTTPMethod;
13
16
  path: string | Matcher<string>;
14
17
  query?: Query;
15
- headers?: {
16
- [name: string]: string | Matcher<string>;
17
- };
18
+ headers?: Headers;
18
19
  body?: AnyTemplate;
19
20
  }
20
21
  export interface ResponseOptions {
21
22
  status: number;
22
- headers?: {
23
- [name: string]: string | Matcher<string>;
24
- };
23
+ headers?: Headers;
25
24
  body?: AnyTemplate;
26
25
  }
27
26
  export interface InteractionObject {
@@ -36,6 +35,12 @@ export interface InteractionState {
36
35
  request?: RequestOptions;
37
36
  response?: ResponseOptions;
38
37
  }
38
+ export interface InteractionStateComplete {
39
+ providerState?: string;
40
+ description: string;
41
+ request: RequestOptions;
42
+ response: ResponseOptions;
43
+ }
39
44
  export declare class Interaction {
40
45
  protected state: InteractionState;
41
46
  /**
@@ -74,6 +79,7 @@ export declare class Interaction {
74
79
  * Returns the interaction object created.
75
80
  * @returns {Object}
76
81
  */
77
- json(): InteractionState;
82
+ json(): InteractionStateComplete;
78
83
  }
84
+ export declare const interactionToInteractionObject: (interaction: InteractionStateComplete) => InteractionObject;
79
85
  export {};
@@ -7,7 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.Interaction = void 0;
10
+ exports.interactionToInteractionObject = exports.Interaction = void 0;
11
11
  var lodash_1 = require("lodash");
12
12
  var request_1 = require("../common/request");
13
13
  var matchers_1 = require("./matchers");
@@ -104,12 +104,41 @@ var Interaction = /** @class */ (function () {
104
104
  * @returns {Object}
105
105
  */
106
106
  Interaction.prototype.json = function () {
107
+ var _a, _b, _c, _d, _e, _f;
107
108
  if ((0, lodash_1.isNil)(this.state.description)) {
108
109
  throw new configurationError_1.default('You must provide a description for the Interaction');
109
110
  }
111
+ if ((0, lodash_1.isNil)(this.state.request) ||
112
+ (0, lodash_1.isNil)((_b = (_a = this.state) === null || _a === void 0 ? void 0 : _a.request) === null || _b === void 0 ? void 0 : _b.method) ||
113
+ (0, lodash_1.isNil)((_d = (_c = this.state) === null || _c === void 0 ? void 0 : _c.request) === null || _d === void 0 ? void 0 : _d.path)) {
114
+ throw new configurationError_1.default('You must provide a request with at least a method and path for the Interaction');
115
+ }
116
+ if ((0, lodash_1.isNil)(this.state.response) || (0, lodash_1.isNil)((_f = (_e = this.state) === null || _e === void 0 ? void 0 : _e.response) === null || _f === void 0 ? void 0 : _f.status)) {
117
+ throw new configurationError_1.default('You must provide a response with a status for the Interaction');
118
+ }
110
119
  return this.state;
111
120
  };
112
121
  return Interaction;
113
122
  }());
114
123
  exports.Interaction = Interaction;
124
+ var interactionToInteractionObject = function (interaction) {
125
+ var _a, _b, _c, _d, _e, _f, _g, _h;
126
+ return {
127
+ state: interaction.providerState,
128
+ uponReceiving: interaction.description,
129
+ withRequest: {
130
+ method: (_a = interaction.request) === null || _a === void 0 ? void 0 : _a.method,
131
+ path: (_b = interaction.request) === null || _b === void 0 ? void 0 : _b.path,
132
+ query: (_c = interaction.request) === null || _c === void 0 ? void 0 : _c.query,
133
+ body: (_d = interaction.request) === null || _d === void 0 ? void 0 : _d.body,
134
+ headers: (_e = interaction.request) === null || _e === void 0 ? void 0 : _e.headers,
135
+ },
136
+ willRespondWith: {
137
+ status: (_f = interaction.response) === null || _f === void 0 ? void 0 : _f.status,
138
+ body: (_g = interaction.response) === null || _g === void 0 ? void 0 : _g.body,
139
+ headers: (_h = interaction.response) === null || _h === void 0 ? void 0 : _h.headers,
140
+ },
141
+ };
142
+ };
143
+ exports.interactionToInteractionObject = interactionToInteractionObject;
115
144
  //# sourceMappingURL=interaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../src/dsl/interaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../src/dsl/interaction.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,iCAA6C;AAC7C,6CAA4D;AAC5D,uCAA6D;AAC7D,oFAA8D;AA8C9D;;;GAGG;AACH,IAAM,yBAAyB,GAAG,UAAC,KAAkB;IACnD,IAAI,IAAA,oBAAS,EAAC,KAAK,CAAC,EAAE;QACpB,OAAO;KACR;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,KAAK;QACjC,IACE,CAAC,CAAC,IAAA,oBAAS,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,EACxE;YACA,MAAM,IAAI,4BAAkB,CAAC,kCAAkC,CAAC,CAAC;SAClE;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;IAAA;QACY,UAAK,GAAqB,EAAE,CAAC;IAuHzC,CAAC;IArHC;;;;OAIG;IACI,2BAAK,GAAZ,UAAa,aAAqB;QAChC,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;SAC1C;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,mCAAa,GAApB,UAAqB,WAAmB;QACtC,IAAI,IAAA,cAAK,EAAC,WAAW,CAAC,EAAE;YACtB,MAAM,IAAI,4BAAkB,CAC1B,qDAAqD,CACtD,CAAC;SACH;QACD,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAErC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACI,iCAAW,GAAlB,UAAmB,WAA2B;QAC5C,IAAI,IAAA,cAAK,EAAC,WAAW,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,IAAI,4BAAkB,CAAC,kCAAkC,CAAC,CAAC;SAClE;QAED,IAAI,IAAA,aAAI,EAAC,qBAAW,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE;YAChE,MAAM,IAAI,4BAAkB,CAC1B,gDAAyC,IAAA,aAAI,EAAC,qBAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CACzE,CAAC;SACH;QAED,IAAI,IAAA,cAAK,EAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YAC3B,MAAM,IAAI,4BAAkB,CAAC,0BAA0B,CAAC,CAAC;SAC1D;QAED,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE;YACzC,yBAAyB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC9C;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAA,eAAM,EAAC,WAAW,EAAE,cAAK,CAAmB,CAAC;QAElE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,qCAAe,GAAtB,UAAuB,YAA6B;QAClD,IACE,IAAA,cAAK,EAAC,YAAY,CAAC,MAAM,CAAC;YAC1B,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAClD;YACA,MAAM,IAAI,4BAAkB,CAAC,iCAAiC,CAAC,CAAC;SACjE;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAA,eAAM,EAC1B;YACE,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,SAAS;YAC1C,MAAM,EAAE,YAAY,CAAC,MAAM;SAC5B,EACD,cAAK,CACa,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,0BAAI,GAAX;;QACE,IAAI,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YACjC,MAAM,IAAI,4BAAkB,CAC1B,oDAAoD,CACrD,CAAC;SACH;QACD,IACE,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACzB,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,0CAAE,MAAM,CAAC;YAClC,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,0CAAE,IAAI,CAAC,EAChC;YACA,MAAM,IAAI,4BAAkB,CAC1B,gFAAgF,CACjF,CAAC;SACH;QACD,IAAI,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,0CAAE,MAAM,CAAC,EAAE;YACrE,MAAM,IAAI,4BAAkB,CAC1B,+DAA+D,CAChE,CAAC;SACH;QAED,OAAO,IAAI,CAAC,KAAiC,CAAC;IAChD,CAAC;IACH,kBAAC;AAAD,CAAC,AAxHD,IAwHC;AAxHY,kCAAW;AA0HjB,IAAM,8BAA8B,GAAG,UAC5C,WAAqC;;IAErC,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,aAAa;QAChC,aAAa,EAAE,WAAW,CAAC,WAAW;QACtC,WAAW,EAAE;YACX,MAAM,EAAE,MAAA,WAAW,CAAC,OAAO,0CAAE,MAAM;YACnC,IAAI,EAAE,MAAA,WAAW,CAAC,OAAO,0CAAE,IAAI;YAC/B,KAAK,EAAE,MAAA,WAAW,CAAC,OAAO,0CAAE,KAAK;YACjC,IAAI,EAAE,MAAA,WAAW,CAAC,OAAO,0CAAE,IAAI;YAC/B,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,0CAAE,OAAO;SACtC;QACD,eAAe,EAAE;YACf,MAAM,EAAE,MAAA,WAAW,CAAC,QAAQ,0CAAE,MAAM;YACpC,IAAI,EAAE,MAAA,WAAW,CAAC,QAAQ,0CAAE,IAAI;YAChC,OAAO,EAAE,MAAA,WAAW,CAAC,QAAQ,0CAAE,OAAO;SACvC;KACF,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,8BAA8B,kCAmBzC"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ // @ts-nocheck
6
7
  var chai_1 = __importDefault(require("chai"));
7
8
  var chai_as_promised_1 = __importDefault(require("chai-as-promised"));
8
9
  var request_1 = require("../common/request");
@@ -15,20 +16,19 @@ describe('Interaction', function () {
15
16
  it('creates Interaction with provider state', function () {
16
17
  var actual = new interaction_1.Interaction()
17
18
  .uponReceiving('r')
18
- .given('provider state')
19
- .json();
20
- expect(actual).to.eql({
19
+ .given('provider state');
20
+ expect(actual.state).to.eql({
21
21
  description: 'r',
22
22
  providerState: 'provider state',
23
23
  });
24
24
  });
25
25
  describe('without provider state', function () {
26
26
  it('creates Interaction when blank', function () {
27
- var actual = new interaction_1.Interaction().uponReceiving('r').given('').json();
27
+ var actual = new interaction_1.Interaction().uponReceiving('r').given('').state;
28
28
  expect(actual).to.eql({ description: 'r' });
29
29
  });
30
30
  it('creates Interaction when nothing is passed', function () {
31
- var actual = new interaction_1.Interaction().uponReceiving('r').json();
31
+ var actual = new interaction_1.Interaction().uponReceiving('r').state;
32
32
  expect(actual).to.eql({ description: 'r' });
33
33
  });
34
34
  });
@@ -40,7 +40,7 @@ describe('Interaction', function () {
40
40
  });
41
41
  it('has a state with description', function () {
42
42
  interaction.uponReceiving('an interaction description');
43
- expect(interaction.json()).to.eql({
43
+ expect(interaction.state).to.eql({
44
44
  description: 'an interaction description',
45
45
  });
46
46
  });
@@ -69,8 +69,7 @@ describe('Interaction', function () {
69
69
  describe('with only mandatory params', function () {
70
70
  var actual = new interaction_1.Interaction()
71
71
  .uponReceiving('a request')
72
- .withRequest({ method: request_1.HTTPMethods.GET, path: '/search' })
73
- .json();
72
+ .withRequest({ method: request_1.HTTPMethods.GET, path: '/search' }).state;
74
73
  it('has a state containing only the given keys', function () {
75
74
  expect(actual).to.have.property('request');
76
75
  expect(actual.request).to.have.keys('method', 'path');
@@ -80,16 +79,13 @@ describe('Interaction', function () {
80
79
  });
81
80
  });
82
81
  describe('with all other parameters', function () {
83
- var actual = new interaction_1.Interaction()
84
- .uponReceiving('request')
85
- .withRequest({
82
+ var actual = new interaction_1.Interaction().uponReceiving('request').withRequest({
86
83
  body: { id: 1, name: 'Test', due: 'tomorrow' },
87
84
  headers: { 'Content-Type': 'application/json' },
88
85
  method: request_1.HTTPMethods.GET,
89
86
  path: '/search',
90
87
  query: 'q=test',
91
- })
92
- .json();
88
+ }).state;
93
89
  it('has a full state all available keys', function () {
94
90
  expect(actual).to.have.property('request');
95
91
  expect(actual.request).to.have.keys('method', 'path', 'query', 'headers', 'body');
@@ -108,21 +104,21 @@ describe('Interaction', function () {
108
104
  generate: 'limit=50&status=finished&order=desc',
109
105
  matcher: '^limit=[0-9]+&status=(finished)&order=(desc|asc)$',
110
106
  });
111
- expect(new interaction_1.Interaction().uponReceiving('request').withRequest(request).json()
107
+ expect(new interaction_1.Interaction().uponReceiving('request').withRequest(request).state
112
108
  .request).to.have.any.keys('query');
113
109
  });
114
110
  it('is passed with matcher as the value', function () {
115
111
  request.query = {
116
112
  'id[]': (0, matchers_1.eachLike)('1'),
117
113
  };
118
- expect(new interaction_1.Interaction().uponReceiving('request').withRequest(request).json()
114
+ expect(new interaction_1.Interaction().uponReceiving('request').withRequest(request).state
119
115
  .request).to.have.any.keys('query');
120
116
  });
121
117
  it('is passed with object', function () {
122
118
  request.query = {
123
119
  id: '1',
124
120
  };
125
- expect(new interaction_1.Interaction().uponReceiving('request').withRequest(request).json()
121
+ expect(new interaction_1.Interaction().uponReceiving('request').withRequest(request).state
126
122
  .request).to.have.any.keys('query');
127
123
  });
128
124
  it('is passed with array', function () {
@@ -130,31 +126,25 @@ describe('Interaction', function () {
130
126
  request.query = {
131
127
  id: ['1', '2'],
132
128
  };
133
- expect((_a = new interaction_1.Interaction().uponReceiving('request').withRequest(request).json()
129
+ expect((_a = new interaction_1.Interaction().uponReceiving('request').withRequest(request).state
134
130
  .request) === null || _a === void 0 ? void 0 : _a.query).to.deep.eq({ id: ['1', '2'] });
135
131
  });
136
132
  });
137
133
  describe('request body', function () {
138
134
  it('is included when an empty string is specified', function () {
139
- var actual = new interaction_1.Interaction()
140
- .uponReceiving('request')
141
- .withRequest({
135
+ var actual = new interaction_1.Interaction().uponReceiving('request').withRequest({
142
136
  body: '',
143
137
  method: request_1.HTTPMethods.GET,
144
138
  path: '/path',
145
- })
146
- .json();
139
+ }).state;
147
140
  expect(actual.request).to.have.any.keys('body');
148
141
  });
149
142
  it('is not included when explicitly set to undefined', function () {
150
- var actual = new interaction_1.Interaction()
151
- .uponReceiving('request')
152
- .withRequest({
143
+ var actual = new interaction_1.Interaction().uponReceiving('request').withRequest({
153
144
  body: undefined,
154
145
  method: request_1.HTTPMethods.GET,
155
146
  path: '/path',
156
- })
157
- .json();
147
+ }).state;
158
148
  expect(actual.request).not.to.have.any.keys('body');
159
149
  });
160
150
  });
@@ -175,7 +165,7 @@ describe('Interaction', function () {
175
165
  beforeEach(function () {
176
166
  interaction.uponReceiving('request');
177
167
  interaction.willRespondWith({ status: 200 });
178
- actual = interaction.json();
168
+ actual = interaction.state;
179
169
  });
180
170
  it('has a state compacted with only present keys', function () {
181
171
  expect(actual).to.have.property('response');
@@ -194,7 +184,7 @@ describe('Interaction', function () {
194
184
  headers: { 'Content-Type': 'application/json' },
195
185
  status: 404,
196
186
  });
197
- actual = interaction.json();
187
+ actual = interaction.state;
198
188
  });
199
189
  it('has a full state all available keys', function () {
200
190
  expect(actual).to.have.property('response');
@@ -207,7 +197,7 @@ describe('Interaction', function () {
207
197
  body: '',
208
198
  status: 204,
209
199
  });
210
- var actual = interaction.json();
200
+ var actual = interaction.state;
211
201
  expect(actual.response).to.have.any.keys('body');
212
202
  });
213
203
  it('is not included when explicitly set to undefined', function () {
@@ -215,7 +205,7 @@ describe('Interaction', function () {
215
205
  body: undefined,
216
206
  status: 204,
217
207
  });
218
- var actual = interaction.json();
208
+ var actual = interaction.state;
219
209
  expect(actual.response).not.to.have.any.keys('body');
220
210
  });
221
211
  });
@@ -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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"}
@@ -14,6 +14,25 @@ export declare const UUID_V4_FORMAT = "^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12
14
14
  export declare const IPV4_FORMAT = "^(\\d{1,3}\\.)+\\d{1,3}$";
15
15
  export declare const IPV6_FORMAT = "^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$";
16
16
  export declare const HEX_FORMAT = "^[0-9a-fA-F]+$";
17
+ export interface Matcher<T> {
18
+ value?: T;
19
+ 'pact:matcher:type': string;
20
+ getValue(): T;
21
+ }
22
+ export interface ArrayMatcher<T> extends Matcher<T> {
23
+ 'pact:matcher:type': string;
24
+ min?: number;
25
+ max?: number;
26
+ }
27
+ export declare function isMatcher(x: AnyTemplate): x is Matcher<AnyTemplate>;
28
+ export declare type AnyTemplate = AnyJson | Matcher<AnyTemplate> | ArrayMatcher<AnyTemplate> | TemplateMap | ArrayTemplate;
29
+ export declare type InterfaceToTemplate<O> = {
30
+ [K in keyof O]: AnyTemplate;
31
+ };
32
+ interface TemplateMap {
33
+ [key: string]: AnyTemplate;
34
+ }
35
+ declare type ArrayTemplate = Array<AnyTemplate>;
17
36
  /**
18
37
  * Validates the given example against the regex.
19
38
  *
@@ -23,18 +42,21 @@ export declare const HEX_FORMAT = "^[0-9a-fA-F]+$";
23
42
  export declare function validateExample(example: string, matcher: string): boolean;
24
43
  /**
25
44
  * The eachLike matcher
26
- * @param {any} content
45
+ * @param {any} template
27
46
  * @param {Object} opts
28
47
  * @param {Number} opts.min
29
48
  */
30
- export declare function eachLike<T>(content: T, opts?: {
49
+ export declare function eachLike<T>(template: T, opts?: {
31
50
  min: number;
32
- }): ArrayMatcher<T>;
51
+ }): ArrayMatcher<T[]>;
33
52
  /**
34
53
  * The somethingLike matcher
35
54
  * @param {any} value - the value to be somethingLike
36
55
  */
37
56
  export declare function somethingLike<T>(value: T): Matcher<T>;
57
+ export interface RegexMatcher<T> extends Matcher<T> {
58
+ regex: string;
59
+ }
38
60
  /**
39
61
  * The term matcher. Also aliased to 'regex' for discoverability.
40
62
  * @param {Object} opts
@@ -44,7 +66,7 @@ export declare function somethingLike<T>(value: T): Matcher<T>;
44
66
  export declare function term(opts: {
45
67
  generate: string;
46
68
  matcher: string;
47
- }): Matcher<string>;
69
+ }): RegexMatcher<string>;
48
70
  /**
49
71
  * Email address matcher.
50
72
  * @param {string} address - a email address to use as an example
@@ -117,32 +139,5 @@ export declare function boolean(value?: boolean): Matcher<boolean>;
117
139
  export declare function string(value?: string): Matcher<string>;
118
140
  export { somethingLike as like };
119
141
  export { term as regex };
120
- export interface Matcher<T> {
121
- data?: {
122
- generate: string;
123
- matcher: {
124
- json_class: string;
125
- o: number;
126
- s: string;
127
- };
128
- };
129
- contents?: T;
130
- json_class: string;
131
- getValue(): T;
132
- }
133
- export interface ArrayMatcher<T> {
134
- contents: T;
135
- json_class: string;
136
- getValue(): T[];
137
- min: number;
138
- }
139
- export declare function isMatcher(x: AnyTemplate): x is Matcher<AnyTemplate>;
140
- export declare type AnyTemplate = AnyJson | Matcher<AnyTemplate> | ArrayMatcher<AnyTemplate> | TemplateMap | ArrayTemplate;
141
- export declare type InterfaceToTemplate<O> = {
142
- [K in keyof O]: AnyTemplate;
143
- };
144
- interface TemplateMap {
145
- [key: string]: AnyTemplate;
146
- }
147
- declare type ArrayTemplate = Array<AnyTemplate>;
148
142
  export declare function extractPayload(value: AnyTemplate): AnyJson;
143
+ export declare function matcherValueOrString(obj: unknown): string;