webmock 3.5.0 → 3.25.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 (142) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +476 -2
  3. data/README.md +166 -42
  4. data/lib/webmock/api.rb +2 -0
  5. data/lib/webmock/assertion_failure.rb +2 -0
  6. data/lib/webmock/callback_registry.rb +2 -0
  7. data/lib/webmock/config.rb +2 -0
  8. data/lib/webmock/cucumber.rb +2 -0
  9. data/lib/webmock/deprecation.rb +2 -0
  10. data/lib/webmock/errors.rb +2 -0
  11. data/lib/webmock/http_lib_adapters/async_http_client_adapter.rb +228 -0
  12. data/lib/webmock/http_lib_adapters/curb_adapter.rb +14 -3
  13. data/lib/webmock/http_lib_adapters/em_http_request_adapter.rb +22 -9
  14. data/lib/webmock/http_lib_adapters/excon_adapter.rb +5 -0
  15. data/lib/webmock/http_lib_adapters/http_lib_adapter.rb +2 -0
  16. data/lib/webmock/http_lib_adapters/http_lib_adapter_registry.rb +2 -0
  17. data/lib/webmock/http_lib_adapters/http_rb/client.rb +4 -1
  18. data/lib/webmock/http_lib_adapters/http_rb/request.rb +17 -5
  19. data/lib/webmock/http_lib_adapters/http_rb/response.rb +49 -5
  20. data/lib/webmock/http_lib_adapters/http_rb/streamer.rb +11 -3
  21. data/lib/webmock/http_lib_adapters/http_rb/webmock.rb +8 -2
  22. data/lib/webmock/http_lib_adapters/http_rb_adapter.rb +7 -5
  23. data/lib/webmock/http_lib_adapters/httpclient_adapter.rb +25 -7
  24. data/lib/webmock/http_lib_adapters/manticore_adapter.rb +35 -15
  25. data/lib/webmock/http_lib_adapters/net_http.rb +59 -112
  26. data/lib/webmock/http_lib_adapters/net_http_response.rb +3 -1
  27. data/lib/webmock/http_lib_adapters/patron_adapter.rb +4 -2
  28. data/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb +18 -2
  29. data/lib/webmock/matchers/any_arg_matcher.rb +2 -0
  30. data/lib/webmock/matchers/hash_argument_matcher.rb +2 -0
  31. data/lib/webmock/matchers/hash_excluding_matcher.rb +2 -0
  32. data/lib/webmock/matchers/hash_including_matcher.rb +2 -0
  33. data/lib/webmock/minitest.rb +2 -0
  34. data/lib/webmock/rack_response.rb +5 -1
  35. data/lib/webmock/request_body_diff.rb +3 -1
  36. data/lib/webmock/request_execution_verifier.rb +2 -0
  37. data/lib/webmock/request_pattern.rb +118 -61
  38. data/lib/webmock/request_registry.rb +2 -0
  39. data/lib/webmock/request_signature.rb +4 -2
  40. data/lib/webmock/request_signature_snippet.rb +2 -0
  41. data/lib/webmock/request_stub.rb +34 -0
  42. data/lib/webmock/response.rb +22 -14
  43. data/lib/webmock/responses_sequence.rb +2 -0
  44. data/lib/webmock/rspec/matchers/request_pattern_matcher.rb +2 -0
  45. data/lib/webmock/rspec/matchers/webmock_matcher.rb +2 -0
  46. data/lib/webmock/rspec/matchers.rb +2 -0
  47. data/lib/webmock/rspec.rb +4 -1
  48. data/lib/webmock/stub_registry.rb +28 -11
  49. data/lib/webmock/stub_request_snippet.rb +2 -0
  50. data/lib/webmock/test_unit.rb +3 -3
  51. data/lib/webmock/util/hash_counter.rb +12 -6
  52. data/lib/webmock/util/hash_keys_stringifier.rb +2 -0
  53. data/lib/webmock/util/hash_validator.rb +2 -0
  54. data/lib/webmock/util/headers.rb +23 -10
  55. data/lib/webmock/util/parsers/json.rb +72 -0
  56. data/lib/webmock/util/parsers/parse_error.rb +7 -0
  57. data/lib/webmock/util/parsers/xml.rb +16 -0
  58. data/lib/webmock/util/query_mapper.rb +6 -2
  59. data/lib/webmock/util/uri.rb +11 -9
  60. data/lib/webmock/util/values_stringifier.rb +2 -0
  61. data/lib/webmock/util/version_checker.rb +7 -5
  62. data/lib/webmock/version.rb +3 -1
  63. data/lib/webmock/webmock.rb +22 -3
  64. data/lib/webmock.rb +5 -2
  65. metadata +99 -175
  66. data/.gemtest +0 -0
  67. data/.gitignore +0 -34
  68. data/.rspec-tm +0 -2
  69. data/.travis.yml +0 -21
  70. data/Gemfile +0 -9
  71. data/Rakefile +0 -30
  72. data/lib/webmock/util/json.rb +0 -67
  73. data/minitest/test_helper.rb +0 -34
  74. data/minitest/test_webmock.rb +0 -9
  75. data/minitest/webmock_spec.rb +0 -60
  76. data/spec/acceptance/curb/curb_spec.rb +0 -481
  77. data/spec/acceptance/curb/curb_spec_helper.rb +0 -147
  78. data/spec/acceptance/em_http_request/em_http_request_spec.rb +0 -406
  79. data/spec/acceptance/em_http_request/em_http_request_spec_helper.rb +0 -77
  80. data/spec/acceptance/excon/excon_spec.rb +0 -77
  81. data/spec/acceptance/excon/excon_spec_helper.rb +0 -50
  82. data/spec/acceptance/http_rb/http_rb_spec.rb +0 -82
  83. data/spec/acceptance/http_rb/http_rb_spec_helper.rb +0 -54
  84. data/spec/acceptance/httpclient/httpclient_spec.rb +0 -217
  85. data/spec/acceptance/httpclient/httpclient_spec_helper.rb +0 -57
  86. data/spec/acceptance/manticore/manticore_spec.rb +0 -56
  87. data/spec/acceptance/manticore/manticore_spec_helper.rb +0 -35
  88. data/spec/acceptance/net_http/net_http_shared.rb +0 -153
  89. data/spec/acceptance/net_http/net_http_spec.rb +0 -331
  90. data/spec/acceptance/net_http/net_http_spec_helper.rb +0 -64
  91. data/spec/acceptance/net_http/real_net_http_spec.rb +0 -20
  92. data/spec/acceptance/patron/patron_spec.rb +0 -125
  93. data/spec/acceptance/patron/patron_spec_helper.rb +0 -54
  94. data/spec/acceptance/shared/allowing_and_disabling_net_connect.rb +0 -313
  95. data/spec/acceptance/shared/callbacks.rb +0 -147
  96. data/spec/acceptance/shared/complex_cross_concern_behaviors.rb +0 -36
  97. data/spec/acceptance/shared/enabling_and_disabling_webmock.rb +0 -95
  98. data/spec/acceptance/shared/precedence_of_stubs.rb +0 -15
  99. data/spec/acceptance/shared/request_expectations.rb +0 -923
  100. data/spec/acceptance/shared/returning_declared_responses.rb +0 -388
  101. data/spec/acceptance/shared/stubbing_requests.rb +0 -638
  102. data/spec/acceptance/typhoeus/typhoeus_hydra_spec.rb +0 -135
  103. data/spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb +0 -60
  104. data/spec/acceptance/webmock_shared.rb +0 -41
  105. data/spec/fixtures/test.txt +0 -1
  106. data/spec/quality_spec.rb +0 -84
  107. data/spec/spec_helper.rb +0 -48
  108. data/spec/support/example_curl_output.txt +0 -22
  109. data/spec/support/failures.rb +0 -9
  110. data/spec/support/my_rack_app.rb +0 -53
  111. data/spec/support/network_connection.rb +0 -19
  112. data/spec/support/webmock_server.rb +0 -69
  113. data/spec/unit/api_spec.rb +0 -175
  114. data/spec/unit/errors_spec.rb +0 -129
  115. data/spec/unit/http_lib_adapters/http_lib_adapter_registry_spec.rb +0 -17
  116. data/spec/unit/http_lib_adapters/http_lib_adapter_spec.rb +0 -12
  117. data/spec/unit/matchers/hash_excluding_matcher_spec.rb +0 -61
  118. data/spec/unit/matchers/hash_including_matcher_spec.rb +0 -87
  119. data/spec/unit/rack_response_spec.rb +0 -112
  120. data/spec/unit/request_body_diff_spec.rb +0 -90
  121. data/spec/unit/request_execution_verifier_spec.rb +0 -208
  122. data/spec/unit/request_pattern_spec.rb +0 -596
  123. data/spec/unit/request_registry_spec.rb +0 -95
  124. data/spec/unit/request_signature_snippet_spec.rb +0 -89
  125. data/spec/unit/request_signature_spec.rb +0 -155
  126. data/spec/unit/request_stub_spec.rb +0 -199
  127. data/spec/unit/response_spec.rb +0 -282
  128. data/spec/unit/stub_registry_spec.rb +0 -103
  129. data/spec/unit/stub_request_snippet_spec.rb +0 -115
  130. data/spec/unit/util/hash_counter_spec.rb +0 -39
  131. data/spec/unit/util/hash_keys_stringifier_spec.rb +0 -27
  132. data/spec/unit/util/headers_spec.rb +0 -28
  133. data/spec/unit/util/json_spec.rb +0 -33
  134. data/spec/unit/util/query_mapper_spec.rb +0 -150
  135. data/spec/unit/util/uri_spec.rb +0 -299
  136. data/spec/unit/util/version_checker_spec.rb +0 -65
  137. data/spec/unit/webmock_spec.rb +0 -11
  138. data/test/http_request.rb +0 -24
  139. data/test/shared_test.rb +0 -108
  140. data/test/test_helper.rb +0 -23
  141. data/test/test_webmock.rb +0 -6
  142. data/webmock.gemspec +0 -46
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webmock
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 3.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bartosz Blimke
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2018-12-27 00:00:00.000000000 Z
10
+ date: 2025-02-06 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: addressable
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 2.3.6
18
+ version: 2.8.0
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: 2.3.6
25
+ version: 2.8.0
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: crack
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +43,20 @@ dependencies:
44
43
  requirements:
