@pact-foundation/pact 16.4.0 → 16.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +22 -12
  3. package/package.json +15 -28
  4. package/scripts/ci/build-and-test.sh +0 -3
  5. package/scripts/install-plugins.js +104 -0
  6. package/src/common/graphQL/graphQL.js +1 -1
  7. package/src/common/graphQL/graphQL.js.map +1 -1
  8. package/src/common/matchingRules.d.ts +7 -1
  9. package/src/common/matchingRules.js +21 -1
  10. package/src/common/matchingRules.js.map +1 -1
  11. package/src/common/net.spec.js +27 -63
  12. package/src/common/net.spec.js.map +1 -1
  13. package/src/common/request.js +1 -1
  14. package/src/common/request.js.map +1 -1
  15. package/src/common/request.spec.js +14 -58
  16. package/src/common/request.spec.js.map +1 -1
  17. package/src/dsl/apolloGraphql.spec.js +3 -43
  18. package/src/dsl/apolloGraphql.spec.js.map +1 -1
  19. package/src/dsl/graphql.d.ts +1 -1
  20. package/src/dsl/graphql.js +4 -4
  21. package/src/dsl/graphql.js.map +1 -1
  22. package/src/dsl/graphql.spec.js +22 -62
  23. package/src/dsl/graphql.spec.js.map +1 -1
  24. package/src/dsl/interaction.d.ts +2 -2
  25. package/src/dsl/interaction.js +1 -1
  26. package/src/dsl/interaction.js.map +1 -1
  27. package/src/dsl/interaction.spec.js +40 -70
  28. package/src/dsl/interaction.spec.js.map +1 -1
  29. package/src/dsl/matchers.d.ts +1 -2
  30. package/src/dsl/matchers.js.map +1 -1
  31. package/src/dsl/matchers.spec.js +95 -96
  32. package/src/dsl/matchers.spec.js.map +1 -1
  33. package/src/dsl/message.d.ts +1 -1
  34. package/src/dsl/options.d.ts +1 -1
  35. package/src/dsl/verifier/proxy/hooks.spec.js +16 -14
  36. package/src/dsl/verifier/proxy/hooks.spec.js.map +1 -1
  37. package/src/dsl/verifier/proxy/messages.js +1 -1
  38. package/src/dsl/verifier/proxy/messages.js.map +1 -1
  39. package/src/dsl/verifier/proxy/parseBody.js +1 -1
  40. package/src/dsl/verifier/proxy/parseBody.js.map +1 -1
  41. package/src/dsl/verifier/proxy/parseBody.spec.js +14 -47
  42. package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -1
  43. package/src/dsl/verifier/proxy/proxy.js +4 -4
  44. package/src/dsl/verifier/proxy/proxy.js.map +1 -1
  45. package/src/dsl/verifier/proxy/proxy.spec.js +6 -48
  46. package/src/dsl/verifier/proxy/proxy.spec.js.map +1 -1
  47. package/src/dsl/verifier/proxy/proxyRequest.d.ts +1 -1
  48. package/src/dsl/verifier/proxy/proxyRequest.js +1 -1
  49. package/src/dsl/verifier/proxy/proxyRequest.js.map +1 -1
  50. package/src/dsl/verifier/proxy/proxyRequest.spec.js +17 -52
  51. package/src/dsl/verifier/proxy/proxyRequest.spec.js.map +1 -1
  52. package/src/dsl/verifier/proxy/stateHandler/setupStates.d.ts +1 -1
  53. package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -1
  54. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js +16 -50
  55. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js.map +1 -1
  56. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +1 -1
  57. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -1
  58. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +12 -49
  59. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
  60. package/src/dsl/verifier/proxy/types.d.ts +2 -2
  61. package/src/dsl/verifier/verifier.d.ts +4 -0
  62. package/src/dsl/verifier/verifier.js +6 -6
  63. package/src/dsl/verifier/verifier.js.map +1 -1
  64. package/src/dsl/verifier/verifier.spec.js +46 -96
  65. package/src/dsl/verifier/verifier.spec.js.map +1 -1
  66. package/src/httpPact/ffi.d.ts +1 -1
  67. package/src/httpPact/ffi.js +1 -1
  68. package/src/httpPact/ffi.js.map +1 -1
  69. package/src/httpPact/ffi.spec.js +18 -60
  70. package/src/httpPact/ffi.spec.js.map +1 -1
  71. package/src/httpPact/index.d.ts +1 -1
  72. package/src/httpPact/index.js +7 -7
  73. package/src/httpPact/index.js.map +1 -1
  74. package/src/httpPact/index.spec.js +46 -89
  75. package/src/httpPact/index.spec.js.map +1 -1
  76. package/src/index.d.ts +25 -25
  77. package/src/index.js +28 -28
  78. package/src/index.js.map +1 -1
  79. package/src/messageConsumerPact.d.ts +3 -3
  80. package/src/messageConsumerPact.js +12 -5
  81. package/src/messageConsumerPact.js.map +1 -1
  82. package/src/messageConsumerPact.spec.js +15 -58
  83. package/src/messageConsumerPact.spec.js.map +1 -1
  84. package/src/messageProviderPact.js +3 -3
  85. package/src/messageProviderPact.js.map +1 -1
  86. package/src/messageProviderPact.spec.js +48 -84
  87. package/src/messageProviderPact.spec.js.map +1 -1
  88. package/src/pact.integration.spec.js +12 -51
  89. package/src/pact.integration.spec.js.map +1 -1
  90. package/src/v3/display.d.ts +1 -1
  91. package/src/v3/display.js.map +1 -1
  92. package/src/v3/ffi.js +5 -1
  93. package/src/v3/ffi.js.map +1 -1
  94. package/src/v3/ffi.spec.js +1 -36
  95. package/src/v3/ffi.spec.js.map +1 -1
  96. package/src/v3/graphql/graphQL.d.ts +2 -2
  97. package/src/v3/graphql/graphQL.js +2 -2
  98. package/src/v3/graphql/graphQL.js.map +1 -1
  99. package/src/v3/graphql/index.d.ts +1 -1
  100. package/src/v3/graphql/index.js +1 -1
  101. package/src/v3/graphql/index.js.map +1 -1
  102. package/src/v3/index.d.ts +4 -12
  103. package/src/v3/index.js +4 -12
  104. package/src/v3/index.js.map +1 -1
  105. package/src/v3/matchers.d.ts +14 -2
  106. package/src/v3/matchers.js +19 -1
  107. package/src/v3/matchers.js.map +1 -1
  108. package/src/v3/matchers.spec.js +125 -57
  109. package/src/v3/matchers.spec.js.map +1 -1
  110. package/src/v3/pact.js +10 -5
  111. package/src/v3/pact.js.map +1 -1
  112. package/src/v3/pact.spec.js +94 -0
  113. package/src/v3/pact.spec.js.map +1 -0
  114. package/src/v3/types.d.ts +18 -2
  115. package/src/v3/types.js +22 -1
  116. package/src/v3/types.js.map +1 -1
  117. package/src/v4/graphql/graphQLInteractionWithRequest.d.ts +2 -2
  118. package/src/v4/graphql/graphQLInteractionWithRequest.js +1 -1
  119. package/src/v4/graphql/graphQLInteractionWithRequest.js.map +1 -1
  120. package/src/v4/graphql/graphQLRequestBuilder.d.ts +1 -1
  121. package/src/v4/graphql/index.d.ts +3 -3
  122. package/src/v4/graphql/index.js +1 -1
  123. package/src/v4/graphql/index.js.map +1 -1
  124. package/src/v4/graphql/types.d.ts +1 -1
  125. package/src/v4/http/index.js +7 -2
  126. package/src/v4/http/index.js.map +1 -1
  127. package/src/v4/http/index.spec.d.ts +1 -0
  128. package/src/v4/http/index.spec.js +73 -0
  129. package/src/v4/http/index.spec.js.map +1 -0
  130. package/src/v4/http/interactionWithCompleteRequest.d.ts +2 -2
  131. package/src/v4/http/interactionWithPlugin.d.ts +2 -2
  132. package/src/v4/http/interactionWithPlugin.js +2 -2
  133. package/src/v4/http/interactionWithPlugin.js.map +1 -1
  134. package/src/v4/http/interactionWithPluginRequest.d.ts +4 -3
  135. package/src/v4/http/interactionWithPluginRequest.js +6 -1
  136. package/src/v4/http/interactionWithPluginRequest.js.map +1 -1
  137. package/src/v4/http/interactionWithPluginResponse.d.ts +1 -1
  138. package/src/v4/http/interactionWithRequest.d.ts +4 -3
  139. package/src/v4/http/interactionWithRequest.js +6 -1
  140. package/src/v4/http/interactionWithRequest.js.map +1 -1
  141. package/src/v4/http/interactionWithRequest.spec.d.ts +1 -0
  142. package/src/v4/http/interactionWithRequest.spec.js +82 -0
  143. package/src/v4/http/interactionWithRequest.spec.js.map +1 -0
  144. package/src/v4/http/interactionWithResponse.d.ts +1 -1
  145. package/src/v4/http/requestBuilder.d.ts +2 -1
  146. package/src/v4/http/requestBuilder.js +5 -1
  147. package/src/v4/http/requestBuilder.js.map +1 -1
  148. package/src/v4/http/requestBuilder.spec.d.ts +1 -0
  149. package/src/v4/http/requestBuilder.spec.js +42 -0
  150. package/src/v4/http/requestBuilder.spec.js.map +1 -0
  151. package/src/v4/http/requestWithPluginBuilder.d.ts +1 -0
  152. package/src/v4/http/requestWithPluginBuilder.js +4 -0
  153. package/src/v4/http/requestWithPluginBuilder.js.map +1 -1
  154. package/src/v4/http/requestWithPluginBuilder.spec.d.ts +1 -0
  155. package/src/v4/http/requestWithPluginBuilder.spec.js +34 -0
  156. package/src/v4/http/requestWithPluginBuilder.spec.js.map +1 -0
  157. package/src/v4/http/responseBuilder.d.ts +2 -1
  158. package/src/v4/http/responseBuilder.js +6 -2
  159. package/src/v4/http/responseBuilder.js.map +1 -1
  160. package/src/v4/http/responseBuilder.spec.d.ts +1 -0
  161. package/src/v4/http/responseBuilder.spec.js +42 -0
  162. package/src/v4/http/responseBuilder.spec.js.map +1 -0
  163. package/src/v4/http/responseWithPluginBuilder.d.ts +1 -1
  164. package/src/v4/http/responseWithPluginBuilder.spec.d.ts +1 -0
  165. package/src/v4/http/responseWithPluginBuilder.spec.js +34 -0
  166. package/src/v4/http/responseWithPluginBuilder.spec.js.map +1 -0
  167. package/src/v4/http/types.d.ts +11 -3
  168. package/src/v4/http/unconfiguredInteraction.d.ts +2 -2
  169. package/src/v4/http/unconfiguredInteraction.js +2 -2
  170. package/src/v4/http/unconfiguredInteraction.js.map +1 -1
  171. package/src/v4/index.d.ts +4 -3
  172. package/src/v4/index.js +3 -2
  173. package/src/v4/index.js.map +1 -1
  174. package/src/v4/message/asynchronousMessage.d.ts +4 -4
  175. package/src/v4/message/asynchronousMessage.js +2 -2
  176. package/src/v4/message/asynchronousMessage.js.map +1 -1
  177. package/src/v4/message/index.d.ts +4 -4
  178. package/src/v4/message/index.js +2 -2
  179. package/src/v4/message/index.js.map +1 -1
  180. package/src/v4/types.d.ts +1 -1
  181. package/src/xml/index.d.ts +4 -0
  182. package/src/xml/index.js +21 -0
  183. package/src/xml/index.js.map +1 -0
  184. package/src/xml/xmlBuilder.js.map +1 -0
  185. package/src/{v3/xml → xml}/xmlElement.d.ts +1 -1
  186. package/src/{v3/xml → xml}/xmlElement.js +1 -1
  187. package/src/xml/xmlElement.js.map +1 -0
  188. package/src/xml/xmlElement.spec.d.ts +1 -0
  189. package/src/{v3/xml → xml}/xmlElement.spec.js +41 -45
  190. package/src/xml/xmlElement.spec.js.map +1 -0
  191. package/src/xml/xmlNode.js.map +1 -0
  192. package/src/{v3/xml → xml}/xmlText.d.ts +1 -1
  193. package/src/xml/xmlText.js.map +1 -0
  194. package/scripts/install-plugins +0 -106
  195. package/src/v3/xml/xmlBuilder.js.map +0 -1
  196. package/src/v3/xml/xmlElement.js.map +0 -1
  197. package/src/v3/xml/xmlElement.spec.js.map +0 -1
  198. package/src/v3/xml/xmlNode.js.map +0 -1
  199. package/src/v3/xml/xmlText.js.map +0 -1
  200. /package/src/v3/{xml/xmlElement.spec.d.ts → pact.spec.d.ts} +0 -0
  201. /package/src/{v3/xml → xml}/xmlBuilder.d.ts +0 -0
  202. /package/src/{v3/xml → xml}/xmlBuilder.js +0 -0
  203. /package/src/{v3/xml → xml}/xmlNode.d.ts +0 -0
  204. /package/src/{v3/xml → xml}/xmlNode.js +0 -0
  205. /package/src/{v3/xml → xml}/xmlText.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"interactionWithRequest.js","sourceRoot":"","sources":["../../../../src/v4/http/interactionWithRequest.ts"],"names":[],"mappings":";;;AAIA,uEAAoE;AACpE,uDAAoD;AAQpD,MAAa,sBAAsB;IAGvB;IACA;IACA;IACE;IALZ,mCAAmC;IACnC,YACU,IAAkB,EAClB,WAAgC,EAChC,IAAmB,EACjB,SAAqB;QAHvB,SAAI,GAAJ,IAAI,CAAc;QAClB,gBAAW,GAAX,WAAW,CAAqB;QAChC,SAAI,GAAJ,IAAI,CAAe;QACjB,cAAS,GAAT,SAAS,CAAY;IAC9B,CAAC;IAEJ,eAAe,CACb,MAAc,EACd,OAA+B;QAE/B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,iCAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,IAAI,iDAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC;CACF;AArBD,wDAqBC"}
