pact 1.28.0 → 1.53.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 (53) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +408 -0
  3. data/lib/pact/cli/run_pact_verification.rb +26 -7
  4. data/lib/pact/cli/spec_criteria.rb +3 -0
  5. data/lib/pact/cli.rb +7 -1
  6. data/lib/pact/consumer/configuration/dsl.rb +0 -1
  7. data/lib/pact/consumer/configuration/mock_service.rb +9 -3
  8. data/lib/pact/consumer/consumer_contract_builder.rb +6 -2
  9. data/lib/pact/consumer/interaction_builder.rb +6 -0
  10. data/lib/pact/consumer/spec_hooks.rb +4 -4
  11. data/lib/pact/doc/sort_interactions.rb +2 -3
  12. data/lib/pact/hal/authorization_header_redactor.rb +32 -0
  13. data/lib/pact/hal/entity.rb +27 -5
  14. data/lib/pact/hal/http_client.rb +25 -7
  15. data/lib/pact/hal/link.rb +67 -20
  16. data/lib/pact/hal/non_json_entity.rb +28 -0
  17. data/lib/pact/pact_broker/fetch_pact_uris_for_verification.rb +93 -0
  18. data/lib/pact/pact_broker/fetch_pacts.rb +20 -18
  19. data/lib/pact/pact_broker/notices.rb +34 -0
  20. data/lib/pact/pact_broker/pact_selection_description.rb +24 -0
  21. data/lib/pact/pact_broker.rb +25 -0
  22. data/lib/pact/provider/configuration/dsl.rb +6 -1
  23. data/lib/pact/provider/configuration/message_provider_dsl.rb +59 -0
  24. data/lib/pact/provider/configuration/pact_verification_from_broker.rb +29 -4
  25. data/lib/pact/provider/configuration/service_provider_dsl.rb +1 -1
  26. data/lib/pact/provider/help/content.rb +4 -4
  27. data/lib/pact/provider/help/pact_diff.rb +10 -34
  28. data/lib/pact/provider/help/write.rb +6 -7
  29. data/lib/pact/provider/pact_helper_locator.rb +13 -11
  30. data/lib/pact/provider/pact_source.rb +10 -1
  31. data/lib/pact/provider/pact_spec_runner.rb +26 -13
  32. data/lib/pact/provider/pact_uri.rb +8 -6
  33. data/lib/pact/provider/request.rb +1 -1
  34. data/lib/pact/provider/rspec/formatter_rspec_3.rb +39 -8
  35. data/lib/pact/provider/rspec/json_formatter.rb +100 -0
  36. data/lib/pact/provider/rspec/pact_broker_formatter.rb +7 -17
  37. data/lib/pact/provider/rspec.rb +24 -11
  38. data/lib/pact/provider/state/provider_state.rb +6 -7
  39. data/lib/pact/provider/state/provider_state_manager.rb +10 -10
  40. data/lib/pact/provider/state/set_up.rb +1 -1
  41. data/lib/pact/provider/state/tear_down.rb +1 -1
  42. data/lib/pact/provider/test_methods.rb +22 -7
  43. data/lib/pact/provider/verification_results/create.rb +6 -0
  44. data/lib/pact/provider/verification_results/publish.rb +5 -8
  45. data/lib/pact/provider/verification_results/publish_all.rb +14 -1
  46. data/lib/pact/provider/verification_results/verification_result.rb +2 -5
  47. data/lib/pact/provider/world.rb +1 -1
  48. data/lib/pact/retry.rb +2 -0
  49. data/lib/pact/tasks/task_helper.rb +10 -4
  50. data/lib/pact/tasks/verification_task.rb +3 -1
  51. data/lib/pact/version.rb +1 -1
  52. data/pact.gemspec +19 -15
  53. metadata +75 -80
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pact
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.28.0
4
+ version: 1.53.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Fraser
@@ -12,98 +12,76 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2018-06-28 00:00:00.000000000 Z
15
+ date: 2020-09-11 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
- name: randexp
18
+ name: rspec
19
19
  requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
21
  - - "~>"
