pact-support 1.4.0 → 1.8.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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +143 -0
  3. data/lib/pact/configuration.rb +4 -0
  4. data/lib/pact/consumer_contract/consumer_contract.rb +19 -8
  5. data/lib/pact/consumer_contract/http_consumer_contract_parser.rb +37 -0
  6. data/lib/pact/consumer_contract/interaction.rb +57 -56
  7. data/lib/pact/consumer_contract/interaction_parser.rb +23 -0
  8. data/lib/pact/consumer_contract/interaction_v2_parser.rb +34 -0
  9. data/lib/pact/consumer_contract/interaction_v3_parser.rb +73 -0
  10. data/lib/pact/consumer_contract/pact_file.rb +24 -24
  11. data/lib/pact/consumer_contract/provider_state.rb +34 -0
  12. data/lib/pact/consumer_contract/query.rb +0 -2
  13. data/lib/pact/consumer_contract/query_hash.rb +6 -0
  14. data/lib/pact/consumer_contract/query_string.rb +2 -2
  15. data/lib/pact/consumer_contract/request.rb +1 -5
  16. data/lib/pact/consumer_contract/string_with_matching_rules.rb +17 -0
  17. data/lib/pact/matchers/multipart_form_diff_formatter.rb +41 -0
  18. data/lib/pact/matching_rules/merge.rb +43 -28
  19. data/lib/pact/matching_rules/v3/extract.rb +94 -0
  20. data/lib/pact/matching_rules/v3/merge.rb +135 -0
  21. data/lib/pact/matching_rules.rb +19 -6
  22. data/lib/pact/reification.rb +6 -3
  23. data/lib/pact/shared/multipart_form_differ.rb +14 -0
  24. data/lib/pact/specification_version.rb +18 -0
  25. data/lib/pact/support/version.rb +1 -1
  26. data/script/release.sh +1 -1
  27. data/spec/fixtures/multipart-form-diff.txt +9 -0
  28. data/spec/fixtures/not-a-pact.json +3 -0
  29. data/spec/fixtures/pact-http-v2.json +36 -0
  30. data/spec/fixtures/pact-http-v3.json +36 -0
  31. data/spec/integration/matching_rules_extract_and_merge_spec.rb +41 -4
  32. data/spec/lib/pact/consumer_contract/consumer_contract_spec.rb +54 -31
  33. data/spec/lib/pact/consumer_contract/http_consumer_contract_parser_spec.rb +25 -0
  34. data/spec/lib/pact/consumer_contract/interaction_parser_spec.rb +62 -0
  35. data/spec/lib/pact/consumer_contract/interaction_spec.rb +2 -26
  36. data/spec/lib/pact/consumer_contract/interaction_v2_parser_spec.rb +54 -0
  37. data/spec/lib/pact/consumer_contract/interaction_v3_parser_spec.rb +48 -0
  38. data/spec/lib/pact/consumer_contract/pact_file_spec.rb +9 -0
  39. data/spec/lib/pact/consumer_contract/query_hash_spec.rb +23 -0
  40. data/spec/lib/pact/matchers/multipart_form_diff_formatter_spec.rb +36 -0
  41. data/spec/lib/pact/matching_rules/merge_spec.rb +198 -110
  42. data/spec/lib/pact/matching_rules/v3/extract_spec.rb +238 -0
  43. data/spec/lib/pact/matching_rules/v3/merge_spec.rb +462 -0
  44. data/spec/lib/pact/matching_rules_spec.rb +82 -0
  45. data/spec/lib/pact/reification_spec.rb +18 -5
  46. data/spec/lib/pact/shared/multipart_form_differ_spec.rb +39 -0
  47. data/spec/support/factories.rb +5 -0
  48. data/tasks/spec.rake +0 -1
  49. metadata +40 -3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pact-support
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Fraser
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2018-03-21 00:00:00.000000000 Z
15
+ date: 2018-10-03 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: randexp
@@ -268,8 +268,13 @@ files:
268
268
  - lib/pact/consumer_contract/consumer_contract.rb
269
269
  - lib/pact/consumer_contract/file_name.rb
270
270
  - lib/pact/consumer_contract/headers.rb
271
+ - lib/pact/consumer_contract/http_consumer_contract_parser.rb
271
272
  - lib/pact/consumer_contract/interaction.rb
273
+ - lib/pact/consumer_contract/interaction_parser.rb
274
+ - lib/pact/consumer_contract/interaction_v2_parser.rb
275
+ - lib/pact/consumer_contract/interaction_v3_parser.rb
272
276
  - lib/pact/consumer_contract/pact_file.rb
277
+ - lib/pact/consumer_contract/provider_state.rb
273
278
  - lib/pact/consumer_contract/query.rb
