pact 0.1.28

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 (72) hide show
  1. data/.gitignore +28 -0
  2. data/.rspec +2 -0
  3. data/Gemfile +5 -0
  4. data/Gemfile.lock +83 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +238 -0
  7. data/Rakefile +33 -0
  8. data/bin/pact +4 -0
  9. data/lib/pact/app.rb +32 -0
  10. data/lib/pact/configuration.rb +54 -0
  11. data/lib/pact/consumer/app_manager.rb +177 -0
  12. data/lib/pact/consumer/configuration_dsl.rb +71 -0
  13. data/lib/pact/consumer/consumer_contract_builder.rb +79 -0
  14. data/lib/pact/consumer/consumer_contract_builders.rb +10 -0
  15. data/lib/pact/consumer/dsl.rb +98 -0
  16. data/lib/pact/consumer/interaction.rb +70 -0
  17. data/lib/pact/consumer/mock_service.rb +340 -0
  18. data/lib/pact/consumer/rspec.rb +43 -0
  19. data/lib/pact/consumer/run_condor.rb +4 -0
  20. data/lib/pact/consumer/run_mock_contract_service.rb +13 -0
  21. data/lib/pact/consumer/service_consumer.rb +22 -0
  22. data/lib/pact/consumer/service_producer.rb +23 -0
  23. data/lib/pact/consumer.rb +7 -0
  24. data/lib/pact/consumer_contract.rb +110 -0
  25. data/lib/pact/json_warning.rb +23 -0
  26. data/lib/pact/logging.rb +14 -0
  27. data/lib/pact/matchers/matchers.rb +85 -0
  28. data/lib/pact/matchers.rb +1 -0
  29. data/lib/pact/producer/configuration_dsl.rb +62 -0
  30. data/lib/pact/producer/matchers.rb +22 -0
  31. data/lib/pact/producer/pact_spec_runner.rb +57 -0
  32. data/lib/pact/producer/producer_state.rb +81 -0
  33. data/lib/pact/producer/rspec.rb +127 -0
  34. data/lib/pact/producer/test_methods.rb +89 -0
  35. data/lib/pact/producer.rb +1 -0
  36. data/lib/pact/rake_task.rb +64 -0
  37. data/lib/pact/reification.rb +26 -0
  38. data/lib/pact/request.rb +109 -0
  39. data/lib/pact/term.rb +40 -0
  40. data/lib/pact/verification_task.rb +57 -0
  41. data/lib/pact/version.rb +3 -0
  42. data/lib/pact.rb +5 -0
  43. data/lib/tasks/pact.rake +6 -0
  44. data/pact.gemspec +36 -0
  45. data/scratchpad.txt +36 -0
  46. data/spec/features/consumption_spec.rb +146 -0
  47. data/spec/features/producer_states/zebras.rb +28 -0
  48. data/spec/features/production_spec.rb +160 -0
  49. data/spec/integration/pact/configuration_spec.rb +65 -0
  50. data/spec/lib/pact/configuration_spec.rb +35 -0
  51. data/spec/lib/pact/consumer/app_manager_spec.rb +41 -0
  52. data/spec/lib/pact/consumer/consumer_contract_builder_spec.rb +87 -0
  53. data/spec/lib/pact/consumer/dsl_spec.rb +52 -0
  54. data/spec/lib/pact/consumer/interaction_spec.rb +108 -0
  55. data/spec/lib/pact/consumer/mock_service_spec.rb +147 -0
  56. data/spec/lib/pact/consumer/service_consumer_spec.rb +11 -0
  57. data/spec/lib/pact/consumer_contract_spec.rb +125 -0
  58. data/spec/lib/pact/matchers/matchers_spec.rb +354 -0
  59. data/spec/lib/pact/producer/configuration_dsl_spec.rb +101 -0
  60. data/spec/lib/pact/producer/producer_state_spec.rb +103 -0
  61. data/spec/lib/pact/producer/rspec_spec.rb +48 -0
  62. data/spec/lib/pact/reification_spec.rb +43 -0
  63. data/spec/lib/pact/request_spec.rb +316 -0
  64. data/spec/lib/pact/term_spec.rb +36 -0
  65. data/spec/lib/pact/verification_task_spec.rb +64 -0
  66. data/spec/spec_helper.rb +5 -0
  67. data/spec/support/a_consumer-a_producer.json +34 -0
  68. data/spec/support/pact_rake_support.rb +41 -0
  69. data/spec/support/test_app_fail.json +22 -0
  70. data/spec/support/test_app_pass.json +21 -0
  71. data/tasks/pact-test.rake +19 -0
  72. metadata +381 -0