45
44
  - - ">="
46
45
  - !ruby/object:Gem::Version
47
- version: '0'
46
+ version: 0.4.0
47
+ - - "<"
48
+ - !ruby/object:Gem::Version
49
+ version: 2.0.0
48
50
  type: :runtime
49
51
  prerelease: false
50
52
  version_requirements: !ruby/object:Gem::Requirement
51
53
  requirements:
52
54
  - - ">="
53
55
  - !ruby/object:Gem::Version
54
- version: '0'
56
+ version: 0.4.0
57
+ - - "<"
58
+ - !ruby/object:Gem::Version
59
+ version: 2.0.0
55
60
  - !ruby/object:Gem::Dependency
56
61
  name: patron
57
62
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +99,48 @@ dependencies:
94
99
  - - ">="
95
100
  - !ruby/object:Gem::Version
96
101
  version: 0.5.0
102
+ - !ruby/object:Gem::Dependency
103
+ name: em-http-request
104
+ requirement: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: 1.0.2
109
+ type: :development
110
+ prerelease: false
111
+ version_requirements: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: 1.0.2
116
+ - !ruby/object:Gem::Dependency
117
+ name: em-synchrony
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 1.0.0
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: 1.0.0
130
+ - !ruby/object:Gem::Dependency
131
+ name: async-http
132
+ requirement: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: 0.48.0
137
+ type: :development
138
+ prerelease: false
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: 0.48.0
97
144
  - !ruby/object:Gem::Dependency
