hs-pact-support 1.17.1

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 (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