22
22
  - !ruby/object:Gem::Version
23
- version: 0.1.7
23
+ version: '3.0'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
28
  - - "~>"
29
29
  - !ruby/object:Gem::Version
30
- version: 0.1.7
31
- - !ruby/object:Gem::Dependency
32
- name: rspec
33
- requirement: !ruby/object:Gem::Requirement
34
- requirements:
35
- - - ">="
36
- - !ruby/object:Gem::Version
37
- version: '2.14'
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- version: '2.14'
30
+ version: '3.0'
45
31
  - !ruby/object:Gem::Dependency
46
32
  name: rack-test
47
33
  requirement: !ruby/object:Gem::Requirement
48
34
  requirements:
49
- - - "~>"
50
- - !ruby/object:Gem::Version
51
- version: '0.6'
52
35
  - - ">="
53
36
  - !ruby/object:Gem::Version
54
37
  version: 0.6.3
38
+ - - "<"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.0.0
55
41
  type: :runtime
56
42
  prerelease: false
57
43
  version_requirements: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '0.6'
62
45
  - - ">="
63
46
  - !ruby/object:Gem::Version
64
47
  version: 0.6.3
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: 2.0.0
65
51
  - !ruby/object:Gem::Dependency
66
52
  name: thor
67
53
  requirement: !ruby/object:Gem::Requirement
68
54
  requirements:
69
55
  - - ">="
70
56
  - !ruby/object:Gem::Version
71
- version: '0'
57
+ version: '0.20'
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.0'
72
61
  type: :runtime
73
62
  prerelease: false
74
63
  version_requirements: !ruby/object:Gem::Requirement
75
64
  requirements:
76
65
  - - ">="
77
66
  - !ruby/object:Gem::Version
78
- version: '0'
79
- - !ruby/object:Gem::Dependency
80
- name: json
81
- requirement: !ruby/object:Gem::Requirement
82
- requirements:
83
- - - ">"
67
+ version: '0.20'
68
+ - - "<"
84
69
  - !ruby/object:Gem::Version
85
- version: 1.8.5
86
- type: :runtime
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- requirements:
90
- - - ">"
91
- - !ruby/object:Gem::Version
92
- version: 1.8.5
70
+ version: '2.0'
93
71
  - !ruby/object:Gem::Dependency
94
72
  name: webrick
95
73
  requirement: !ruby/object:Gem::Requirement
96
74
  requirements:
97
- - - ">="
75
+ - - "~>"
98
76
  - !ruby/object:Gem::Version
99
- version: '0'
77
+ version: '1.3'
100
78
  type: :runtime
101
79
  prerelease: false
102
80
  version_requirements: !ruby/object:Gem::Requirement
103
81
  requirements:
104
- - - ">="
82
+ - - "~>"
105
83
  - !ruby/object:Gem::Version
106
- version: '0'
84
+ version: '1.3'
107
85
  - !ruby/object:Gem::Dependency
108
86
  name: term-ansicolor
109
87
  requirement: !ruby/object:Gem::Requirement
@@ -124,42 +102,48 @@ dependencies:
124
102
  requirements:
125
103
  - - "~>"
126
104
  - !ruby/object:Gem::Version
127
- version: '1.4'
105
+ version: '1.9'
128
106
  type: :runtime
129
107
  prerelease: false
130
108
  version_requirements: !ruby/object:Gem::Requirement
131
109
  requirements:
132
110
  - - "~>"
133
111
  - !ruby/object:Gem::Version
134
- version: '1.4'
112
+ version: '1.9'
135
113
  - !ruby/object:Gem::Dependency
136
114
  name: pact-mock_service
137
115
  requirement: !ruby/object:Gem::Requirement
138
116
  requirements:
139
117
  - - "~>"
140
118
  - !ruby/object:Gem::Version
141
- version: '2.0'
119
+ version: '3.0'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 3.3.1
142
123
  type: :runtime
143
124
  prerelease: false
144
125
  version_requirements: !ruby/object:Gem::Requirement
145
126
  requirements:
146
127
  - - "~>"
147
128
  - !ruby/object:Gem::Version