98
145
  name: http
99
146
  requirement: !ruby/object:Gem::Requirement
@@ -151,33 +198,19 @@ dependencies:
151
198
  - !ruby/object:Gem::Version
152
199
  version: 2.2.4
153
200
  - !ruby/object:Gem::Dependency
154
- name: em-http-request
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: 1.0.2
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: 1.0.2
167
- - !ruby/object:Gem::Dependency
168
- name: em-synchrony
201
+ name: mutex_m
169
202
  requirement: !ruby/object:Gem::Requirement
170
203
  requirements:
171
204
  - - ">="
172
205
  - !ruby/object:Gem::Version
173
- version: 1.0.0
206
+ version: '0'
174
207
  type: :development
175
208
  prerelease: false
176
209
  version_requirements: !ruby/object:Gem::Requirement
177
210
  requirements:
178
211
  - - ">="
179
212
  - !ruby/object:Gem::Version
180
- version: 1.0.0
213
+ version: '0'
181
214
  - !ruby/object:Gem::Dependency
182
215
  name: excon
183
216
  requirement: !ruby/object:Gem::Requirement
@@ -234,6 +267,34 @@ dependencies:
234
267
  - - ">"
235
268
  - !ruby/object:Gem::Version
236
269
  version: 3.5.0
270
+ - !ruby/object:Gem::Dependency
271
+ name: webrick
272
+ requirement: !ruby/object:Gem::Requirement
273
+ requirements:
274
+ - - ">="
275
+ - !ruby/object:Gem::Version
276
+ version: '0'
277
+ type: :development
278
+ prerelease: false
279
+ version_requirements: !ruby/object:Gem::Requirement
280
+ requirements:
281
+ - - ">="
282
+ - !ruby/object:Gem::Version
283
+ version: '0'
284
+ - !ruby/object:Gem::Dependency
285
+ name: rspec-retry
286
+ requirement: !ruby/object:Gem::Requirement
287
+ requirements:
288
+ - - ">="
289
+ - !ruby/object:Gem::Version
290
+ version: '0'
291
+ type: :development
292
+ prerelease: false
293
+ version_requirements: !ruby/object:Gem::Requirement
294
+ requirements:
295
+ - - ">="
296
+ - !ruby/object:Gem::Version
297
+ version: '0'
237
298
  description: WebMock allows stubbing HTTP requests and setting expectations on HTTP
