hs-pact-support 1.17.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +620 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +5 -0
  5. data/lib/pact/array_like.rb +49 -0
  6. data/lib/pact/configuration.rb +193 -0
  7. data/lib/pact/consumer/request.rb +27 -0
  8. data/lib/pact/consumer_contract/consumer_contract.rb +97 -0
  9. data/lib/pact/consumer_contract/file_name.rb +22 -0
  10. data/lib/pact/consumer_contract/headers.rb +51 -0
  11. data/lib/pact/consumer_contract/http_consumer_contract_parser.rb +37 -0
  12. data/lib/pact/consumer_contract/interaction.rb +81 -0
  13. data/lib/pact/consumer_contract/interaction_parser.rb +23 -0
  14. data/lib/pact/consumer_contract/interaction_v2_parser.rb +57 -0
  15. data/lib/pact/consumer_contract/interaction_v3_parser.rb +92 -0
  16. data/lib/pact/consumer_contract/pact_file.rb +157 -0
  17. data/lib/pact/consumer_contract/provider_state.rb +34 -0
  18. data/lib/pact/consumer_contract/query.rb +138 -0
  19. data/lib/pact/consumer_contract/query_hash.rb +89 -0
  20. data/lib/pact/consumer_contract/query_string.rb +51 -0
  21. data/lib/pact/consumer_contract/request.rb +83 -0
  22. data/lib/pact/consumer_contract/response.rb +58 -0
  23. data/lib/pact/consumer_contract/service_consumer.rb +28 -0
  24. data/lib/pact/consumer_contract/service_provider.rb +28 -0
  25. data/lib/pact/consumer_contract/string_with_matching_rules.rb +17 -0
  26. data/lib/pact/consumer_contract.rb +1 -0
  27. data/lib/pact/errors.rb +21 -0
  28. data/lib/pact/helpers.rb +60 -0
  29. data/lib/pact/http/authorization_header_redactor.rb +32 -0
  30. data/lib/pact/logging.rb +14 -0
  31. data/lib/pact/matchers/actual_type.rb +16 -0
  32. data/lib/pact/matchers/base_difference.rb +39 -0
  33. data/lib/pact/matchers/differ.rb +153 -0
  34. data/lib/pact/matchers/difference.rb +13 -0
  35. data/lib/pact/matchers/difference_indicator.rb +26 -0
  36. data/lib/pact/matchers/embedded_diff_formatter.rb +60 -0
  37. data/lib/pact/matchers/expected_type.rb +35 -0
  38. data/lib/pact/matchers/extract_diff_messages.rb +76 -0
  39. data/lib/pact/matchers/index_not_found.rb +15 -0
  40. data/lib/pact/matchers/list_diff_formatter.rb +103 -0
  41. data/lib/pact/matchers/matchers.rb +285 -0
  42. data/lib/pact/matchers/multipart_form_diff_formatter.rb +41 -0
  43. data/lib/pact/matchers/no_diff_at_index.rb +18 -0
  44. data/lib/pact/matchers/regexp_difference.rb +13 -0
  45. data/lib/pact/matchers/type_difference.rb +16 -0
  46. data/lib/pact/matchers/unexpected_index.rb +11 -0
  47. data/lib/pact/matchers/unexpected_key.rb +11 -0
  48. data/lib/pact/matchers/unix_diff_formatter.rb +157 -0
  49. data/lib/pact/matchers.rb +1 -0
  50. data/lib/pact/matching_rules/extract.rb +91 -0
  51. data/lib/pact/matching_rules/jsonpath.rb +58 -0
  52. data/lib/pact/matching_rules/merge.rb +125 -0
  53. data/lib/pact/matching_rules/v3/extract.rb +94 -0
  54. data/lib/pact/matching_rules/v3/merge.rb +141 -0
  55. data/lib/pact/matching_rules.rb +30 -0
  56. data/lib/pact/reification.rb +56 -0
  57. data/lib/pact/rspec.rb +51 -0
  58. data/lib/pact/shared/active_support_support.rb +65 -0
  59. data/lib/pact/shared/dsl.rb +76 -0
  60. data/lib/pact/shared/form_differ.rb +32 -0
  61. data/lib/pact/shared/jruby_support.rb +18 -0
  62. data/lib/pact/shared/json_differ.rb +10 -0
  63. data/lib/pact/shared/key_not_found.rb +15 -0
  64. data/lib/pact/shared/multipart_form_differ.rb +16 -0
  65. data/lib/pact/shared/null_expectation.rb +31 -0
  66. data/lib/pact/shared/request.rb +106 -0
  67. data/lib/pact/shared/text_differ.rb +11 -0
  68. data/lib/pact/something_like.rb +49 -0
  69. data/lib/pact/specification_version.rb +18 -0
  70. data/lib/pact/support/version.rb +5 -0
  71. data/lib/pact/support.rb +12 -0
  72. data/lib/pact/symbolize_keys.rb +13 -0
  73. data/lib/pact/term.rb +85 -0
  74. data/lib/tasks/pact.rake +29 -0
  75. metadata +327 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7b557a5499585b0ce2f7b61135912d2ce65fd15e0fe1e967b23141489ce1f727
