webmock 3.11.0 → 3.11.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee9c189319718f559e90e9e6d031d8dbdac98e9f0ae84c0c7e79d90bfc0dd493
4
- data.tar.gz: cde291017ee8a2587c03e21d20317b96755ac15b94f1e4f287acc035c08ad904
3
+ metadata.gz: 6784322094783787fdf1a995a18c703ef70e0dccf59cbc8ad69cf086b11feb7b
4
+ data.tar.gz: e2e0fc45a8e44efdcfbfd777a733790b6d1762311f62762065e602c281daff09
5
5
  SHA512:
6
- metadata.gz: 54838a253c586b32dfaf604b8f4c8efff34bb81a888bda860ca6e9b58ff0a5430376852e0d17a84d8ee4e56a088031d75d3ddb3d00d803789e6eb013e5493d9a
7
- data.tar.gz: 9ddee20d1741ad835224254caaa8bbeda8807dc71c246c4ea8c3be18f31c089658f8c7a3b2fdf14da1f9cda32fe7c7cbf9cb594445ba92d47fa549754dd9b27e
6
+ metadata.gz: 277b355a34e07d6bf1c97692fe3c64c54518b16705fc9a6135b1b2000d0cd9e72256e88858e4b4c345cac9cda5d8edf2163f94e69ace05bbc6e75986eae0794d
7
+ data.tar.gz: ba7f43ee30745e58fa57d7030bce1bde7c334b719707642eadcce8963c0e52b88932913ed2a3115b59b6e3477830c87f9646961b7c5bdd95a95086ff733833c8
data/CHANGELOG.md CHANGED
@@ -1,10 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ # 3.11.2
4
+
5
+ * Fix for Manticore streaming mode
6
+
7
+ Thanks to [Oleksiy Kovyrin](https://github.com/kovyrin)
8
+
9
+ # 3.11.1
10
+
11
+ * Compatibility with async-http 0.54+
12
+
13
+ Thanks to [Jun Jiang](https://github.com/jasl)
14
+
3
15
  # 3.11.0
4
16
 
5
17
  * Added support for `features` in http.rb adapter.
6
18
 
7
- Thanks to [Carl (ce07c3)](https://github.com/ce07c3)
19
+ Thanks to [Carl (ce07c3)](https://github.com/ce07c3)
8
20
 
9
21
  # 3.10.0
10
22
 
data/README.md CHANGED
@@ -1152,6 +1152,8 @@ People who submitted patches and new features or suggested improvements. Many th
1152
1152
  * Jesse Bowes
1153
1153
  * Marek Kasztelnik
1154
1154
  * ce07c3
1155
+ * Jun Jiang
1156
+ * Oleksiy Kovyrin
1155
1157
 
1156
1158
  For a full list of contributors you can visit the
1157
1159
  [contributors](https://github.com/bblimke/webmock/contributors) page.
@@ -40,8 +40,8 @@ if defined?(Async::HTTP)
40
40
  )
41
41
  webmock_endpoint = WebMockEndpoint.new(scheme, authority, protocol)
42
42
 
43
- @network_client = WebMockClient.new(endpoint, protocol, scheme, authority, **options)
44
- @webmock_client = WebMockClient.new(webmock_endpoint, protocol, scheme, authority, **options)
43
+ @network_client = WebMockClient.new(endpoint, **options)
44
+ @webmock_client = WebMockClient.new(webmock_endpoint, **options)
45
45
 
46
46
  @scheme = scheme
47
47
  @authority = authority
@@ -127,8 +127,15 @@ if defined?(Manticore)
127
127
  def generate_webmock_response(manticore_response)
128
128
  webmock_response = WebMock::Response.new
129
129
  webmock_response.status = [manticore_response.code, manticore_response.message]
130
- webmock_response.body = manticore_response.body
131
130
  webmock_response.headers = manticore_response.headers
131
+
132
+ # The attempt to read the body could fail if manticore is used in a streaming mode
133
+ webmock_response.body = begin
134
+ manticore_response.body
135
+ rescue ::Manticore::StreamClosedException
136
+ nil
137
+ end
138
+
132
139
  webmock_response
133
140
  end
134
141
  end
@@ -1,3 +1,3 @@
1
1
  module WebMock
2
- VERSION = '3.11.0' unless defined?(::WebMock::VERSION)
2
+ VERSION = '3.11.2' unless defined?(::WebMock::VERSION)
3
3
  end
@@ -70,6 +70,38 @@ if RUBY_PLATFORM =~ /java/
70
70
  expect(failure_handler).to have_received(:call)
71
71
  end
72
72
  end
73
+
74
+ context 'when used in a streaming mode' do
75
+ let(:webmock_server_url) {"http://#{WebMockServer.instance.host_with_port}/"}
76
+ let(:result_chunks) { [] }
77
+
78
+ def manticore_streaming_get
79
+ Manticore.get(webmock_server_url).tap do |req|
80
+ req.on_success do |response|
81
+ response.body do |chunk|
82
+ result_chunks << chunk
83
+ end
84
+ end
85
+ end
86
+ end
87
+
88
+ context 'when connections are allowed' do
89
+ it 'works' do
90
+ WebMock.allow_net_connect!
91
+ expect { manticore_streaming_get.call }.to_not raise_error
92
+ expect(result_chunks).to_not be_empty
93
+ end
94
+ end
95
+
96
+ context 'when stubbed' do
97
+ it 'works' do
98
+ stub_body = 'hello!'
99
+ stub_request(:get, webmock_server_url).to_return(body: stub_body)
100
+ expect { manticore_streaming_get.call }.to_not raise_error
101
+ expect(result_chunks).to eq [stub_body]
102
+ end
103
+ end
104
+ end
73
105
  end
74
106
  end
75
107
  end
data/webmock.gemspec CHANGED
@@ -45,6 +45,7 @@ Gem::Specification.new do |s|
45
45
  s.add_development_dependency 'minitest', '>= 5.0.0'
46
46
  s.add_development_dependency 'test-unit', '>= 3.0.0'
47
47
  s.add_development_dependency 'rdoc', '> 3.5.0'
48
+ s.add_development_dependency 'webrick'
48
49
 
49
50
  s.files = `git ls-files`.split("\n")
50
51
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webmock
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.11.0
4
+ version: 3.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bartosz Blimke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-17 00:00:00.000000000 Z
11
+ date: 2021-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -254,6 +254,20 @@ dependencies:
254
254
  - - ">"
255
255
  - !ruby/object:Gem::Version
256
256
  version: 3.5.0
257
+ - !ruby/object:Gem::Dependency
258
+ name: webrick
259
+ requirement: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ type: :development
265
+ prerelease: false
266
+ version_requirements: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
257
271
  description: WebMock allows stubbing HTTP requests and setting expectations on HTTP
258
272
  requests.
259
273
  email:
@@ -407,9 +421,9 @@ licenses:
407
421
  - MIT
408
422
  metadata:
409
423
  bug_tracker_uri: https://github.com/bblimke/webmock/issues
410
- changelog_uri: https://github.com/bblimke/webmock/blob/v3.11.0/CHANGELOG.md
411
- documentation_uri: https://www.rubydoc.info/gems/webmock/3.11.0
412
- source_code_uri: https://github.com/bblimke/webmock/tree/v3.11.0
424
+ changelog_uri: https://github.com/bblimke/webmock/blob/v3.11.2/CHANGELOG.md
425
+ documentation_uri: https://www.rubydoc.info/gems/webmock/3.11.2
426
+ source_code_uri: https://github.com/bblimke/webmock/tree/v3.11.2
413
427
  wiki_uri: https://github.com/bblimke/webmock/wiki
414
428
  post_install_message:
415
429
  rdoc_options: []