238
299
  requests.
239
300
  email:
@@ -242,15 +303,9 @@ executables: []
242
303
  extensions: []
243
304
  extra_rdoc_files: []
244
305
  files:
245
- - ".gemtest"
246
- - ".gitignore"
247
- - ".rspec-tm"
248
- - ".travis.yml"
249
306
  - CHANGELOG.md
250
- - Gemfile
251
307
  - LICENSE
252
308
  - README.md
253
- - Rakefile
254
309
  - lib/webmock.rb
255
310
  - lib/webmock/api.rb
256
311
  - lib/webmock/assertion_failure.rb
@@ -259,6 +314,7 @@ files:
259
314
  - lib/webmock/cucumber.rb
260
315
  - lib/webmock/deprecation.rb
261
316
  - lib/webmock/errors.rb
317
+ - lib/webmock/http_lib_adapters/async_http_client_adapter.rb
262
318
  - lib/webmock/http_lib_adapters/curb_adapter.rb
263
319
  - lib/webmock/http_lib_adapters/em_http_request_adapter.rb
264
320
  - lib/webmock/http_lib_adapters/excon_adapter.rb
@@ -302,88 +358,24 @@ files:
302
358
  - lib/webmock/util/hash_keys_stringifier.rb
303
359
  - lib/webmock/util/hash_validator.rb
304
360
  - lib/webmock/util/headers.rb
305
- - lib/webmock/util/json.rb
361
+ - lib/webmock/util/parsers/json.rb
362
+ - lib/webmock/util/parsers/parse_error.rb
363
+ - lib/webmock/util/parsers/xml.rb
306
364
  - lib/webmock/util/query_mapper.rb
307
365
  - lib/webmock/util/uri.rb
308
366
  - lib/webmock/util/values_stringifier.rb
309
367
  - lib/webmock/util/version_checker.rb
310
368
  - lib/webmock/version.rb
311
369
  - lib/webmock/webmock.rb