metadata ADDED
@@ -0,0 +1,381 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pact
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.28
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - James Fraser
9
+ - Sergei Matheson
10
+ - Brent Snook
11
+ - Ronald Holshausen
12
+ - Bethany Skurrie
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+ date: 2013-08-19 00:00:00.000000000 Z
17
+ dependencies:
18
+ - !ruby/object:Gem::Dependency
19
+ name: randexp
20
+ requirement: !ruby/object:Gem::Requirement
21
+ none: false
22
+ requirements:
23
+ - - ~>
24
+ - !ruby/object:Gem::Version
25
+ version: 0.1.7
26
+ type: :runtime
27
+ prerelease: false
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.1.7
34
+ - !ruby/object:Gem::Dependency
35
+ name: hashie
36
+ requirement: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ~>
40
+ - !ruby/object:Gem::Version
41
+ version: 2.0.5
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ none: false
46
+ requirements:
47
+ - - ~>
48
+ - !ruby/object:Gem::Version
49
+ version: 2.0.5
50
+ - !ruby/object:Gem::Dependency
51
+ name: rspec
52
+ requirement: !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ~>
56
+ - !ruby/object:Gem::Version
57
+ version: '2.12'
58
+ type: :runtime
59
+ prerelease: false
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: '2.12'
66
+ - !ruby/object:Gem::Dependency
67
+ name: find_a_port
68
+ requirement: !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ~>
72
+ - !ruby/object:Gem::Version
73
+ version: 1.0.1
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ none: false
78
+ requirements:
79
+ - - ~>
80
+ - !ruby/object:Gem::Version
81
+ version: 1.0.1
82
+ - !ruby/object:Gem::Dependency
83
+ name: rack-test
84
+ requirement: !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 0.6.2
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ none: false
94
+ requirements:
95
+ - - ~>
96
+ - !ruby/object:Gem::Version
97
+ version: 0.6.2
98
+ - !ruby/object:Gem::Dependency
99
+ name: awesome_print
100
+ requirement: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ~>
104
+ - !ruby/object:Gem::Version
105
+ version: 1.1.0
106
+ type: :runtime
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ none: false
110
+ requirements:
111
+ - - ~>
112
+ - !ruby/object:Gem::Version
113
+ version: 1.1.0
114
+ - !ruby/object:Gem::Dependency
115
+ name: capybara
116
+ requirement: !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ~>
120
+ - !ruby/object:Gem::Version
121
+ version: 2.1.0
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ~>
128
+ - !ruby/object:Gem::Version
129
+ version: 2.1.0
130
+ - !ruby/object:Gem::Dependency
131
+ name: thor
132
+ requirement: !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
135
+ - - ! '>='
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :runtime
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ none: false
142
+ requirements:
143
+ - - ! '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ - !ruby/object:Gem::Dependency
147
+ name: thin
148
+ requirement: !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ! '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ type: :runtime
155
+ prerelease: false
156
+ version_requirements: !ruby/object:Gem::Requirement
157
+ none: false
158
+ requirements:
159
+ - - ! '>='
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ - !ruby/object:Gem::Dependency
163
+ name: json
164
+ requirement: !ruby/object:Gem::Requirement
165
+ none: false
166
+ requirements:
167
+ - - ! '>='
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ type: :runtime
171
+ prerelease: false
172
+ version_requirements: !ruby/object:Gem::Requirement
173
+ none: false
174
+ requirements:
175
+ - - ! '>='
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ - !ruby/object:Gem::Dependency
179
+ name: geminabox-client
180
+ requirement: !ruby/object:Gem::Requirement
181
+ none: false
182
+ requirements:
183
+ - - ! '>='
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ type: :development
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ none: false
190
+ requirements:
191
+ - - ! '>='
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ - !ruby/object:Gem::Dependency
195
+ name: rake
196
+ requirement: !ruby/object:Gem::Requirement
197
+ none: false
198
+ requirements:
199
+ - - ~>
200
+ - !ruby/object:Gem::Version
201
+ version: 10.0.3
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ none: false
206
+ requirements:
207
+ - - ~>
208
+ - !ruby/object:Gem::Version
209
+ version: 10.0.3
210
+ - !ruby/object:Gem::Dependency
211
+ name: webmock
212
+ requirement: !ruby/object:Gem::Requirement
213
+ none: false
214
+ requirements:
215
+ - - ~>
216
+ - !ruby/object:Gem::Version
217
+ version: 1.9.3
218
+ type: :development
219
+ prerelease: false
220
+ version_requirements: !ruby/object:Gem::Requirement
221
+ none: false
222
+ requirements:
223
+ - - ~>
224
+ - !ruby/object:Gem::Version
225
+ version: 1.9.3
226
+ - !ruby/object:Gem::Dependency
227
+ name: pry
228
+ requirement: !ruby/object:Gem::Requirement
229
+ none: false
230
+ requirements:
231
+ - - ! '>='
232
+ - !ruby/object:Gem::Version
233
+ version: '0'
234
+ type: :development
235
+ prerelease: false
236
+ version_requirements: !ruby/object:Gem::Requirement
237
+ none: false
238
+ requirements:
239
+ - - ! '>='
240
+ - !ruby/object:Gem::Version
241
+ version: '0'
242
+ description: Define a pact between service consumers and providers
243
+ email:
244
+ - james.fraser@alumni.swinburne.edu
245
+ - sergei.matheson@gmail.com
246
+ - brent@fuglylogic.com
247
+ - uglyog@gmail.com
248
+ - bskurrie@dius.com.au
249
+ executables:
250
+ - pact
251
+ extensions: []
252
+ extra_rdoc_files: []
253
+ files:
254
+ - .gitignore
255
+ - .rspec
256
+ - Gemfile
257
+ - Gemfile.lock
258
+ - LICENSE.txt
259
+ - README.md
260
+ - Rakefile
261
+ - bin/pact
262
+ - lib/pact.rb
263
+ - lib/pact/app.rb
264
+ - lib/pact/configuration.rb
265
+ - lib/pact/consumer.rb
266
+ - lib/pact/consumer/app_manager.rb
267
+ - lib/pact/consumer/configuration_dsl.rb
268
+ - lib/pact/consumer/consumer_contract_builder.rb
269
+ - lib/pact/consumer/consumer_contract_builders.rb
270
+ - lib/pact/consumer/dsl.rb
271
+ - lib/pact/consumer/interaction.rb
272
+ - lib/pact/consumer/mock_service.rb
273
+ - lib/pact/consumer/rspec.rb
274
+ - lib/pact/consumer/run_condor.rb
275
+ - lib/pact/consumer/run_mock_contract_service.rb
276
+ - lib/pact/consumer/service_consumer.rb
277
+ - lib/pact/consumer/service_producer.rb
278
+ - lib/pact/consumer_contract.rb
279
+ - lib/pact/json_warning.rb
280
+ - lib/pact/logging.rb
281
+ - lib/pact/matchers.rb
282
+ - lib/pact/matchers/matchers.rb
283
+ - lib/pact/producer.rb
284
+ - lib/pact/producer/configuration_dsl.rb
285
+ - lib/pact/producer/matchers.rb
286
+ - lib/pact/producer/pact_spec_runner.rb
287
+ - lib/pact/producer/producer_state.rb
288
+ - lib/pact/producer/rspec.rb
289
+ - lib/pact/producer/test_methods.rb
290
+ - lib/pact/rake_task.rb
291
+ - lib/pact/reification.rb
292
+ - lib/pact/request.rb
293
+ - lib/pact/term.rb
294
+ - lib/pact/verification_task.rb
295
+ - lib/pact/version.rb
296
+ - lib/tasks/pact.rake
297
+ - pact.gemspec
298
+ - scratchpad.txt
299
+ - spec/features/consumption_spec.rb
300
+ - spec/features/producer_states/zebras.rb
301
+ - spec/features/production_spec.rb
302
+ - spec/integration/pact/configuration_spec.rb
303
+ - spec/lib/pact/configuration_spec.rb
304
+ - spec/lib/pact/consumer/app_manager_spec.rb
305
+ - spec/lib/pact/consumer/consumer_contract_builder_spec.rb
306
+ - spec/lib/pact/consumer/dsl_spec.rb
307
+ - spec/lib/pact/consumer/interaction_spec.rb
308
+ - spec/lib/pact/consumer/mock_service_spec.rb
309
+ - spec/lib/pact/consumer/service_consumer_spec.rb
310
+ - spec/lib/pact/consumer_contract_spec.rb
311
+ - spec/lib/pact/matchers/matchers_spec.rb
312
+ - spec/lib/pact/producer/configuration_dsl_spec.rb
313
+ - spec/lib/pact/producer/producer_state_spec.rb
314
+ - spec/lib/pact/producer/rspec_spec.rb
315
+ - spec/lib/pact/reification_spec.rb
316
+ - spec/lib/pact/request_spec.rb
317
+ - spec/lib/pact/term_spec.rb
318
+ - spec/lib/pact/verification_task_spec.rb
319
+ - spec/spec_helper.rb
320
+ - spec/support/a_consumer-a_producer.json
321
+ - spec/support/pact_rake_support.rb
322
+ - spec/support/test_app_fail.json
323
+ - spec/support/test_app_pass.json
324
+ - tasks/pact-test.rake
325
+ homepage: https://github.com/uglyog/pact.git
326
+ licenses:
327
+ - MIT
328
+ post_install_message:
329
+ rdoc_options: []
330
+ require_paths:
331
+ - lib
332
+ required_ruby_version: !ruby/object:Gem::Requirement
333
+ none: false
334
+ requirements:
335
+ - - ! '>='
336
+ - !ruby/object:Gem::Version
337
+ version: '0'
338
+ segments:
339
+ - 0
340
+ hash: -3049906681696067257
341
+ required_rubygems_version: !ruby/object:Gem::Requirement
342
+ none: false
343
+ requirements:
344
+ - - ! '>='
345
+ - !ruby/object:Gem::Version
346
+ version: '0'
347
+ segments:
348
+ - 0
349
+ hash: -3049906681696067257
350
+ requirements: []
351
+ rubyforge_project:
352
+ rubygems_version: 1.8.25
353
+ signing_key:
354
+ specification_version: 3
355
+ summary: Define a pact between service consumers and providers
356
+ test_files:
357
+ - spec/features/consumption_spec.rb
358
+ - spec/features/producer_states/zebras.rb
359
+ - spec/features/production_spec.rb
360
+ - spec/integration/pact/configuration_spec.rb
361
+ - spec/lib/pact/configuration_spec.rb
362
+ - spec/lib/pact/consumer/app_manager_spec.rb
363
+ - spec/lib/pact/consumer/consumer_contract_builder_spec.rb
364
+ - spec/lib/pact/consumer/dsl_spec.rb
365
+ - spec/lib/pact/consumer/interaction_spec.rb
366
+ - spec/lib/pact/consumer/mock_service_spec.rb
367
+ - spec/lib/pact/consumer/service_consumer_spec.rb
368
+ - spec/lib/pact/consumer_contract_spec.rb
369
+ - spec/lib/pact/matchers/matchers_spec.rb
370
+ - spec/lib/pact/producer/configuration_dsl_spec.rb
371
+ - spec/lib/pact/producer/producer_state_spec.rb
372
+ - spec/lib/pact/producer/rspec_spec.rb
373
+ - spec/lib/pact/reification_spec.rb
374
+ - spec/lib/pact/request_spec.rb
375
+ - spec/lib/pact/term_spec.rb
376
+ - spec/lib/pact/verification_task_spec.rb
377
+ - spec/spec_helper.rb
378
+ - spec/support/a_consumer-a_producer.json
379
+ - spec/support/pact_rake_support.rb
380
+ - spec/support/test_app_fail.json
381
+ - spec/support/test_app_pass.json