webmock 3.11.0 → 3.11.2

Sign up to get free protection for your applications and to get access to all the features.
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: []