312
- - minitest/test_helper.rb
313
- - minitest/test_webmock.rb
314
- - minitest/webmock_spec.rb
315
- - spec/acceptance/curb/curb_spec.rb
316
- - spec/acceptance/curb/curb_spec_helper.rb
317
- - spec/acceptance/em_http_request/em_http_request_spec.rb
318
- - spec/acceptance/em_http_request/em_http_request_spec_helper.rb
319
- - spec/acceptance/excon/excon_spec.rb
320
- - spec/acceptance/excon/excon_spec_helper.rb
321
- - spec/acceptance/http_rb/http_rb_spec.rb
322
- - spec/acceptance/http_rb/http_rb_spec_helper.rb
323
- - spec/acceptance/httpclient/httpclient_spec.rb
324
- - spec/acceptance/httpclient/httpclient_spec_helper.rb
325
- - spec/acceptance/manticore/manticore_spec.rb
326
- - spec/acceptance/manticore/manticore_spec_helper.rb
327
- - spec/acceptance/net_http/net_http_shared.rb
328
- - spec/acceptance/net_http/net_http_spec.rb
329
- - spec/acceptance/net_http/net_http_spec_helper.rb
330
- - spec/acceptance/net_http/real_net_http_spec.rb
331
- - spec/acceptance/patron/patron_spec.rb
332
- - spec/acceptance/patron/patron_spec_helper.rb
333
- - spec/acceptance/shared/allowing_and_disabling_net_connect.rb
334
- - spec/acceptance/shared/callbacks.rb
335
- - spec/acceptance/shared/complex_cross_concern_behaviors.rb
336
- - spec/acceptance/shared/enabling_and_disabling_webmock.rb
337
- - spec/acceptance/shared/precedence_of_stubs.rb
338
- - spec/acceptance/shared/request_expectations.rb
339
- - spec/acceptance/shared/returning_declared_responses.rb
340
- - spec/acceptance/shared/stubbing_requests.rb
341
- - spec/acceptance/typhoeus/typhoeus_hydra_spec.rb
342
- - spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb
343
- - spec/acceptance/webmock_shared.rb
344
- - spec/fixtures/test.txt
345
- - spec/quality_spec.rb
346
- - spec/spec_helper.rb
347
- - spec/support/example_curl_output.txt
348
- - spec/support/failures.rb
349
- - spec/support/my_rack_app.rb
350
- - spec/support/network_connection.rb
351
- - spec/support/webmock_server.rb
352
- - spec/unit/api_spec.rb
353
- - spec/unit/errors_spec.rb
354
- - spec/unit/http_lib_adapters/http_lib_adapter_registry_spec.rb
355
- - spec/unit/http_lib_adapters/http_lib_adapter_spec.rb
356
- - spec/unit/matchers/hash_excluding_matcher_spec.rb
357
- - spec/unit/matchers/hash_including_matcher_spec.rb
358
- - spec/unit/rack_response_spec.rb
359
- - spec/unit/request_body_diff_spec.rb
360
- - spec/unit/request_execution_verifier_spec.rb
361
- - spec/unit/request_pattern_spec.rb
362
- - spec/unit/request_registry_spec.rb
363
- - spec/unit/request_signature_snippet_spec.rb
364
- - spec/unit/request_signature_spec.rb
365
- - spec/unit/request_stub_spec.rb
366
- - spec/unit/response_spec.rb
367
- - spec/unit/stub_registry_spec.rb
368
- - spec/unit/stub_request_snippet_spec.rb
369
- - spec/unit/util/hash_counter_spec.rb
370
- - spec/unit/util/hash_keys_stringifier_spec.rb
371
- - spec/unit/util/headers_spec.rb
372
- - spec/unit/util/json_spec.rb
373
- - spec/unit/util/query_mapper_spec.rb
374
- - spec/unit/util/uri_spec.rb
375
- - spec/unit/util/version_checker_spec.rb
376
- - spec/unit/webmock_spec.rb
377
- - test/http_request.rb
378
- - test/shared_test.rb
379
- - test/test_helper.rb
380
- - test/test_webmock.rb
381
- - webmock.gemspec
382
- homepage: http://github.com/bblimke/webmock
370
+ homepage: https://github.com/bblimke/webmock
383
371
  licenses:
384
372
  - MIT
385
- metadata: {}
386
- post_install_message:
373
+ metadata:
374
+ bug_tracker_uri: https://github.com/bblimke/webmock/issues
375
+ changelog_uri: https://github.com/bblimke/webmock/blob/v3.25.0/CHANGELOG.md
376
+ documentation_uri: https://www.rubydoc.info/gems/webmock/3.25.0
377
+ source_code_uri: https://github.com/bblimke/webmock/tree/v3.25.0
378
+ wiki_uri: https://github.com/bblimke/webmock/wiki
387
379
  rdoc_options: []
388
380
  require_paths:
389
381
  - lib
@@ -391,82 +383,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
391
383
  requirements:
392
384
  - - ">="
393
385
  - !ruby/object:Gem::Version
394
- version: '2.0'
386
+ version: '2.5'
395
387
  required_rubygems_version: !ruby/object:Gem::Requirement
396
388
  requirements:
397
389
  - - ">="
398
390
  - !ruby/object:Gem::Version
399
391
  version: '0'
400
392
  requirements: []
401
- rubyforge_project: webmock
402
- rubygems_version: 2.7.6
403
- signing_key:
393
+ rubygems_version: 3.7.0.dev
404
394
  specification_version: 4
405
395
  summary: Library for stubbing HTTP requests in Ruby.