4
+ data.tar.gz: 00bbcb5312ed98a1f91c9aecacacf401864eefc7d589182472a017d23005283f
5
+ SHA512:
6
+ metadata.gz: c5d7bc074c6cb5f3700724586bdf617d21d859752a9dd4550bb1d46991bca42167773a7a66098685daa220f488d86abf30b72f4992b587d443ff7ce7b5d0bfa4
7
+ data.tar.gz: 409a5e6998ba9149bcbeedae4fe5922e70a0831014d96e65df4edeef28b468e1eafc1ce9cabd9ba6be147b4045fe5c74e60b2a83e0f826ad1c4a39df0c0f00e4
data/CHANGELOG.md ADDED
@@ -0,0 +1,620 @@
1
+ <a name="v1.17.0"></a>
2
+ ### v1.17.0 (2021-10-01)
3
+
4
+ #### Features
5
+
6
+ * allow SSL verification to be disabled by setting environment variable PACT_DISABLE_SSL_VERIFICATION=true ([dd39c04](/../../commit/dd39c04))
7
+
8
+ <a name="v1.16.10"></a>
9
+ ### v1.16.10 (2021-10-01)
10
+
11
+ #### Bug Fixes
12
+
13
+ * change expgen to a runtime dependency ([da81634](/../../commit/da81634))
14
+
15
+ <a name="v1.16.9"></a>
16
+ ### v1.16.9 (2021-09-30)
17
+
18
+ #### Bug Fixes
19
+
20
+ * remove randexp dependency (#91) ([794fd4e](/../../commit/794fd4e))
21
+
22
+ <a name="v1.16.8"></a>
23
+ ### v1.16.8 (2021-07-27)
24
+
25
+ #### Bug Fixes
26
+
27
+ * log HTTP request for pacts retrieved by URL when requested with verbose=true ([3288b81](/../../commit/3288b81))
28
+
29
+ <a name="v1.16.7"></a>
30
+ ### v1.16.7 (2021-01-28)
31
+
32
+ #### Bug Fixes
33
+
34
+ * dynamically parse actual query to match expected format ([a86a3e3](/../../commit/a86a3e3))
35
+
36
+ <a name="v1.16.6"></a>
37
+ ### v1.16.6 (2021-01-28)
38
+
39
+ #### Bug Fixes
40
+
41
+ * raise Pact::Error not RuntimeError when invalid constructor arguments are supplied to a Pact::Term ([d9fb8ea](/../../commit/d9fb8ea))
42
+ * update active support support for Ruby 3.0 ([6c30d42](/../../commit/6c30d42))
43
+
44
+ <a name="v1.16.5"></a>
45
+ ### v1.16.5 (2020-11-25)
46
+
47
+ #### Bug Fixes
48
+
49
+ * maintain the original string query for the provider verification while also parsing the string query into a hash to allow the matching rules to be applied correctly for use in the mock service on the consumer side ([12105dd](/../../commit/12105dd))
50
+
51
+ <a name="v1.16.4"></a>
52
+ ### v1.16.4 (2020-11-13)
53
+
54
+ #### Bug Fixes
55
+
56
+ * ensure expected and actual query strings are parsed consistently ([4e9ca9c](/../../commit/4e9ca9c))
57
+
58
+ <a name="v1.16.3"></a>
59
+ ### v1.16.3 (2020-11-10)
60
+
61
+ #### Bug Fixes
62
+
63
+ * add missing params_hash_has_key ([700efa7](/../../commit/700efa7))
64
+
65
+ <a name="v1.16.2"></a>
66
+ ### v1.16.2 (2020-11-07)
67
+
68
+ #### Bug Fixes
69
+
70
+ * removed undefined depth from query ([53a373d](/../../commit/53a373d))
71
+
72
+ <a name="v1.16.1"></a>
73
+ ### v1.16.1 (2020-11-06)
74
+
75
+ #### Bug Fixes
76
+
77
+ * add missing params_hash_type? from Rack ([3195b0a](/../../commit/3195b0a))
78
+
79
+ <a name="v1.16.0"></a>
80
+ ### v1.16.0 (2020-11-04)
81
+
82
+ #### Features
83
+
84
+ * remove runtime dependency on rspec ([aca30e2](/../../commit/aca30e2))
85
+
86
+ <a name="v1.15.5"></a>
87
+ ### v1.15.5 (2020-11-04)
88
+
89
+ #### Bug Fixes
90
+
91
+ * add missing outputs to release workflow ([d565d0f](/../../commit/d565d0f))
92
+ * try different output syntax ([b11e8fb](/../../commit/b11e8fb))
93
+
94
+ <a name="v1.15.4"></a>
95
+ ### v1.15.4 (2020-11-04)
96
+
97
+ #### Bug Fixes
98
+
99
+ * update release gem action version ([9dead58](/../../commit/9dead58))
100
+
101
+ <a name="v1.15.3"></a>
102
+ ### v1.15.3 (2020-11-04)
103
+
104
+
105
+ #### Bug Fixes
106
+
107
+ * release workflow ([4bdf8d8](/../../commit/4bdf8d8))
108
+ * not actually a fix, just triggering new release ([74038a5](/../../commit/74038a5))
109
+
110
+
111
+ <a name="v1.15.2"></a>
112
+ ### v1.15.2 (2020-11-04)
113
+
114
+
115
+ #### Bug Fixes
116
+
117
+ * parse query string to hash for v2 interactions ([faff17c](/../../commit/faff17c))
118
+
119
+
120
+ <a name="v1.15.0"></a>
121
+ ### v1.15.0 (2020-04-30)
122
+
123
+
124
+ #### Bug Fixes
125
+
126
+ * follow first redirect when fetching remote pact artifacts. (#80) ([c1df6dd](/../../commit/c1df6dd))
127
+
128
+
129
+ <a name="v1.14.3"></a>
130
+ ### v1.14.3 (2020-04-06)
131
+
132
+
133
+ #### Bug Fixes
134
+
135
+ * do not blow up when there are no matchers ([ac70846](/../../commit/ac70846))
136
+
137
+
138
+ <a name="v1.14.2"></a>
139
+ ### v1.14.2 (2020-03-25)
140
+
141
+
142
+ #### Bug Fixes
143
+
144
+ * don't blow up when there is a term inside an each like ([a565a56](/../../commit/a565a56))
145
+
146
+
147
+ <a name="v1.14.1"></a>
148
+ ### v1.14.1 (2020-02-27)
149
+
150
+
151
+ #### Bug Fixes
152
+
153
+ * correctly parse matching rules for request paths ([cc15a72](/../../commit/cc15a72))
154
+
155
+
156
+ <a name="v1.14.0"></a>
157
+ ### v1.14.0 (2020-02-13)
158
+
159
+
160
+ #### Features
161
+
162
+ * use certificates from SSL_CERT_FILE and SSL_CERT_DIR environment variables in HTTP connections ([bf1333d](/../../commit/bf1333d))
163
+
164
+
165
+ <a name="v1.13.0"></a>
166
+ ### v1.13.0 (2020-01-24)
167
+
168
+
169
+ #### Features
170
+
171
+ * give each interaction an index when parsing the contract ([74e9568](/../../commit/74e9568))
172
+
173
+
174
+ <a name="v1.12.1"></a>
175
+ ### v1.12.1 (2020-01-22)
176
+
177
+
178
+ #### Bug Fixes
179
+
180
+ * add missing require for pact/configuration ([bc4bbb5](/../../commit/bc4bbb5))
181
+
182
+
183
+ <a name="v1.12.0"></a>
184
+ ### v1.12.0 (2019-09-26)
185
+
186
+
187
+ #### Features
188
+
189
+ * parse interaction _id from Pact Broker ([8d66a84](/../../commit/8d66a84))
190
+ * support marking an interaction as writable/not writable (#75) ([e1fc347](/../../commit/e1fc347))
191
+ * modernise gemspec ([c941d02](/../../commit/c941d02))
192
+
193
+
194
+ #### Bug Fixes
195
+
196
+ * add CHANGELOG to gem distribution ([35c9c48](/../../commit/35c9c48))
197
+
198
+
199
+ <a name="v1.11.0"></a>
200
+ ### v1.11.0 (2019-06-18)
201
+
202
+
203
+ #### Features
204
+
205
+ * allow Integers and Floats to be considered equivalent when using type based matching. ([d8a70a1](/../../commit/d8a70a1))
206
+
207
+
208
+ <a name="v1.10.3"></a>
209
+ ### v1.10.3 (2019-06-07)
210
+
211
+
212
+ #### Bug Fixes
213
+
214
+ * gracefully handle diff between an expected multipart form request and an actual application/json request ([8577d52](/../../commit/8577d52))
215
+
216
+
217
+ <a name="v1.10.2"></a>
218
+ ### v1.10.2 (2019-05-20)
219
+
220
+
221
+ #### Bug Fixes
222
+
223
+ * allow proxy env var to be used when fetching pacts ([ebce481](/../../commit/ebce481))
224
+
225
+
226
+ <a name="v1.10.1"></a>
227
+ ### v1.10.1 (2019-04-26)
228
+
229
+
230
+ #### Bug Fixes
231
+
232
+ * gracefully handle read only file system (eg RunKit) ([eeee528](/../../commit/eeee528))
233
+
234
+
235
+ <a name="v1.10.0"></a>
236
+ ### v1.10.0 (2019-03-15)
237
+
238
+
239
+ #### Bug Fixes
240
+
241
+ * don't try and fix producer keys for a nil string ([94245c7](/../../commit/94245c7))
242
+
243
+
244
+ <a name="v1.9.0"></a>
245
+ ### v1.9.0 (2019-02-22)
246
+
247
+
248
+ #### Features
249
+
250
+ * allow bearer token to be used to retrieve a pact ([ab997c5](/../../commit/ab997c5))
251
+
252
+
253
+ <a name="v1.8.1"></a>
254
+ ### v1.8.1 (2018-11-15)
255
+
256
+
257
+ #### Bug Fixes
258
+
259
+ * correctly handle ignored 'combine' rule ([cd52108](/../../commit/cd52108))
260
+
261
+
262
+ <a name="v1.8.0"></a>
263
+ ### v1.8.0 (2018-10-01)
264
+
265
+
266
+ #### Features
267
+
268
+ * **v3**
269
+ * parse array of provider states with params ([4471df3](/../../commit/4471df3))
270
+
271
+
272
+ <a name="v1.7.2"></a>
273
+ ### v1.7.2 (2018-08-09)
274
+
275
+
276
+ #### Bug Fixes
277
+
278
+ * correctly handle Pact.like and Pact.each_like at top level of body ([f37c283](/../../commit/f37c283))
279
+
280
+
281
+ <a name="v1.7.1"></a>
282
+ ### v1.7.1 (2018-08-09)
283
+
284
+
285
+ #### Bug Fixes
286
+
287
+ * remove incorrect warning messages about matching rules being ignored ([30328e0](/../../commit/30328e0))
288
+
289
+
290
+ <a name="v1.7.0"></a>
291
+ ### v1.7.0 (2018-08-07)
292
+
293
+
294
+ #### Features
295
+
296
+ * add support for multipart/form ([8ed4332](/../../commit/8ed4332))
297
+
298
+
299
+ <a name="v1.6.6"></a>
300
+ ### v1.6.6 (2018-07-25)
301
+
302
+
303
+ #### Bug Fixes
304
+
305
+ * correctly handle an 'each like' inside a 'like' ([7dc76dc](/../../commit/7dc76dc))
306
+
307
+
308
+ <a name="v1.6.5"></a>
309
+ ### v1.6.5 (2018-07-23)
310
+
311
+
312
+ #### Features
313
+
314
+ * use 0 as the nil pact specification version ([88e4750](/../../commit/88e4750))
315
+ * reify StringWithMatchingRules to a String ([a025dd3](/../../commit/a025dd3))
316
+ * parse String response and request bodies to StringWithMatchingRules to support pact-xml ([a9fbb58](/../../commit/a9fbb58))
317
+ * add custom contract parsers to front of pact parsers list so that customised parsers are tried first ([babc319](/../../commit/babc319))
318
+
319
+
320
+ #### Bug Fixes
321
+
322
+ * show a more helpful error when attempting to parse a URI that is not a pact ([a8ba1ed](/../../commit/a8ba1ed))
323
+
324
+
325
+ <a name="v1.6.4"></a>
326
+ ### v1.6.4 (2018-07-14)
327
+
328
+
329
+ #### Bug Fixes
330
+
331
+ * correctly serialize query params that use a Pact.each_like in pact file ([b3414dd](/../../commit/b3414dd))
332
+
333
+
334
+ <a name="v1.6.3"></a>
335
+ ### v1.6.3 (2018-07-12)
336
+
337
+
338
+ #### Bug Fixes
339
+
340
+ * remove incorrect warning about ignoring unsupported matching rules for min => x ([50d5f6d](/../../commit/50d5f6d))
341
+ * serialize ArrayLike in query params without wrapping another array around it ([b4a9ec7](/../../commit/b4a9ec7))
342
+
343
+
344
+ <a name="v1.6.2"></a>
345
+ ### v1.6.2 (2018-05-31)
346
+
347
+
348
+ #### Bug Fixes
349
+
350
+ * **windows-path**
351
+ * prevent locale file paths to be parsed by URI to stop errors in windows paths like spaces in paths ([ecf64d6](/../../commit/ecf64d6))
352
+
353
+
354
+ <a name="v1.6.1"></a>
355
+ ### v1.6.1 (2018-05-21)
356
+
357
+
358
+ #### Bug Fixes
359
+
360
+ * correctly read local windows pact file paths with backslashes ([e27bd38](/../../commit/e27bd38))
361
+
362
+
363
+ <a name="v1.6.0"></a>
364
+ ### v1.6.0 (2018-04-03)
365
+
366
+
367
+ #### Features
368
+
369
+ * add support for writing v3 matching rules ([fc89696](/../../commit/fc89696))
370
+
371
+
372
+ <a name="v1.5.2"></a>
373
+ ### v1.5.2 (2018-03-23)
374
+
375
+ #### Bug Fixes
376
+
377
+ * remove include of pact matchers in query string ([c478dff](/../../commit/c478dff))
378
+
379
+
380
+ <a name="v1.5.1"></a>
381
+ ### v1.5.1 (2018-03-23)
382
+
383
+ #### Bug Fixes
384
+
385
+ * add missing require for pact matchers in query ([927d3b9](/../../commit/927d3b9))
386
+
387
+
388
+ <a name="v1.5.0"></a>
389
+ ### v1.5.0 (2018-03-23)
390
+
391
+ #### Features
392
+
393
+ * parse pacts without a specification version as v2 ([a69b5e6](/../../commit/a69b5e6))
394
+ * locate matching rules correctly for v3 pacts ([0f22db2](/../../commit/0f22db2))
395
+ * read matching rules from v3 format ([07013de](/../../commit/07013de))
396
+ * allow different consumer contract parsers to be registered ([531ab3a](/../../commit/531ab3a))
397
+ * update message classes to support pact-message ([2e48892](/../../commit/2e48892))
398
+ * add request and response to message ([93839cf](/../../commit/93839cf))
399
+
400
+ * **message contracts**
401
+ * dynamically mix in new and from_hash into Pact::Message ([c0c3ad5](/../../commit/c0c3ad5))
402
+ * read message pact into Ruby object ([6573bd4](/../../commit/6573bd4))
403
+
404
+
405
+ <a name="v1.3.1"></a>
406
+ ### v1.3.1 (2018-03-19)
407
+
408
+ #### Bug Fixes
409
+
410
+ * dynamically load pact/matchers ([d80e0ff](/../../commit/d80e0ff))
411
+
412
+
413
+ <a name="v1.3.0"></a>
414
+ ### v1.3.0 (2018-03-19)
415
+
416
+ #### Features
417
+
418
+ * do not automatically create tmp/pacts dir ([de9e25e](/../../commit/de9e25e))
419
+
420
+
421
+ <a name="v1.2.5"></a>
422
+ ### v1.2.5 (2018-02-16)
423
+
424
+ #### Bug Fixes
425
+
426
+ * replace backslashes in pact dir path with forward slashes ([a1b5013](/../../commit/a1b5013))
427
+
428
+ ### 1.2.4 (2017-10-30)
429
+ * 80bbdcc - fix: remove unused dependency on rack-test (Beth Skurrie, Mon Oct 30 09:52:22 2017 +1100)
430
+
431
+ ### 1.2.3 (2017-10-30)
432
+ * 68be738 - fix: diff message when actual 'array like' is too long (Beth Skurrie, Mon Oct 30 09:28:20 2017 +1100)
433
+
434
+ ### 1.2.2 (2017-10-27)
435
+ * 97ba7d9 - fix: correctly handle array like when key not found (Beth Skurrie, Fri Oct 27 12:50:50 2017 +1100)
436
+
437
+ ### 1.2.1 (2017-10-03)
438
+ * c3b3f22 - fix: ignore invalid params in response constructor hash (Beth Skurrie, Tue Oct 3 15:40:22 2017 +1100)
439
+
440
+ ### 1.2.0 (2017-09-28)
441
+ * 4489d96 - feat(pact file name): allow unique pact file names to be generated (Beth Skurrie, Thu Sep 28 11:05:33 2017 +1000)
442
+
443
+ ### 1.1.8 (2017-09-25)
444
+ * d4029ab - fix: use reified value when creating diff message for arrays (Beth Skurrie, Fri Sep 22 10:57:01 2017 +1000)
445
+
446
+ ### 1.1.7 (2017-09-15)
447
+ * a339b52 - Gemspec: Try using FakeFS 0.11.2 (Olle Jonsson, Wed Sep 13 09:28:27 2017 +0200)
448
+
449
+ ### 1.1.6 (2017-08-25)
450
+ * be9ef39 - fix(matching): use single quotes instead of double to escape keys with dots (Beth Skurrie, Fri Aug 25 09:41:14 2017 +1000)
451
+
452
+ ### 1.1.5 (1 Aug 2017)
453
+ * 81bc967 - fix(match type rules): Allow match: 'type' to be specified on the parent element of the array. Closes: #35, https://github.com/pact-foundation/pact-provider-verifier/issues/8 (Beth Skurrie, Tue Aug 1 10:33:02 2017 +1000)
454
+
455
+ ### 1.1.4 (31 July 2017)
456
+ * 425881c - fix(cirular dependency for UnixDiffFormatter): Fixes circular dependency between pact/configuration and pact/matchers/unix_diff_formatter (Beth Skurrie, Mon Jul 31 11:45:44 2017 +1000)
457
+
458
+ ### 1.1.3 (28 July 2017)
459
+ * cd0fc09 - fix(pact serialisation): Use square bracket notation for JSON path keys containing dots when serialising the pact Fixes https://github.com/pact-foundation/pact-support/issues/39 (Beth Skurrie, Fri Jul 28 09:39:15 2017 +1000)
460
+
461
+ ### 1.1.2 (20 June 2017)
462
+ * 8c3e53d - Fixing recursive require problems for https://github.com/pact-foundation/pact-support/issues/36 (Beth Skurrie, Tue Jun 20 18:59:24 2017 +1000)
463
+
464
+ ### 1.1.1 (20 June 2017)
465
+ * 14789df - Adding missing requires for #36 (Beth Skurrie, Tue Jun 20 16:27:43 2017 +1000)
466
+
467
+ ### 1.1.0 (19 June 2017)
468
+ * 1659c54 - Add list of messages to diff output (Beth Skurrie, Mon Jun 19 09:39:08 2017 +1000)
469
+ * e18debc - Reify actual and expected when a type difference is encountered while doing exact matching (Beth Skurrie, Tue May 30 09:24:18 2017 +1000)
470
+ * 2ba49b6 - Updating matching rules extraction to use inheritance as per #34 (Beth Skurrie, Mon May 29 16:17:57 2017 +1000)
471
+
472
+ ### 1.0.1 (11 May 2017)
473
+ * e34374b - Extract rules for QueryHash and QueryString so we can include request matching rules in the pact. (Beth Skurrie, Thu May 11 09:11:19 2017 +1000)
474
+
475
+ ### 1.0.0 (12 Apr 2017)
476
+ * 0ad2ef5 - Stop removing trailing slash from path, as per https://github.com/pact-foundation/pact-specification/blob/version-2/testcases/request/path/missing%20trailing%20slash%20in%20path.json (Beth Skurrie, Wed Apr 12 14:59:04 2017 +1000)
477
+ * 7f93c00 - add a helper to match a non iso861 datetime string (Courtney Braafhart, Thu Apr 6 12:18:53 2017 -0500)
478
+
479
+ ### 0.6.1 (10 Mar 2017)
480
+ * 4627b56 - Explicit require of CGI class. (Tan Le, Thu Mar 9 17:01:37 2017 +1100)
481
+ * 26b6678 - Added colon support to matching rules path. (soundstep, Wed Mar 8 09:18:35 2017 +0000)
482
+
483
+ ### 0.6.0 (14 Nov 2016)
484
+ * 64a9a37 - Enable interactions to validate themselves (Taiki Ono, Wed Nov 9 19:08:49 2016 +0900)
485
+
486
+ ### 0.5.9 (27 Jun 2016)
487
+ * dea4645 - Clarify that pact-support will only work with ruby >= 2.0 (Sergei Matheson, Mon Jun 27 10:18:32 2016 +1000)
488
+ * 50ea21f - Update json_differ.rb (Beth Skurrie, Thu Jun 9 16:01:34 2016 +1000)
489
+ * d303870 - Comment. (Beth Skurrie, Thu Jun 9 15:57:34 2016 +1000)
490
+
491
+ ### 0.5.8 (26 May 2016)
492
+ * 768b382 - Add pactfile_write_order configuration (Alex Malkov, Mon May 23 11:02:27 2016 +0100)
493
+
494
+ ### 0.5.7 (3 May 2016)
495
+ * 289d4e5 - Handle loading local pact files as well as remote (Sergei Matheson, Tue May 3 12:56:51 2016 +1000)
496
+ * 6d4e559 - Update to ruby 2.3.1 in travis (Sergei Matheson, Tue May 3 10:46:46 2016 +1000)
497
+
498
+ ### 0.5.6 (29 April 2016)
499
+ * d8bc8fa - Remove pull request merge logs from changelog (Sergei Matheson, Fri Apr 29 10:06:51 2016 +1000)
500
+ * 24ba197 - Corrected v0.5.5 release date in CHANGELOG (Sergei Matheson, Fri Apr 29 10:05:11 2016 +1000)
501
+ * 9dcef8d - Retry reading pact file (Taiki Ono, Thu Apr 28 17:15:54 2016 +0900)
502
+ * 61ceda1 - Re-write test with WebMock (Taiki Ono, Thu Apr 28 15:50:29 2016 +0900)
503
+ * 62dcf66 - Use WebMock2 (Taiki Ono, Thu Apr 28 13:51:53 2016 +0900)
504
+
505
+ ### 0.5.5 (29 April 2016)
506
+ * eb9aa26 - Supporting nested Pact::SomethingLike reification (Takatoshi Maeda, Thu Apr 28 02:04:58 2016 +0900)
507
+ * 9e924c8 - Object supporting DSL can be built without block (Taiki Ono, Wed Mar 23 16:38:27 2016 +0900)
508
+ * 2b0e7b4 - Escape query string components (Taiki Ono, Mon Mar 14 15:22:29 2016 +0900)
509
+ * a383368 - Fix indent (Taiki Ono, Mon Mar 14 15:18:26 2016 +0900)
510
+ * dc54092 - Support latest jruby and drop supporting jruby 1.7 (Taiki Ono, Sun Mar 13 20:27:17 2016 +0900)
511
+ * 85fbb09 - Drop supporting ruby1.9 (Taiki Ono, Thu Mar 10 23:01:54 2016 +0900)
512
+ * 966fa3a - `raise_error` should be with specific error (Taiki Ono, Thu Mar 10 22:50:13 2016 +0900)
513
+ * 2861742 - Cosmetic change (Taiki Ono, Thu Mar 10 22:11:51 2016 +0900)
514
+ * c491682 - `QueryHash` accepts nested hash query (Taiki Ono, Thu Mar 10 21:24:41 2016 +0900)
515
+
516
+ ### 0.5.4 (4 November 2015)
517
+
518
+ * 2791b72 - [+AM] Add like_datetime_with_milisecods helper method (David Sevcik, Wed Nov 4 17:40:53 2015 +0100)
519
+
520
+ ### 0.5.3 (8 September 2015)
521
+
522
+ * c7b1454 - Apply reification to ArrayLike flexible matcher. (Matt Fellows, Tue Sep 8 11:35:32 2015 +1000)
523
+
524
+ ### 0.5.2 (13 August 2015)
525
+
526
+ * cb88842 - Add shortcuts like_uuid, like_datetime, like_date (Alex Malkov, Thu Aug 13 09:34:23 2015 +0100)
527
+
528
+ ### 0.5.1 (19 July 2015)
529
+
530
+ * bd24aff - Remove rspec require from pact/support.rb to stop rspec's let method overriding minitest's let method (Beth Skurrie, Sun Jul 19 07:49:15 2015 +1000)
531
+ * bbe9553 - Support bracket notation in matching rule jsonpaths. (Beth Skurrie, Fri Jul 10 15:16:55 2015 +1000)
532
+
533
+ ### 0.5.0 (10 July 2015)
534
+
535
+ * 9451bf4 - Created helper methods for Pact::Term, SomethingLike and ArrayLike (Beth Skurrie, Fri Jul 10 11:44:45 2015 +1000)
536
+
537
+ ### 0.4.4 (9 July 2015)
538
+
539
+ * 6d9be6e - Create no rules for exact matching (Beth Skurrie, Thu Jul 9 14:28:56 2015 +1000)
540
+
541
+ ### 0.4.3 (7 July 2015)
542
+
543
+ * cf99e97 - Handle nils when symbolizing keys in a hash (Beth Skurrie, Tue Jul 7 11:52:50 2015 +1000)
544
+ * b100ccd - Log warning when no content type is found that text diff will be performed on body (Beth Skurrie, Sun May 10 21:57:07 2015 +1000)
545
+
546
+ ### 0.4.2 (9 May 2015)
547
+
548
+ * 75f98d7 - Added missing requires (Beth Skurrie, Sat May 9 16:20:07 2015 +1000)
549
+
550
+ ### 0.4.1 (23 April 2015)
551
+
552
+ * 7da52f3 - Switch from require_relative to require to avoid double-loading when symlinks are involved (John Meredith, Thu Apr 23 14:46:03 2015 +1000)
553
+
554
+ ### 0.4.0 (20 March 2015)
555
+
556
+ * 409bde5 - support url including basic authentication info, e.g.: http://username:password@packtbroker.com (lifei zhou, Wed Mar 18 21:49:29 2015 +1100)
557
+ * d0d42bb - added http basic authentication options when open uri (lifei zhou, Thu Feb 26 22:03:21 2015 +1100)
558
+
559
+ ### 0.3.1 (24 Februrary 2015)
560
+
561
+ * e3d6d6d - Fixed bug when Content-Type is a Pact::Term. (Beth Skurrie, Tue Feb 24 17:25:10 2015 +1100)
562
+
563
+ ### 0.3.0 (13 Februrary 2015)
564
+
565
+ * 4e29277 - Create a public API for extracting matching rules for pact-mock_service to use. (Beth Skurrie, Fri Feb 13 15:35:14 2015 +1100)
566
+ * 17ffb7e - Improve Pact::Term error message when value does not match regexp. (Beth Skurrie, Thu Feb 12 15:35:28 2015 +1100)
567
+ * ad0b37b - Added logic to convert Term and SomethingLike to v2 matching rules (Beth Skurrie, Thu Feb 12 14:55:34 2015 +1100)
568
+ * cc15c4d - Renamed <index not found> to <item not found>, and <index not to exist> to <item not to exist> (Beth Skurrie, Thu Feb 12 11:47:53 2015 +1100)
569
+ * 1b65c46 - Change "no difference here" to ... in unix diff output (Beth Skurrie, Thu Feb 12 11:43:58 2015 +1100)
570
+ * 3cb5b30 - Fix duplicate "no difference here!" in diff when actual array has more items than the expected (Beth Skurrie, Thu Feb 12 11:30:58 2015 +1100)
571
+ * a9da567 - Changed display of NoDiffAtIndex (Beth Skurrie, Tue Dec 23 15:16:49 2014 +1100)
572
+ * f9619e6 - Log warning message when unsupported rules are detected (Beth Skurrie, Tue Dec 23 14:42:22 2014 +1100)
573
+ * 9875bef - Added support for v2 regular expression matching in provider (Beth Skurrie, Tue Dec 23 14:15:00 2014 +1100)
574
+
575
+ ### 0.2.1 (21 January 2015)
576
+
577
+ * 4e26c75 - Ignore HTTP method case when determining if routes match. https://github.com/bethesque/pact-support/issues/3 (Beth, Tue Jan 20 20:15:20 2015 +1100)
578
+ * af96eba - Allow request path to be a Pact::Term (Beth, Tue Jan 20 19:37:23 2015 +1100)
579
+
580
+ ### 0.1.4 (20 January 2015)
581
+
582
+ A naughty release because bumping the minor version to 0.2.0 means I have to upgrade all the gems.
583
+
584
+ ### 0.2.0 (20 January 2015)
585
+
586
+ * bb5d893 - Added option to UnixDiffFormatter to not show the explanation (Beth, Tue Jan 20 08:39:42 2015 +1100)
587
+
588
+ ### 0.1.3 (12 December 2014)
589
+
590
+ * 27f3625 - Fixed bug rendering no diff indicator as JSON (Beth, Fri Dec 12 10:42:50 2014 +1100)
591
+
592
+ ### 0.1.2 (22 October 2014)
593
+
594
+ * 00280ac - Added logic to match form data when specified as a Hash (bethesque, Wed Oct 22 15:21:39 2014 +1100)
595
+
596
+ ### 0.1.1 (22 October 2014)
597
+
598
+ * ff6a01d - Disallowing unexpected params in the query (bethesque, Wed Oct 22 14:42:41 2014 +1100)
599
+
600
+ ### 0.1.0 (22 October 2014)
601
+
602
+ * fa7e03f - Removed JSON serialisation code from models. It has been moved to decorators in pact_mock-service. (bethesque, Wed Oct 22 12:53:21 2014 +1100)
603
+
604
+ ### 0.0.4 (20 October 2014)
605
+
606
+ * ebe5e32 - Added differ for application/x-www-form-urlencoded bodies. (bethesque, Mon Oct 20 20:26:13 2014 +1100)
607
+
608
+ ### 0.0.3 (17 October 2014)
609
+
610
+ * bab0b34 - Added possibility to provide queries as Hash. Then order of parameters in the query is not longer relevant. (André Allavena, Tue Oct 14 00:24:38 2014 +1000)
611
+
612
+ ### 0.0.2 (12 October 2014)
613
+
614
+ * e7080fe - Added a QueryString class in preparation for a QueryHash class (Beth, Sun Oct 12 14:32:15 2014 +1100)
615
+ * 8839151 - Added Travis config (Beth, Sun Oct 12 12:31:44 2014 +1100)
616
+ * 81ade54 - Removed CLI (Beth, Sun Oct 12 12:29:22 2014 +1100)
617
+ * 3bdde98 - Removing unused files (Beth, Sun Oct 12 12:11:48 2014 +1100)
618
+ * ef95717 - Made it build (Beth, Sat Oct 11 13:24:35 2014 +1100)
619
+ * 1e78b62 - Removed pact-test.rake (Beth, Sat Oct 11 13:20:49 2014 +1100)
620
+ * 3389b5e - Initial commit (Beth, Sat Oct 11 13:13:23 2014 +1100)
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 James Fraser, Sergei Matheson, Brent Snook, Ronald Holshausen, Beth Skurrie
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # Pact Support
2
+
3
+ ![Build status](https://github.com/pact-foundation/pact-support/workflows/Test/badge.svg)
4
+
5
+ Provides shared code for the Pact gems