274
279
  - lib/pact/consumer_contract/query_hash.rb
275
280
  - lib/pact/consumer_contract/query_string.rb
@@ -277,6 +282,7 @@ files:
277
282
  - lib/pact/consumer_contract/response.rb
278
283
  - lib/pact/consumer_contract/service_consumer.rb
279
284
  - lib/pact/consumer_contract/service_provider.rb
285
+ - lib/pact/consumer_contract/string_with_matching_rules.rb
280
286
  - lib/pact/errors.rb
281
287
  - lib/pact/helpers.rb
282
288
  - lib/pact/logging.rb
@@ -292,6 +298,7 @@ files:
292
298
  - lib/pact/matchers/index_not_found.rb
293
299
  - lib/pact/matchers/list_diff_formatter.rb
294
300
  - lib/pact/matchers/matchers.rb
301
+ - lib/pact/matchers/multipart_form_diff_formatter.rb
295
302
  - lib/pact/matchers/no_diff_at_index.rb
296
303
  - lib/pact/matchers/regexp_difference.rb
297
304
  - lib/pact/matchers/type_difference.rb
@@ -302,6 +309,8 @@ files:
302
309
  - lib/pact/matching_rules/extract.rb
303
310
  - lib/pact/matching_rules/jsonpath.rb
304
311
  - lib/pact/matching_rules/merge.rb
312
+ - lib/pact/matching_rules/v3/extract.rb
313
+ - lib/pact/matching_rules/v3/merge.rb
305
314
  - lib/pact/reification.rb
306
315
  - lib/pact/rspec.rb
307
316
  - lib/pact/shared/active_support_support.rb
@@ -310,10 +319,12 @@ files:
310
319
  - lib/pact/shared/jruby_support.rb
311
320
  - lib/pact/shared/json_differ.rb
312
321
  - lib/pact/shared/key_not_found.rb
322
+ - lib/pact/shared/multipart_form_differ.rb
313
323
  - lib/pact/shared/null_expectation.rb
314
324
  - lib/pact/shared/request.rb
315
325
  - lib/pact/shared/text_differ.rb
316
326
  - lib/pact/something_like.rb
327
+ - lib/pact/specification_version.rb
317
328
  - lib/pact/support.rb
318
329
  - lib/pact/support/version.rb
319
330
  - lib/pact/symbolize_keys.rb
@@ -323,6 +334,10 @@ files:
323
334
  - script/release.sh
324
335
  - script/update-pact-specification-v2
325
336
  - spec/fixtures/interaction-with-matching-rules.json
337
+ - spec/fixtures/multipart-form-diff.txt
338
+ - spec/fixtures/not-a-pact.json
339
+ - spec/fixtures/pact-http-v2.json
340
+ - spec/fixtures/pact-http-v3.json
326
341
  - spec/integration/matching_rules_extract_and_merge_spec.rb
327
342
  - spec/lib/pact/array_like_spec.rb
328
343
  - spec/lib/pact/configuration_spec.rb
@@ -331,7 +346,11 @@ files:
331
346
  - spec/lib/pact/consumer_contract/consumer_contract_spec.rb
332
347
  - spec/lib/pact/consumer_contract/file_name_spec.rb
333
348
  - spec/lib/pact/consumer_contract/headers_spec.rb
349
+ - spec/lib/pact/consumer_contract/http_consumer_contract_parser_spec.rb
350
+ - spec/lib/pact/consumer_contract/interaction_parser_spec.rb
334
351
  - spec/lib/pact/consumer_contract/interaction_spec.rb
352
+ - spec/lib/pact/consumer_contract/interaction_v2_parser_spec.rb
353
+ - spec/lib/pact/consumer_contract/interaction_v3_parser_spec.rb
335
354
  - spec/lib/pact/consumer_contract/pact_file_spec.rb
336
355
  - spec/lib/pact/consumer_contract/query_hash_spec.rb
337
356
  - spec/lib/pact/consumer_contract/query_string_spec.rb
@@ -349,6 +368,7 @@ files:
349
368
  - spec/lib/pact/matchers/matchers_messages_mismatched_value_spec.rb
350
369
  - spec/lib/pact/matchers/matchers_messages_regexp_spec.rb
351
370
  - spec/lib/pact/matchers/matchers_spec.rb
371
+ - spec/lib/pact/matchers/multipart_form_diff_formatter_spec.rb
352
372
  - spec/lib/pact/matchers/no_diff_at_index_spec.rb
353
373
  - spec/lib/pact/matchers/regexp_difference_spec.rb
354
374
  - spec/lib/pact/matchers/type_difference_spec.rb
@@ -357,11 +377,15 @@ files:
357
377
  - spec/lib/pact/matchers/unix_diff_formatter_spec.rb