148
- version: '2.0'
129
+ version: '3.0'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 3.3.1
149
133
  - !ruby/object:Gem::Dependency
150
134
  name: rake
151
135
  requirement: !ruby/object:Gem::Requirement
152
136
  requirements:
153
137
  - - "~>"
154
138
  - !ruby/object:Gem::Version
155
- version: 10.0.3
139
+ version: '13.0'
156
140
  type: :development
157
141
  prerelease: false
158
142
  version_requirements: !ruby/object:Gem::Requirement
159
143
  requirements:
160
144
  - - "~>"
161
145
  - !ruby/object:Gem::Version
162
- version: 10.0.3
146
+ version: '13.0'
163
147
  - !ruby/object:Gem::Dependency
164
148
  name: webmock
165
149
  requirement: !ruby/object:Gem::Requirement
@@ -174,20 +158,6 @@ dependencies:
174
158
  - - "~>"
175
159
  - !ruby/object:Gem::Version
176
160
  version: '3.0'
177
- - !ruby/object:Gem::Dependency
178
- name: pry-byebug
179
- requirement: !ruby/object:Gem::Requirement
180
- requirements:
181
- - - ">="
182
- - !ruby/object:Gem::Version
183
- version: '0'
184
- type: :development
185
- prerelease: false
186
- version_requirements: !ruby/object:Gem::Requirement
187
- requirements:
188
- - - ">="
189
- - !ruby/object:Gem::Version
190
- version: '0'
191
161
  - !ruby/object:Gem::Dependency
192
162
  name: fakefs
193
163
  requirement: !ruby/object:Gem::Requirement
@@ -220,16 +190,16 @@ dependencies:
220
190
  name: activesupport
221
191
  requirement: !ruby/object:Gem::Requirement
222
192
  requirements:
223
- - - ">="
193
+ - - "~>"
224
194
  - !ruby/object:Gem::Version
225
- version: '0'
195
+ version: '5.2'
226
196
  type: :development
227
197
  prerelease: false
228
198
  version_requirements: !ruby/object:Gem::Requirement
229
199
  requirements:
230
- - - ">="
200
+ - - "~>"
231
201
  - !ruby/object:Gem::Version
232
- version: '0'
202
+ version: '5.2'
233
203
  - !ruby/object:Gem::Dependency
234
204
  name: faraday
235
205
  requirement: !ruby/object:Gem::Requirement
@@ -245,47 +215,61 @@ dependencies:
245
215
  - !ruby/object:Gem::Version
246
216
  version: '0.13'
247
217
  - !ruby/object:Gem::Dependency
248
- name: appraisal
218
+ name: conventional-changelog
249
219
  requirement: !ruby/object:Gem::Requirement
250
220
  requirements:
251
221
  - - "~>"
252
222
  - !ruby/object:Gem::Version
253
- version: '2.2'
223
+ version: '1.3'
254
224
  type: :development
255
225
  prerelease: false
256
226
  version_requirements: !ruby/object:Gem::Requirement
257
227
  requirements:
258
228
  - - "~>"
259
229
  - !ruby/object:Gem::Version
260
- version: '2.2'
230
+ version: '1.3'
261
231
  - !ruby/object:Gem::Dependency
262
- name: conventional-changelog
232
+ name: bump
263
233
  requirement: !ruby/object:Gem::Requirement
264
234
  requirements:
265
235
  - - "~>"
266
236
  - !ruby/object:Gem::Version
267
- version: '1.3'
237
+ version: '0.5'
268
238
  type: :development
269
239
  prerelease: false
270
240
  version_requirements: !ruby/object:Gem::Requirement
271
241
  requirements:
272
242
  - - "~>"
273
243
  - !ruby/object:Gem::Version
274
- version: '1.3'
244
+ version: '0.5'
275
245
  - !ruby/object:Gem::Dependency
276
- name: bump
246
+ name: pact-message
277
247
  requirement: !ruby/object:Gem::Requirement
278
248
  requirements:
279
249
  - - "~>"
280
250
  - !ruby/object:Gem::Version