406
- test_files:
407
- - spec/acceptance/curb/curb_spec.rb
408
- - spec/acceptance/curb/curb_spec_helper.rb
409
- - spec/acceptance/em_http_request/em_http_request_spec.rb
410
- - spec/acceptance/em_http_request/em_http_request_spec_helper.rb
411
- - spec/acceptance/excon/excon_spec.rb
412
- - spec/acceptance/excon/excon_spec_helper.rb
413
- - spec/acceptance/http_rb/http_rb_spec.rb
414
- - spec/acceptance/http_rb/http_rb_spec_helper.rb
415
- - spec/acceptance/httpclient/httpclient_spec.rb
416
- - spec/acceptance/httpclient/httpclient_spec_helper.rb
417
- - spec/acceptance/manticore/manticore_spec.rb
418
- - spec/acceptance/manticore/manticore_spec_helper.rb
419
- - spec/acceptance/net_http/net_http_shared.rb
420
- - spec/acceptance/net_http/net_http_spec.rb
421
- - spec/acceptance/net_http/net_http_spec_helper.rb
422
- - spec/acceptance/net_http/real_net_http_spec.rb
423
- - spec/acceptance/patron/patron_spec.rb
424
- - spec/acceptance/patron/patron_spec_helper.rb
425
- - spec/acceptance/shared/allowing_and_disabling_net_connect.rb
426
- - spec/acceptance/shared/callbacks.rb
427
- - spec/acceptance/shared/complex_cross_concern_behaviors.rb
428
- - spec/acceptance/shared/enabling_and_disabling_webmock.rb
429
- - spec/acceptance/shared/precedence_of_stubs.rb
430
- - spec/acceptance/shared/request_expectations.rb
431
- - spec/acceptance/shared/returning_declared_responses.rb
432
- - spec/acceptance/shared/stubbing_requests.rb
433
- - spec/acceptance/typhoeus/typhoeus_hydra_spec.rb
434
- - spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb
435
- - spec/acceptance/webmock_shared.rb
436
- - spec/fixtures/test.txt
437
- - spec/quality_spec.rb
438
- - spec/spec_helper.rb
439
- - spec/support/example_curl_output.txt
440
- - spec/support/failures.rb
441
- - spec/support/my_rack_app.rb
442
- - spec/support/network_connection.rb
443
- - spec/support/webmock_server.rb
444
- - spec/unit/api_spec.rb
445
- - spec/unit/errors_spec.rb
446
- - spec/unit/http_lib_adapters/http_lib_adapter_registry_spec.rb
447
- - spec/unit/http_lib_adapters/http_lib_adapter_spec.rb
448
- - spec/unit/matchers/hash_excluding_matcher_spec.rb
449
- - spec/unit/matchers/hash_including_matcher_spec.rb
450
- - spec/unit/rack_response_spec.rb
451
- - spec/unit/request_body_diff_spec.rb
452
- - spec/unit/request_execution_verifier_spec.rb
453
- - spec/unit/request_pattern_spec.rb
454
- - spec/unit/request_registry_spec.rb
455
- - spec/unit/request_signature_snippet_spec.rb
456
- - spec/unit/request_signature_spec.rb
457
- - spec/unit/request_stub_spec.rb
458
- - spec/unit/response_spec.rb
459
- - spec/unit/stub_registry_spec.rb
460
- - spec/unit/stub_request_snippet_spec.rb
461
- - spec/unit/util/hash_counter_spec.rb
462
- - spec/unit/util/hash_keys_stringifier_spec.rb
463
- - spec/unit/util/headers_spec.rb
464
- - spec/unit/util/json_spec.rb
465
- - spec/unit/util/query_mapper_spec.rb
466
- - spec/unit/util/uri_spec.rb
467
- - spec/unit/util/version_checker_spec.rb
468
- - spec/unit/webmock_spec.rb
469
- - test/http_request.rb
470
- - test/shared_test.rb
471
- - test/test_helper.rb
472
- - test/test_webmock.rb
396
+ test_files: []
data/.gemtest DELETED
File without changes
data/.gitignore DELETED
@@ -1,34 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- .*.sw[a-z]
15
-
16
- ## RubyMine and related
17
- .idea
18
-
19
- ## PROJECT::GENERAL
20
- coverage
21
- rdoc
22
- pkg
23
-
24
- ## PROJECT::SPECIFIC
25
- *.gem
26
- .bundle
27
- Gemfile.lock
28
- gemfiles/*.gemfile.lock
29
- pkg/*
30
- tmp/*
31
- *.rbc
32
- *.rbx
33
- .ruby-gemset
34
- .ruby-version
data/.rspec-tm DELETED
@@ -1,2 +0,0 @@
1
- --rspec-version 2.0.0
2
- --bundler
data/.travis.yml DELETED
@@ -1,21 +0,0 @@
1
- before_install:
2
- - gem update --system
3
- - gem update bundler
4
- rvm:
5
- - 2.3.8
6
- - 2.4.5
7
- - 2.5.3
8
- - 2.6.0
9
- - rbx-2
10
- - ruby-head
11
- - jruby-9.1.17.0
12
- - jruby-9.2.5.0
13
- - jruby-head
14
- matrix:
15
- allow_failures:
16
- - rvm: jruby-head
17
- - rvm: ruby-head
18
- - rvm: rbx-2
19
- # Send builds to container-based infrastructure
20
- # http://docs.travis-ci.com/user/workers/container-based-infrastructure/
21
- sudo: false
data/Gemfile DELETED
@@ -1,9 +0,0 @@
1
- source 'http://rubygems.org/'
2
-
3
- gemspec
4
-
5
- gem 'rake'
6
-
7
- platforms :jruby do
8
- gem 'jruby-openssl'
9
- end
data/Rakefile DELETED
@@ -1,30 +0,0 @@
1
- #!/usr/bin/env rake
2
-
3
- require 'bundler'
4
- Bundler::GemHelper.install_tasks
5
-
6
- require "rspec/core/rake_task"
7
- RSpec::Core::RakeTask.new(:spec) do |t|
8
- t.rspec_opts = ["-c", "-f progress", "-r ./spec/spec_helper.rb"]
9
- t.pattern = 'spec/**/*_spec.rb'
10
- end
11
-
12
- RSpec::Core::RakeTask.new(:spec_http_without_webmock) do |t|
13
- t.rspec_opts = ["-c", "-f progress", "-r ./spec/acceptance/net_http/real_net_http_spec.rb"]
14
- t.pattern = 'spec/acceptance/net_http/real_net_http_spec.rb'
15
- end
16
-
17
- require 'rake/testtask'
18
- Rake::TestTask.new(:test) do |test|
19
- test.test_files = FileList["test/**/*.rb"].exclude("test/test_helper.rb")
20
- test.verbose = false
21
- test.warning = false
22
- end
23
-
24
- Rake::TestTask.new(:minitest) do |test|
25
- test.test_files = FileList["minitest/**/*.rb"].exclude("test/test_helper.rb")
26
- test.verbose = false
27
- test.warning = false
28
- end
29
-
30
- task default: [:spec, :spec_http_without_webmock, :test, :minitest]
@@ -1,67 +0,0 @@
1
- # This is a copy of https://github.com/jnunemaker/crack/blob/master/lib/crack/json.rb
2
- # with date parsing removed
3
- # Copyright (c) 2004-2008 David Heinemeier Hansson
4
- # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5
- # The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
7
-
8
- module WebMock
9
- module Util
10
- class JSON
11
- class ParseError < StandardError; end
12
-
13
- def self.parse(json)
14
- yaml = unescape(convert_json_to_yaml(json))
15
- YAML.load(yaml)
16
- rescue ArgumentError => e
17
- raise ParseError, "Invalid JSON string: #{yaml}, Error: #{e.inspect}"
18
- end
19
-
20
- protected
21
- def self.unescape(str)
22
- str.gsub(/\\u([0-9a-f]{4})/) { [$1.hex].pack("U") }
23
- end
24
-
25
- # Ensure that ":" and "," are always followed by a space
26
- def self.convert_json_to_yaml(json) #:nodoc:
27
- scanner, quoting, marks, times = StringScanner.new(json), false, [], []
28
- while scanner.scan_until(/(\\['"]|['":,\\]|\\.)/)
29
- case char = scanner[1]
30
- when '"', "'"
31
- if !quoting
32
- quoting = char
33
- elsif quoting == char
34
- quoting = false
35
- end
36
- when ":",","
37
- marks << scanner.pos - 1 unless quoting
38
- when "\\"
39
- scanner.skip(/\\/)
40
- end
41
- end
42
-
43
- if marks.empty?
44
- json.gsub(/\\\//, '/')
45
- else
46
- left_pos = [-1].push(*marks)
47
- right_pos = marks << json.bytesize
48
- output = []
49
-
50
- left_pos.each_with_index do |left, i|
51
- if json.respond_to?(:byteslice)
52
- output << json.byteslice(left.succ..right_pos[i])
53
- else
54
- output << json[left.succ..right_pos[i]]
55
- end
56
- end
57
-
58
- output = output * " "
59
-
60
- times.each { |i| output[i-1] = ' ' }
61
- output.gsub!(/\\\//, '/')
62
- output
63
- end
64
- end
65
- end
66
- end
67
- end
@@ -1,34 +0,0 @@
1
- require 'rubygems'
2
-
3
- $LOAD_PATH.unshift(File.dirname(__FILE__))
4
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
-
6
- require File.expand_path(File.dirname(__FILE__) + '/../test/http_request')
7
-
8
- gem 'minitest'
9
-
10
- require 'minitest/autorun'
11
- require 'webmock/minitest'
12
-
13
- test_class = defined?(MiniTest::Test) ? MiniTest::Test : MiniTest::Unit::TestCase
14
-
15
- test_class.class_eval do
16
-
17
- def assert_raise(*exp, &block)
18
- assert_raises(*exp, &block)
19
- end
20
-
21
- def assert_raise_with_message(e, message, &block)
22
- e = assert_raises(e, &block)
23
- if message.is_a?(Regexp)
24
- assert_match(message, e.message)
25
- else
26
- assert_equal(message, e.message)
27
- end
28
- end
29
-
30
- def assert_fail(message, &block)
31
- assert_raise_with_message(MiniTest::Assertion, message, &block)
32
- end
33
-
34
- end
@@ -1,9 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/test_helper')
2
- require File.expand_path(File.dirname(__FILE__) + '/../test/shared_test')
3
-
4
- test_class = defined?(MiniTest::Test) ? MiniTest::Test : MiniTest::Unit::TestCase
5
-
6
-
7
- class MiniTestWebMock < test_class
8
- include SharedTest
9
- end
@@ -1,60 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/test_helper')
2
-
3
- describe "Webmock" do
4
- include HttpRequestTestHelper
5
-
6
- before do
7
- @stub_http = stub_http_request(:any, "http://www.example.com")
8
- @stub_https = stub_http_request(:any, "https://www.example.com")
9
- end
10
-
11
- it "should update assertions count" do
12
- assert_equal 0, assertions
13
- http_request(:get, "http://www.example.com/")
14
-
15
- assert_requested(@stub_http)
16
- assert_equal 2, assertions
17
-
18
- assert_not_requested(:post, "http://www.example.com")
19
- assert_equal 4, assertions
20
- end
21
-
22
- it "should raise error on non stubbed request" do
23
- lambda { http_request(:get, "http://www.example.net/") }.must_raise(WebMock::NetConnectNotAllowedError)
24
- end
25
-
26
- it "should verify that expected request occured" do
27
- http_request(:get, "http://www.example.com/")
28
- assert_requested(:get, "http://www.example.com", times: 1)
29
- assert_requested(:get, "http://www.example.com")
30
- end
31
-
32
- it "should verify that expected http stub occured" do
33
- http_request(:get, "http://www.example.com/")
34
- assert_requested(@stub_http, times: 1)
35
- assert_requested(@stub_http)
36
- end
37
-
38
- it "should verify that expected https stub occured" do
39
- http_request(:get, "https://www.example.com/")
40
- http_request(:get, "https://www.example.com/")
41
- assert_requested(@stub_https, times: 2)
42
- end
43
-
44
- it "should verify that expect request didn't occur" do
45
- expected_message = "The request GET http://www.example.com/ was expected to execute 1 time but it executed 0 times"
46
- expected_message += "\n\nThe following requests were made:\n\nNo requests were made.\n============================================================"
47
- assert_fail(expected_message) do
48
- assert_requested(:get, "http://www.example.com")
49
- end
50
- end
51
-
52
- it "should verify that expect stub didn't occur" do
53
- expected_message = "The request ANY http://www.example.com/ was expected to execute 1 time but it executed 0 times"
54
- expected_message += "\n\nThe following requests were made:\n\nNo requests were made.\n============================================================"
55
- assert_fail(expected_message) do
56
- assert_requested(@stub_http)
57
- end
58
- end
59
- end
60
-