1
+ {"version":3,"file":"interactionWithRequest.js","sourceRoot":"","sources":["../../../../src/v4/http/interactionWithRequest.ts"],"names":[],"mappings":";;;AAIA,uEAAoE;AACpE,uDAAoD;AAQpD,gDAA+D;AAC/D,8DAAuE;AAEvE,MAAa,sBAAsB;IAGvB;IACA;IACA;IACE;IALZ,mCAAmC;IACnC,YACU,IAAkB,EAClB,WAAgC,EAChC,IAAmB,EACjB,SAAqB;QAHvB,SAAI,GAAJ,IAAI,CAAc;QAClB,gBAAW,GAAX,WAAW,CAAqB;QAChC,SAAI,GAAJ,IAAI,CAAe;QACjB,cAAS,GAAT,SAAS,CAAY;IAC9B,CAAC;IAEJ,eAAe,CACb,MAA0C,EAC1C,OAA+B;QAE/B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAA,gBAAK,EAAS,MAAM,CAAC,CAAC,CAAC;QAEnD,IAAI,IAAA,8BAAmB,EAAC,MAAM,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,yBAAyB,CACxC,IAAI,CAAC,SAAS,CAAC,IAAA,yCAAyB,EAAC,MAAM,CAAC,CAAC,CAClD,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,iCAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,IAAI,iDAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC;CACF;AA3BD,wDA2BC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const interactionWithRequest_1 = require("./interactionWithRequest");
5
+ const matchers_1 = require("../../v3/matchers");
6
+ describe('InteractionWithRequest', () => {
7
+ let withStatus;
8
+ let withResponseMatchingRules;
9
+ let interaction;
10
+ let pact;
11
+ let cleanupFn;
12
+ beforeEach(() => {
13
+ withStatus = vitest_1.vi.fn();
14
+ withResponseMatchingRules = vitest_1.vi.fn();
15
+ interaction = {
16
+ withStatus,
17
+ withResponseMatchingRules,
18
+ };
19
+ pact = {
20
+ pactffiCreateMockServerForTransport: vitest_1.vi.fn().mockReturnValue(1234),
21
+ mockServerMatchedSuccessfully: vitest_1.vi.fn().mockReturnValue(true),
22
+ mockServerMismatches: vitest_1.vi.fn().mockReturnValue([]),
23
+ cleanupMockServer: vitest_1.vi.fn().mockReturnValue(true),
24
+ writePactFile: vitest_1.vi.fn(),
25
+ cleanupPlugins: vitest_1.vi.fn(),
26
+ };
27
+ cleanupFn = vitest_1.vi.fn();
28
+ });
29
+ afterEach(() => {
30
+ vitest_1.vi.restoreAllMocks();
31
+ });
32
+ describe('#willRespondWith', () => {
33
+ it('calls withStatus with a plain number', () => {
34
+ const req = new interactionWithRequest_1.InteractionWithRequest(pact, interaction, { consumer: 'A', provider: 'B' }, cleanupFn);
35
+ req.willRespondWith(200);
36
+ expect(withStatus).toHaveBeenCalledOnce();
37
+ expect(withStatus).toHaveBeenCalledWith(200);
38
+ expect(withResponseMatchingRules).not.toHaveBeenCalled();
39
+ });
40
+ it('calls withStatus with the example value from a StatusCodeMatcher', () => {
41
+ const req = new interactionWithRequest_1.InteractionWithRequest(pact, interaction, { consumer: 'A', provider: 'B' }, cleanupFn);
42
+ const matcher = (0, matchers_1.matchStatus)(200, matchers_1.HTTPResponseStatusClass.Success);
43
+ req.willRespondWith(matcher);
44
+ expect(withStatus).toHaveBeenCalledOnce();
45
+ expect(withStatus).toHaveBeenCalledWith(200);
46
+ });
47
+ it('calls withResponseMatchingRules with status class matcher FFI format', () => {
48
+ const req = new interactionWithRequest_1.InteractionWithRequest(pact, interaction, { consumer: 'A', provider: 'B' }, cleanupFn);
49
+ const matcher = (0, matchers_1.matchStatus)(200, matchers_1.HTTPResponseStatusClass.Success);
50
+ req.willRespondWith(matcher);
51
+ expect(withResponseMatchingRules).toHaveBeenCalledOnce();
52
+ const rulesJson = JSON.parse(withResponseMatchingRules.mock.calls[0][0]);
53
+ expect(rulesJson).toEqual({
54
+ status: {
55
+ $: {
56
+ matchers: [{ match: 'statusCode', status: 'success' }],
57
+ },
58
+ },
59
+ });
60
+ });
61
+ it('calls withResponseMatchingRules with specific status code matcher format', () => {
62
+ const req = new interactionWithRequest_1.InteractionWithRequest(pact, interaction, { consumer: 'A', provider: 'B' }, cleanupFn);
63
+ const matcher = (0, matchers_1.matchStatus)(200, [200, 201]);
64
+ req.willRespondWith(matcher);
65
+ expect(withResponseMatchingRules).toHaveBeenCalledOnce();
66
+ const rulesJson = JSON.parse(withResponseMatchingRules.mock.calls[0][0]);
67
+ expect(rulesJson).toEqual({
68
+ status: {
69
+ $: {
70
+ matchers: [{ match: 'statusCode', status: [200, 201] }],
71
+ },
72
+ },
73
+ });
74
+ });
75
+ it('does not call withResponseMatchingRules for a plain number', () => {
76
+ const req = new interactionWithRequest_1.InteractionWithRequest(pact, interaction, { consumer: 'A', provider: 'B' }, cleanupFn);
77
+ req.willRespondWith(201);
78
+ expect(withResponseMatchingRules).not.toHaveBeenCalled();
79
+ });
80
+ });
81
+ });
82
+ //# sourceMappingURL=interactionWithRequest.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactionWithRequest.spec.js","sourceRoot":"","sources":["../../../../src/v4/http/interactionWithRequest.spec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ConsumerPact } from '@pact-foundation/pact-core';
2
- import type { V4InteractionWithResponse, PactV4Options, TestFunction } from './types';
2
+ import type { PactV4Options, TestFunction, V4InteractionWithResponse } from './types';
3
3
  export declare class InteractionWithResponse implements V4InteractionWithResponse {
4
4
  private pact;
5
5
  private opts;
@@ -1,5 +1,5 @@
1
1
  import type { ConsumerInteraction } from '@pact-foundation/pact-core';
2
- import type { TemplateQuery, TemplateHeaders, Rules } from '../../v3';
2
+ import type { Rules, TemplateHeaders, TemplateQuery } from '../../v3';
3
3
  import type { V4RequestBuilder } from './types';
4
4
  export declare class RequestBuilder implements V4RequestBuilder {
5
5
  protected interaction: ConsumerInteraction;
@@ -7,6 +7,7 @@ export declare class RequestBuilder implements V4RequestBuilder {
7
7
  query(query: TemplateQuery): V4RequestBuilder;
8
8
  headers(headers: TemplateHeaders): V4RequestBuilder;
9
9
  jsonBody(body: unknown): V4RequestBuilder;
10
+ xmlBody(body: unknown): V4RequestBuilder;
10
11
  binaryFile(contentType: string, file: string): V4RequestBuilder;
11
12
  /**
12
13
  * Sets the request body as multipart/form-data content.
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RequestBuilder = void 0;
4
4
  const ramda_1 = require("ramda");
5
+ const matchingRules_1 = require("../../common/matchingRules");
5
6
  const matchers_1 = require("../../v3/matchers");
6
7
  const _1 = require(".");
7
- const matchingRules_1 = require("../../common/matchingRules");
8
8
  class RequestBuilder {
9
9
  interaction;
10
10
  // tslint:disable:no-empty-function
@@ -41,6 +41,10 @@ class RequestBuilder {
41
41
  this.interaction.withRequestBody((0, matchers_1.matcherValueOrString)(body), 'application/json');
42
42
  return this;
43
43
  }
44
+ xmlBody(body) {
45
+ this.interaction.withRequestBody((0, matchers_1.matcherValueOrString)(body), 'application/xml');
46
+ return this;
47
+ }
44
48
  binaryFile(contentType, file) {
45
49
  const body = (0, _1.readBinaryData)(file);
46
50
  this.interaction.withRequestBinaryBody(body, contentType);
@@ -1 +1 @@
1
- {"version":3,"file":"requestBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requestBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const v4_1 = require("../../v4");
5
+ const requestBuilder_1 = require("./requestBuilder");
6
+ describe('V4 RequestBuilder', () => {
7
+ let withRequestBody;
8
+ let interaction;
9
+ let builder;
10
+ beforeEach(() => {
11
+ withRequestBody = vitest_1.vi.fn();
12
+ interaction = { withRequestBody };
13
+ builder = new requestBuilder_1.RequestBuilder(interaction);
14
+ });
15
+ afterEach(() => {
16
+ vitest_1.vi.restoreAllMocks();
17
+ });
18
+ describe('#xmlBody', () => {
19
+ it('calls withRequestBody with application/xml content type', () => {
20
+ const body = new v4_1.XmlBuilder('1.0', 'UTF-8', 'root').build((el) => {
21
+ el.appendElement('item', new Map(), 'value');
22
+ });
23
+ builder.xmlBody(body);
24
+ expect(withRequestBody).toHaveBeenCalledOnce();
25
+ expect(withRequestBody).toHaveBeenCalledWith(body, 'application/xml');
26
+ });
27
+ it('supports XmlBuilder with matchers', () => {
28
+ const body = new v4_1.XmlBuilder('1.0', 'UTF-8', 'items').build((el) => {
29
+ el.eachLike('item', new Map(), (item) => item.appendText('value'));
30
+ });
31
+ builder.xmlBody(body);
32
+ expect(withRequestBody).toHaveBeenCalledOnce();
33
+ expect(withRequestBody).toHaveBeenCalledWith(body, 'application/xml');
34
+ });
35
+ it('returns the builder for chaining', () => {
36
+ const body = new v4_1.XmlBuilder('1.0', 'UTF-8', 'root').build(() => { });
37
+ const result = builder.xmlBody(body);
38
+ expect(result).toBe(builder);
39
+ });
40
+ });
41
+ });
42
+ //# sourceMappingURL=requestBuilder.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestBuilder.spec.js","sourceRoot":"","sources":["../../../../src/v4/http/requestBuilder.spec.ts"],"names":[],"mappings":";;AACA,mCAA4B;AAC5B,iCAAsC;AACtC,qDAAkD;AAElD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,eAAyC,CAAC;IAC9C,IAAI,WAAgC,CAAC;IACrC,IAAI,OAAuB,CAAC;IAE5B,UAAU,CAAC,GAAG,EAAE;QACd,eAAe,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,WAAW,GAAG,EAAE,eAAe,EAAoC,CAAC;QACpE,OAAO,GAAG,IAAI,+BAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,WAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,IAAI,GAAG,IAAI,eAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC/D,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,EAAE,CAAC;YAC/C,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAI,eAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;gBAChE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,EAAE,CAAC;YAC/C,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,IAAI,GAAG,IAAI,eAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAErC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -6,6 +6,7 @@ export declare class RequestWithPluginBuilder extends RequestBuilder implements
6
6
  query(query: TemplateQuery): V4RequestWithPluginBuilder;
7
7
  headers(headers: TemplateHeaders): V4RequestWithPluginBuilder;
8
8
  jsonBody(body: unknown): V4RequestWithPluginBuilder;
9
+ xmlBody(body: unknown): V4RequestWithPluginBuilder;
9
10
  binaryFile(contentType: string, file: string): V4RequestWithPluginBuilder;
10
11
  /**
11
12
  * Sets the request body as multipart/form-data content for plugin-based interactions.
@@ -19,6 +19,10 @@ class RequestWithPluginBuilder extends requestBuilder_1.RequestBuilder {
19
19
  super.jsonBody(body);
20
20
  return this;
21
21
  }
22
+ xmlBody(body) {
23
+ super.xmlBody(body);
24
+ return this;
25
+ }
22
26
  binaryFile(contentType, file) {
23
27
  super.binaryFile(contentType, file);
24
28
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"requestWithPluginBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestWithPluginBuilder.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAGlD,MAAa,wBACX,SAAQ,+BAAc;IAGtB,cAAc,CACZ,WAAmB,EACnB,QAAgB;QAEhB,IAAI,CAAC,WAAW,CAAC,oCAAoC,CACnD,WAAW,EACX,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAoB;QACxB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAwB;QAC9B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAa;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,WAAmB,EAAE,IAAY;QAC1C,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CACX,WAAmB,EACnB,IAAY,EACZ,YAAoB,EACpB,QAAiB;QAEjB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAY;QACxB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,WAAmB,EAAE,IAAY;QACpC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA/ED,4DA+EC"}
1
+ {"version":3,"file":"requestWithPluginBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestWithPluginBuilder.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAGlD,MAAa,wBACX,SAAQ,+BAAc;IAGtB,cAAc,CACZ,WAAmB,EACnB,QAAgB;QAEhB,IAAI,CAAC,WAAW,CAAC,oCAAoC,CACnD,WAAW,EACX,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAoB;QACxB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAwB;QAC9B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAa;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAa;QACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,WAAmB,EAAE,IAAY;QAC1C,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CACX,WAAmB,EACnB,IAAY,EACZ,YAAoB,EACpB,QAAiB;QAEjB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAY;QACxB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,WAAmB,EAAE,IAAY;QACpC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AArFD,4DAqFC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const v4_1 = require("../../v4");
5
+ const requestWithPluginBuilder_1 = require("./requestWithPluginBuilder");
6
+ describe('V4 RequestWithPluginBuilder', () => {
7
+ let withRequestBody;
8
+ let interaction;
9
+ let builder;
10
+ beforeEach(() => {
11
+ withRequestBody = vitest_1.vi.fn();
12
+ interaction = { withRequestBody };
13
+ builder = new requestWithPluginBuilder_1.RequestWithPluginBuilder(interaction);
14
+ });
15
+ afterEach(() => {
16
+ vitest_1.vi.restoreAllMocks();
17
+ });
18
+ describe('#xmlBody', () => {
19
+ it('delegates to parent and calls withRequestBody with application/xml', () => {
20
+ const body = new v4_1.XmlBuilder('1.0', 'UTF-8', 'root').build((el) => {
21
+ el.appendElement('item', new Map(), 'value');
22
+ });
23
+ builder.xmlBody(body);
24
+ expect(withRequestBody).toHaveBeenCalledOnce();
25
+ expect(withRequestBody).toHaveBeenCalledWith(body, 'application/xml');
26
+ });
27
+ it('returns a V4RequestWithPluginBuilder for chaining', () => {
28
+ const body = new v4_1.XmlBuilder('1.0', 'UTF-8', 'root').build(() => { });
29
+ const result = builder.xmlBody(body);
30
+ expect(result).toBe(builder);
31
+ });
32
+ });
33
+ });
34
+ //# sourceMappingURL=requestWithPluginBuilder.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestWithPluginBuilder.spec.js","sourceRoot":"","sources":["../../../../src/v4/http/requestWithPluginBuilder.spec.ts"],"names":[],"mappings":";;AACA,mCAA4B;AAC5B,iCAAsC;AACtC,yEAAsE;AAEtE,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,IAAI,eAAyC,CAAC;IAC9C,IAAI,WAAgC,CAAC;IACrC,IAAI,OAAiC,CAAC;IAEtC,UAAU,CAAC,GAAG,EAAE;QACd,eAAe,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,WAAW,GAAG,EAAE,eAAe,EAAoC,CAAC;QACpE,OAAO,GAAG,IAAI,mDAAwB,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,WAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC5E,MAAM,IAAI,GAAG,IAAI,eAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC/D,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,EAAE,CAAC;YAC/C,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,IAAI,GAAG,IAAI,eAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAErC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import type { ConsumerInteraction } from '@pact-foundation/pact-core';
2
- import type { TemplateHeaders, Rules } from '../../v3';
2
+ import type { Rules, TemplateHeaders } from '../../v3';
3
3
  import type { V4ResponseBuilder } from './types';
4
4
  export declare class ResponseBuilder implements V4ResponseBuilder {
5
5
  protected interaction: ConsumerInteraction;
6
6
  constructor(interaction: ConsumerInteraction);
7
7
  headers(headers: TemplateHeaders): V4ResponseBuilder;
8
8
  jsonBody(body: unknown): V4ResponseBuilder;
9
+ xmlBody(body: unknown): V4ResponseBuilder;
9
10
  binaryFile(contentType: string, file: string): V4ResponseBuilder;
10
11
  /**
11
12
  * Sets the response body as multipart/form-data content.
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ResponseBuilder = void 0;
4
4
  const ramda_1 = require("ramda");
5
- const _1 = require(".");
6
- const matchers_1 = require("../../v3/matchers");
7
5
  const matchingRules_1 = require("../../common/matchingRules");
6
+ const matchers_1 = require("../../v3/matchers");
7
+ const _1 = require(".");
8
8
  class ResponseBuilder {
9
9
  interaction;
10
10
  constructor(interaction) {
@@ -20,6 +20,10 @@ class ResponseBuilder {
20
20
  this.interaction.withResponseBody((0, matchers_1.matcherValueOrString)(body), 'application/json');
21
21
  return this;
22
22
  }
23
+ xmlBody(body) {
24
+ this.interaction.withResponseBody((0, matchers_1.matcherValueOrString)(body), 'application/xml');
25
+ return this;
26
+ }
23
27
  binaryFile(contentType, file) {
24
28
  const body = (0, _1.readBinaryData)(file);
25
29
  this.interaction.withResponseBinaryBody(body, contentType);
@@ -1 +1 @@
1
- {"version":3,"file":"responseBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/responseBuilder.ts"],"names":[],"mappings":";;;AACA,iCAA0C;AAC1C,wBAAmC;AAEnC,gDAAyD;AAEzD,8DAA8E;AAE9E,MAAa,eAAe;IAChB,WAAW,CAAsB;IAE3C,YAAY,WAAgC;QAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,OAAwB;QAC9B,IAAA,yBAAiB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAa;QACpB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,IAAA,+BAAoB,EAAC,IAAI,CAAC,EAC1B,kBAAkB,CACnB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,WAAmB,EAAE,IAAY;QAC1C,MAAM,IAAI,GAAG,IAAA,iBAAc,EAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CACX,WAAmB,EACnB,IAAY,EACZ,YAAoB,EACpB,QAAiB;QAEjB,IAAI,CAAC,WAAW,CAAC,yBAAyB,CACxC,WAAW,EACX,IAAI,EACJ,YAAY,EACZ,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAY;QACxB,IAAA,6BAAa,EAAC,KAAK,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAA,iCAAiB,EAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,WAAmB,EAAE,IAAY;QACpC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA5ED,0CA4EC"}
1
+ {"version":3,"file":"responseBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/responseBuilder.ts"],"names":[],"mappings":";;;AACA,iCAA0C;AAC1C,8DAA8E;AAE9E,gDAAyD;AACzD,wBAAmC;AAGnC,MAAa,eAAe;IAChB,WAAW,CAAsB;IAE3C,YAAY,WAAgC;QAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,OAAwB;QAC9B,IAAA,yBAAiB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAa;QACpB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,IAAA,+BAAoB,EAAC,IAAI,CAAC,EAC1B,kBAAkB,CACnB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAa;QACnB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,IAAA,+BAAoB,EAAC,IAAI,CAAC,EAC1B,iBAAiB,CAClB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,WAAmB,EAAE,IAAY;QAC1C,MAAM,IAAI,GAAG,IAAA,iBAAc,EAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CACX,WAAmB,EACnB,IAAY,EACZ,YAAoB,EACpB,QAAiB;QAEjB,IAAI,CAAC,WAAW,CAAC,yBAAyB,CACxC,WAAW,EACX,IAAI,EACJ,YAAY,EACZ,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,KAAY;QACxB,IAAA,6BAAa,EAAC,KAAK,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAA,iCAAiB,EAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,WAAmB,EAAE,IAAY;QACpC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AApFD,0CAoFC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const v4_1 = require("../../v4");
5
+ const responseBuilder_1 = require("./responseBuilder");
6
+ describe('V4 ResponseBuilder', () => {
7
+ let withResponseBody;
8
+ let interaction;
9
+ let builder;
10
+ beforeEach(() => {
11
+ withResponseBody = vitest_1.vi.fn();
12
+ interaction = { withResponseBody };
13
+ builder = new responseBuilder_1.ResponseBuilder(interaction);
14
+ });
15
+ afterEach(() => {
16
+ vitest_1.vi.restoreAllMocks();
17
+ });
18
+ describe('#xmlBody', () => {
19
+ it('calls withResponseBody with application/xml content type', () => {
20
+ const body = new v4_1.XmlBuilder('1.0', 'UTF-8', 'root').build((el) => {
21
+ el.appendElement('item', new Map(), 'value');
22
+ });
23
+ builder.xmlBody(body);
24
+ expect(withResponseBody).toHaveBeenCalledOnce();
25
+ expect(withResponseBody).toHaveBeenCalledWith(body, 'application/xml');
26
+ });
27
+ it('supports XmlBuilder with matchers', () => {
28
+ const body = new v4_1.XmlBuilder('1.0', 'UTF-8', 'items').build((el) => {
29
+ el.eachLike('item', new Map(), (item) => item.appendText('value'));
30
+ });
31
+ builder.xmlBody(body);
32
+ expect(withResponseBody).toHaveBeenCalledOnce();
33
+ expect(withResponseBody).toHaveBeenCalledWith(body, 'application/xml');
34
+ });
35
+ it('returns the builder for chaining', () => {
36
+ const body = new v4_1.XmlBuilder('1.0', 'UTF-8', 'root').build(() => { });
37
+ const result = builder.xmlBody(body);
38
+ expect(result).toBe(builder);
39
+ });
40
+ });
41
+ });
42
+ //# sourceMappingURL=responseBuilder.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseBuilder.spec.js","sourceRoot":"","sources":["../../../../src/v4/http/responseBuilder.spec.ts"],"names":[],"mappings":";;AACA,mCAA4B;AAC5B,iCAAsC;AACtC,uDAAoD;AAEpD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,gBAA0C,CAAC;IAC/C,IAAI,WAAgC,CAAC;IACrC,IAAI,OAAwB,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACd,gBAAgB,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,WAAW,GAAG,EAAE,gBAAgB,EAAoC,CAAC;QACrE,OAAO,GAAG,IAAI,iCAAe,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,WAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,IAAI,GAAG,IAAI,eAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC/D,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,EAAE,CAAC;YAChD,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAI,eAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;gBAChE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,EAAE,CAAC;YAChD,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,IAAI,GAAG,IAAI,eAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAErC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ResponseBuilder } from './responseBuilder';
2
- import type { V4ResponseWithPluginBuilder, V4ResponseBuilder } from './types';
2
+ import type { V4ResponseBuilder, V4ResponseWithPluginBuilder } from './types';
3
3
  export declare class ResponseWithPluginBuilder extends ResponseBuilder implements V4ResponseWithPluginBuilder {
4
4
  pluginContents(contentType: string, contents: string): V4ResponseBuilder;
5
5
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const v4_1 = require("../../v4");
5
+ const responseWithPluginBuilder_1 = require("./responseWithPluginBuilder");
6
+ describe('V4 ResponseWithPluginBuilder', () => {
7
+ let withResponseBody;
8
+ let interaction;
9
+ let builder;
10
+ beforeEach(() => {
11
+ withResponseBody = vitest_1.vi.fn();
12
+ interaction = { withResponseBody };
13
+ builder = new responseWithPluginBuilder_1.ResponseWithPluginBuilder(interaction);
14
+ });
15
+ afterEach(() => {
16
+ vitest_1.vi.restoreAllMocks();
17
+ });
18
+ describe('#xmlBody', () => {
19
+ it('calls withResponseBody with application/xml content type', () => {
20
+ const body = new v4_1.XmlBuilder('1.0', 'UTF-8', 'root').build((el) => {
21
+ el.appendElement('item', new Map(), 'value');
22
+ });
23
+ builder.xmlBody(body);
24
+ expect(withResponseBody).toHaveBeenCalledOnce();
25
+ expect(withResponseBody).toHaveBeenCalledWith(body, 'application/xml');
26
+ });
27
+ it('returns the builder for chaining', () => {
28
+ const body = new v4_1.XmlBuilder('1.0', 'UTF-8', 'root').build(() => { });
29
+ const result = builder.xmlBody(body);
30
+ expect(result).toBe(builder);
31
+ });
32
+ });
33
+ });
34
+ //# sourceMappingURL=responseWithPluginBuilder.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseWithPluginBuilder.spec.js","sourceRoot":"","sources":["../../../../src/v4/http/responseWithPluginBuilder.spec.ts"],"names":[],"mappings":";;AACA,mCAA4B;AAC5B,iCAAsC;AACtC,2EAAwE;AAExE,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,IAAI,gBAA0C,CAAC;IAC/C,IAAI,WAAgC,CAAC;IACrC,IAAI,OAAkC,CAAC;IAEvC,UAAU,CAAC,GAAG,EAAE;QACd,gBAAgB,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,WAAW,GAAG,EAAE,gBAAgB,EAAoC,CAAC;QACrE,OAAO,GAAG,IAAI,qDAAyB,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,WAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,IAAI,GAAG,IAAI,eAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC/D,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,EAAE,CAAC;YAChD,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,IAAI,GAAG,IAAI,eAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAErC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { JsonMap } from '../../common/jsonTypes';
2
- import type { Matcher, Path, Rules, SpecificationVersion, TemplateHeaders, TemplateQuery, V3MockServer, V3ProviderState, V3Request, V3Response } from '../../v3';
2
+ import type { Matcher, Path, Rules, SpecificationVersion, StatusCodeMatcher, TemplateHeaders, TemplateQuery, V3MockServer, V3ProviderState, V3Request, V3Response } from '../../v3';
3
3
  export type V4ProviderState = V3ProviderState;
4
4
  export type V4MockServer = V3MockServer;
5
5
  export type V4Request = V3Request;
@@ -37,6 +37,10 @@ export interface PactV4Options {
37
37
  * The host to run the mock service, defaults to 127.0.0.1
38
38
  */
39
39
  host?: string;
40
+ /**
41
+ * If the mock server should handle CORS pre-flight requests. Defaults to true
42
+ */
43
+ cors?: boolean;
40
44
  }
41
45
  export type TemplateHeaderArrayValue = string[] | Matcher<string>[];
42
46
  export type Comment = string;
@@ -59,13 +63,14 @@ export interface V4InteractionWithCompleteRequest {
59
63
  withCompleteResponse(response: V4Response): V4InteractionWithResponse;
60
64
  }
61
65
  export interface V4InteractionWithRequest {
62
- willRespondWith(status: number, builder?: V4ResponseBuilderFunc): V4InteractionWithResponse;
66
+ willRespondWith(status: number | StatusCodeMatcher<number>, builder?: V4ResponseBuilderFunc): V4InteractionWithResponse;
63
67
  }
64
68
  export type V4RequestBuilderFunc = (builder: V4RequestBuilder) => void;
65
69
  export interface V4RequestBuilder {
66
70
  query(query: TemplateQuery): V4RequestBuilder;
67
71
  headers(headers: TemplateHeaders): V4RequestBuilder;
68
72
  jsonBody(body: unknown): V4RequestBuilder;
73
+ xmlBody(body: unknown): V4RequestBuilder;
69
74
  binaryFile(contentType: string, file: string): V4RequestBuilder;
70
75
  multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4RequestBuilder;
71
76
  matchingRules(rules: Rules): V4RequestBuilder;
@@ -74,6 +79,7 @@ export interface V4RequestBuilder {
74
79
  export interface V4ResponseBuilder {
75
80
  headers(headers: TemplateHeaders): V4ResponseBuilder;
76
81
  jsonBody(body: unknown): V4ResponseBuilder;
82
+ xmlBody(body: unknown): V4ResponseBuilder;
77
83
  binaryFile(contentType: string, file: string): V4ResponseBuilder;
78
84
  multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4ResponseBuilder;
79
85
  matchingRules(rules: Rules): V4ResponseBuilder;
@@ -94,12 +100,13 @@ export interface V4InteractionWithPlugin {
94
100
  withRequest(method: string, path: Path, builder?: V4PluginRequestBuilderFunc): V4InteractionWithPluginRequest;
95
101
  }
96
102
  export interface V4InteractionWithPluginRequest {
97
- willRespondWith(status: number, builder?: V4PluginResponseBuilderFunc): V4InteractionWithPluginResponse;
103
+ willRespondWith(status: number | StatusCodeMatcher<number>, builder?: V4PluginResponseBuilderFunc): V4InteractionWithPluginResponse;
98
104
  }
99
105
  export interface V4RequestWithPluginBuilder {
100
106
  query(query: TemplateQuery): V4RequestWithPluginBuilder;
101
107
  headers(headers: TemplateHeaders): V4RequestWithPluginBuilder;
102
108
  jsonBody(body: unknown): V4RequestWithPluginBuilder;
109
+ xmlBody(body: unknown): V4RequestWithPluginBuilder;
103
110
  binaryFile(contentType: string, file: string): V4RequestWithPluginBuilder;
104
111
  multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4RequestWithPluginBuilder;
105
112
  body(contentType: string, body: Buffer): V4RequestWithPluginBuilder;
@@ -109,6 +116,7 @@ export interface V4RequestWithPluginBuilder {
109
116
  export interface V4ResponseWithPluginBuilder {
110
117
  headers(headers: TemplateHeaders): V4ResponseBuilder;
111
118
  jsonBody(body: unknown): V4ResponseBuilder;
119
+ xmlBody(body: unknown): V4ResponseBuilder;
112
120
  binaryFile(contentType: string, file: string): V4ResponseBuilder;
113
121
  multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4ResponseBuilder;
114
122
  matchingRules(rules: Rules): V4ResponseBuilder;
@@ -1,7 +1,7 @@
1
- import type { ConsumerPact, ConsumerInteraction } from '@pact-foundation/pact-core';
1
+ import type { ConsumerInteraction, ConsumerPact } from '@pact-foundation/pact-core';
2
2
  import type { JsonMap } from '../../common/jsonTypes';
3
3
  import type { Path } from '../../v3';
4
- import type { V4UnconfiguredInteraction, PactV4Options, V4Request, V4InteractionWithCompleteRequest, V4RequestBuilderFunc, V4InteractionWithRequest, PluginConfig, V4InteractionWithPlugin, Comment, CustomComment } from './types';
4
+ import type { Comment, CustomComment, PactV4Options, PluginConfig, V4InteractionWithCompleteRequest, V4InteractionWithPlugin, V4InteractionWithRequest, V4Request, V4RequestBuilderFunc, V4UnconfiguredInteraction } from './types';
5
5
  export declare class UnconfiguredInteraction implements V4UnconfiguredInteraction {
6
6
  protected pact: ConsumerPact;
7
7
  protected interaction: ConsumerInteraction;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UnconfiguredInteraction = void 0;
4
+ const matchers_1 = require("../../v3/matchers");
4
5
  const interactionWithPlugin_1 = require("./interactionWithPlugin");
5
- const requestBuilder_1 = require("./requestBuilder");
6
6
  const interactionWithRequest_1 = require("./interactionWithRequest");
7
- const matchers_1 = require("../../v3/matchers");
7
+ const requestBuilder_1 = require("./requestBuilder");
8
8
  class UnconfiguredInteraction {
9
9
  pact;
10
10
  interaction;
@@ -1 +1 @@
1
- {"version":3,"file":"unconfiguredInteraction.js","sourceRoot":"","sources":["../../../../src/v4/http/unconfiguredInteraction.ts"],"names":[],"mappings":";;;AAIA,mEAAgE;AAChE,qDAAkD;AAClD,qEAAkE;AAGlE,gDAAyD;AAczD,MAAa,uBAAuB;IAGtB;IACA;IACA;IACA;IALZ,mCAAmC;IACnC,YACY,IAAkB,EAClB,WAAgC,EAChC,IAAmB,EACnB,SAAqB;QAHrB,SAAI,GAAJ,IAAI,CAAc;QAClB,gBAAW,GAAX,WAAW,CAAqB;QAChC,SAAI,GAAJ,IAAI,CAAe;QACnB,cAAS,GAAT,SAAS,CAAY;IAC9B,CAAC;IAEJ,aAAa,CAAC,WAAmB;QAC/B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,UAAoB;QACvC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAO,GAAG,IAAI;QACpB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAgC;QACtC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CACP,KAAa,EACb,IAAY,EACZ,KAAa;QAEb,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,QAAmB;QACrC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,WAAW,CACT,MAAc,EACd,IAAU,EACV,OAA8B;QAE9B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,IAAA,+BAAoB,EAAC,IAAI,CAAC,CAAC,CAAC;QAEjE,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,+BAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,+CAAsB,CAC/B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,MAAoB;QAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,OAAO,IAAI,6CAAqB,CAC9B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;CACF;AA1FD,0DA0FC"}
1
+ {"version":3,"file":"unconfiguredInteraction.js","sourceRoot":"","sources":["../../../../src/v4/http/unconfiguredInteraction.ts"],"names":[],"mappings":";;;AAMA,gDAAyD;AACzD,mEAAgE;AAChE,qEAAkE;AAClE,qDAAkD;AAclD,MAAa,uBAAuB;IAGtB;IACA;IACA;IACA;IALZ,mCAAmC;IACnC,YACY,IAAkB,EAClB,WAAgC,EAChC,IAAmB,EACnB,SAAqB;QAHrB,SAAI,GAAJ,IAAI,CAAc;QAClB,gBAAW,GAAX,WAAW,CAAqB;QAChC,SAAI,GAAJ,IAAI,CAAe;QACnB,cAAS,GAAT,SAAS,CAAY;IAC9B,CAAC;IAEJ,aAAa,CAAC,WAAmB;QAC/B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,UAAoB;QACvC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAO,GAAG,IAAI;QACpB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAgC;QACtC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CACP,KAAa,EACb,IAAY,EACZ,KAAa;QAEb,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,QAAmB;QACrC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,WAAW,CACT,MAAc,EACd,IAAU,EACV,OAA8B;QAE9B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,IAAA,+BAAoB,EAAC,IAAI,CAAC,CAAC,CAAC;QAEjE,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,+BAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,+CAAsB,CAC/B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,MAAoB;QAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,OAAO,IAAI,6CAAqB,CAC9B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;CACF;AA1FD,0DA0FC"}
package/src/v4/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
+ import type { V4UnconfiguredGraphQLInteraction } from './graphql/types';
1
2
  import { PactV4Options, type V4UnconfiguredInteraction } from './http/types';
2
- import type { V4ConsumerPact } from './types';
3
3
  import type { V4UnconfiguredAsynchronousMessage, V4UnconfiguredSynchronousMessage } from './message/types';
4
- import type { V4UnconfiguredGraphQLInteraction } from './graphql/types';
4
+ import type { V4ConsumerPact } from './types';
5
5
  export declare class PactV4 implements V4ConsumerPact {
6
6
  private opts;
7
7
  private pact;
@@ -12,6 +12,7 @@ export declare class PactV4 implements V4ConsumerPact {
12
12
  addAsynchronousInteraction(): V4UnconfiguredAsynchronousMessage;
13
13
  addGraphQLInteraction(): V4UnconfiguredGraphQLInteraction;
14
14
  }
15
- export { PactV4 as Pact, PactV4Options as PactOptions };
15
+ export * from '../xml';
16
16
  export * from './graphql';
17
17
  export * from './message/index';
18
+ export { PactV4 as Pact, PactV4Options as PactOptions };
package/src/v4/index.js CHANGED
@@ -16,11 +16,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.Pact = exports.PactV4 = void 0;
18
18
  const pact_core_1 = require("@pact-foundation/pact-core");
19
- const unconfiguredInteraction_1 = require("./http/unconfiguredInteraction");
20
19
  const package_json_1 = require("../../package.json");
21
- const message_1 = require("./message");
22
20
  const v3_1 = require("../v3");
23
21
  const graphql_1 = require("./graphql");
22
+ const unconfiguredInteraction_1 = require("./http/unconfiguredInteraction");
23
+ const message_1 = require("./message");
24
24
  const asynchronousMessage_1 = require("./message/asynchronousMessage");
25
25
  class PactV4 {
26
26
  opts;
@@ -68,6 +68,7 @@ class PactV4 {
68
68
  }
69
69
  exports.PactV4 = PactV4;
70
70
  exports.Pact = PactV4;
71
+ __exportStar(require("../xml"), exports);
71
72
  __exportStar(require("./graphql"), exports);
72
73
  __exportStar(require("./message/index"), exports);
73
74
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v4/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAGoC;AACpC,4EAAyE;AAGzE,qDAAmE;AAKnE,uCAA2D;AAC3D,8BAA6C;AAE7C,uCAA2D;AAC3D,uEAAgF;AAEhF,MAAa,MAAM;IAGG;IAFZ,IAAI,CAAgB;IAE5B,YAAoB,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,IAAA,4BAAgB,EAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,yBAAoB,CAAC,wBAAwB,EAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAC7B,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,sBAAkB,CAAC,CAAC;IAClE,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,iDAAuB,CAChC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAC5B,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,yBAAyB,CACvB,WAAmB;QAEnB,OAAO,IAAI,wCAA8B,CACvC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAC5C,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,qDAA+B,CACxC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,EACpC,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,wCAA8B,CACvC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAC5B,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AA1ED,wBA0EC;AAEkB,sBAAI;AACvB,4CAA0B;AAC1B,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v4/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAGoC;AACpC,qDAAmE;AACnE,8BAA6C;AAC7C,uCAA2D;AAG3D,4EAAyE;AACzE,uCAA2D;AAC3D,uEAAgF;AAOhF,MAAa,MAAM;IAGG;IAFZ,IAAI,CAAgB;IAE5B,YAAoB,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,IAAA,4BAAgB,EAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,yBAAoB,CAAC,wBAAwB,EAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAC7B,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,sBAAkB,CAAC,CAAC;IAClE,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,iDAAuB,CAChC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAC5B,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,yBAAyB,CACvB,WAAmB;QAEnB,OAAO,IAAI,wCAA8B,CACvC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAC5C,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,qDAA+B,CACxC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,EACpC,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,wCAA8B,CACvC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAC5B,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AA1ED,wBA0EC;AAKkB,sBAAI;AAHvB,yCAAuB;AACvB,4CAA0B;AAC1B,kDAAgC"}
@@ -1,9 +1,9 @@
1
- import type { Metadata } from '../../dsl/message';
1
+ import type { ConsumerPact, AsynchronousMessage as PactCoreAsynchronousMessage } from '@pact-foundation/pact-core';
2
2
  import type { AnyJson, JsonMap } from '../../common/jsonTypes';
3
- import type { PluginConfig, AsynchronousMessage, TransportConfig, V4AsynchronousMessageWithPlugin, V4AsynchronousMessageWithPluginContents, V4AsynchronousMessageWithTransport, V4UnconfiguredAsynchronousMessage, V4AsynchronousMessageWithContent, V4AsynchronousMessageBuilderFunc, V4AsynchronousMessageBuilder, Comment, CustomComment } from './types';
4
- import type { AsynchronousMessage as PactCoreAsynchronousMessage, ConsumerPact } from '@pact-foundation/pact-core';
5
- import type { PactV4Options } from '../http/types';
3
+ import type { Metadata } from '../../dsl/message';
6
4
  import type { Rules } from '../../v3/types';
5
+ import type { PactV4Options } from '../http/types';
6
+ import type { AsynchronousMessage, Comment, CustomComment, PluginConfig, TransportConfig, V4AsynchronousMessageBuilder, V4AsynchronousMessageBuilderFunc, V4AsynchronousMessageWithContent, V4AsynchronousMessageWithPlugin, V4AsynchronousMessageWithPluginContents, V4AsynchronousMessageWithTransport, V4UnconfiguredAsynchronousMessage } from './types';
7
7
  type Message = {
8
8
  requestIsBinary: boolean;
9
9
  interaction: PactCoreAsynchronousMessage;