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