358
378
  - spec/lib/pact/matching_rules/extract_spec.rb
359
379
  - spec/lib/pact/matching_rules/merge_spec.rb
380
+ - spec/lib/pact/matching_rules/v3/extract_spec.rb
381
+ - spec/lib/pact/matching_rules/v3/merge_spec.rb
382
+ - spec/lib/pact/matching_rules_spec.rb
360
383
  - spec/lib/pact/reification_spec.rb
361
384
  - spec/lib/pact/shared/dsl_spec.rb
362
385
  - spec/lib/pact/shared/form_differ_spec.rb
363
386
  - spec/lib/pact/shared/json_differ_spec.rb
364
387
  - spec/lib/pact/shared/key_not_found_spec.rb
388
+ - spec/lib/pact/shared/multipart_form_differ_spec.rb
365
389
  - spec/lib/pact/shared/request_spec.rb
366
390
  - spec/lib/pact/shared/text_differ_spec.rb
367
391
  - spec/lib/pact/something_like_spec.rb
@@ -414,12 +438,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
414
438
  version: '0'
415
439
  requirements: []
416
440
  rubyforge_project:
417
- rubygems_version: 2.4.5.2
441
+ rubygems_version: 2.6.11
418
442
  signing_key:
419
443
  specification_version: 4
420
444
  summary: Shared code for Pact gems
421
445
  test_files:
422
446
  - spec/fixtures/interaction-with-matching-rules.json
447
+ - spec/fixtures/multipart-form-diff.txt
448
+ - spec/fixtures/not-a-pact.json
449
+ - spec/fixtures/pact-http-v2.json
450
+ - spec/fixtures/pact-http-v3.json
423
451
  - spec/integration/matching_rules_extract_and_merge_spec.rb
424
452
  - spec/lib/pact/array_like_spec.rb
425
453
  - spec/lib/pact/configuration_spec.rb
@@ -428,7 +456,11 @@ test_files:
428
456
  - spec/lib/pact/consumer_contract/consumer_contract_spec.rb
429
457
  - spec/lib/pact/consumer_contract/file_name_spec.rb
430
458
  - spec/lib/pact/consumer_contract/headers_spec.rb
459
+ - spec/lib/pact/consumer_contract/http_consumer_contract_parser_spec.rb
460
+ - spec/lib/pact/consumer_contract/interaction_parser_spec.rb
431
461
  - spec/lib/pact/consumer_contract/interaction_spec.rb
462
+ - spec/lib/pact/consumer_contract/interaction_v2_parser_spec.rb
463
+ - spec/lib/pact/consumer_contract/interaction_v3_parser_spec.rb
432
464
  - spec/lib/pact/consumer_contract/pact_file_spec.rb
433
465
  - spec/lib/pact/consumer_contract/query_hash_spec.rb
434
466
  - spec/lib/pact/consumer_contract/query_string_spec.rb
@@ -446,6 +478,7 @@ test_files:
446
478
  - spec/lib/pact/matchers/matchers_messages_mismatched_value_spec.rb
447
479
  - spec/lib/pact/matchers/matchers_messages_regexp_spec.rb
448
480
  - spec/lib/pact/matchers/matchers_spec.rb
481
+ - spec/lib/pact/matchers/multipart_form_diff_formatter_spec.rb
449
482
  - spec/lib/pact/matchers/no_diff_at_index_spec.rb
450
483
  - spec/lib/pact/matchers/regexp_difference_spec.rb
451
484
  - spec/lib/pact/matchers/type_difference_spec.rb
@@ -454,11 +487,15 @@ test_files:
454
487
  - spec/lib/pact/matchers/unix_diff_formatter_spec.rb
455
488
  - spec/lib/pact/matching_rules/extract_spec.rb
456
489
  - spec/lib/pact/matching_rules/merge_spec.rb
490
+ - spec/lib/pact/matching_rules/v3/extract_spec.rb
491
+ - spec/lib/pact/matching_rules/v3/merge_spec.rb
492
+ - spec/lib/pact/matching_rules_spec.rb
457
493
  - spec/lib/pact/reification_spec.rb
458
494
  - spec/lib/pact/shared/dsl_spec.rb
459
495
  - spec/lib/pact/shared/form_differ_spec.rb
460
496
  - spec/lib/pact/shared/json_differ_spec.rb
461
497
  - spec/lib/pact/shared/key_not_found_spec.rb
498
+ - spec/lib/pact/shared/multipart_form_differ_spec.rb
462
499
  - spec/lib/pact/shared/request_spec.rb
463
500
  - spec/lib/pact/shared/text_differ_spec.rb
464
501
  - spec/lib/pact/something_like_spec.rb