281
- version: '0.5'
251
+ version: '0.6'
282
252
  type: :development
283
253
  prerelease: false
284
254
  version_requirements: !ruby/object:Gem::Requirement
285
255
  requirements:
286
256
  - - "~>"
287
257
  - !ruby/object:Gem::Version
288
- version: '0.5'
258
+ version: '0.6'
259
+ - !ruby/object:Gem::Dependency
260
+ name: rspec-its
261
+ requirement: !ruby/object:Gem::Requirement
262
+ requirements:
263
+ - - "~>"
264
+ - !ruby/object:Gem::Version
265
+ version: '1.3'
266
+ type: :development
267
+ prerelease: false
268
+ version_requirements: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - "~>"
271
+ - !ruby/object:Gem::Version
272
+ version: '1.3'
289
273
  description: Enables consumer driven contract testing, providing a mock service and
290
274
  DSL for the consumer project, and interaction playback and verification for the
291
275
  service provider project.
@@ -332,15 +316,22 @@ files:
332
316
  - lib/pact/doc/markdown/interaction.erb
333
317
  - lib/pact/doc/markdown/interaction_renderer.rb
334
318
  - lib/pact/doc/sort_interactions.rb
319
+ - lib/pact/hal/authorization_header_redactor.rb
335
320
  - lib/pact/hal/entity.rb
336
321
  - lib/pact/hal/http_client.rb
337
322
  - lib/pact/hal/link.rb
323
+ - lib/pact/hal/non_json_entity.rb
324
+ - lib/pact/pact_broker.rb
325
+ - lib/pact/pact_broker/fetch_pact_uris_for_verification.rb
338
326
  - lib/pact/pact_broker/fetch_pacts.rb
327
+ - lib/pact/pact_broker/notices.rb
328
+ - lib/pact/pact_broker/pact_selection_description.rb
339
329
  - lib/pact/project_root.rb
340
330
  - lib/pact/provider.rb
341
331
  - lib/pact/provider/configuration.rb
342
332
  - lib/pact/provider/configuration/configuration_extension.rb
343
333
  - lib/pact/provider/configuration/dsl.rb
334
+ - lib/pact/provider/configuration/message_provider_dsl.rb
344
335
  - lib/pact/provider/configuration/pact_verification.rb
345
336
  - lib/pact/provider/configuration/pact_verification_from_broker.rb
346
337
  - lib/pact/provider/configuration/service_provider_config.rb
@@ -364,6 +355,7 @@ files:
364
355
  - lib/pact/provider/rspec/custom_options_file
365
356
  - lib/pact/provider/rspec/formatter_rspec_2.rb
366
357
  - lib/pact/provider/rspec/formatter_rspec_3.rb
358
+ - lib/pact/provider/rspec/json_formatter.rb
367
359
  - lib/pact/provider/rspec/matchers.rb
368
360
  - lib/pact/provider/rspec/pact_broker_formatter.rb
369
361
  - lib/pact/provider/state/provider_state.rb
@@ -391,7 +383,11 @@ files:
391
383
  homepage: https://github.com/pact-foundation/pact-ruby
392
384
  licenses:
393
385
  - MIT
394
- metadata: {}
386
+ metadata:
387
+ changelog_uri: https://github.com/pact-foundation/pact-ruby/blob/master/CHANGELOG.md
388
+ source_code_uri: https://github.com/pact-foundation/pact-ruby
389
+ bug_tracker_uri: https://github.com/pact-foundation/pact-ruby/issues
390
+ documentation_uri: https://github.com/pact-foundation/pact-ruby/blob/master/README.md
395
391
  post_install_message:
396
392
  rdoc_options: []
397
393
  require_paths:
@@ -407,8 +403,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
407
403
  - !ruby/object:Gem::Version
408
404
  version: '0'
409
405
  requirements: []
410
- rubyforge_project:
411
- rubygems_version: 2.6.11
406
+ rubygems_version: 3.1.4
412
407
  signing_key:
413
408
  specification_version: 4
414
409
  summary: Enables consumer driven contract testing, providing a mock service and DSL