thrift 0.10.0.0 → 0.14.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.
Files changed (54) hide show
  1. checksums.yaml +5 -5
  2. data/lib/thrift/processor.rb +10 -1
  3. data/lib/thrift/protocol/base_protocol.rb +11 -3
  4. data/lib/thrift/protocol/binary_protocol.rb +8 -1
  5. data/lib/thrift/protocol/binary_protocol_accelerated.rb +8 -0
  6. data/lib/thrift/protocol/compact_protocol.rb +8 -0
  7. data/lib/thrift/protocol/json_protocol.rb +9 -1
  8. data/lib/thrift/protocol/multiplexed_protocol.rb +5 -1
  9. data/lib/thrift/server/base_server.rb +8 -2
  10. data/lib/thrift/server/simple_server.rb +5 -1
  11. data/lib/thrift/server/thread_pool_server.rb +5 -1
  12. data/lib/thrift/server/threaded_server.rb +5 -1
  13. data/lib/thrift/transport/base_server_transport.rb +1 -1
  14. data/lib/thrift/transport/base_transport.rb +8 -0
  15. data/lib/thrift/transport/buffered_transport.rb +9 -1
  16. data/lib/thrift/transport/framed_transport.rb +9 -1
  17. data/lib/thrift/transport/http_client_transport.rb +6 -0
  18. data/lib/thrift/transport/io_stream_transport.rb +4 -1
  19. data/lib/thrift/transport/memory_buffer_transport.rb +4 -0
  20. data/lib/thrift/transport/server_socket.rb +6 -1
  21. data/lib/thrift/transport/socket.rb +4 -2
  22. data/lib/thrift/transport/ssl_server_socket.rb +4 -0
  23. data/lib/thrift/transport/ssl_socket.rb +4 -0
  24. data/lib/thrift/transport/unix_server_socket.rb +5 -1
  25. data/lib/thrift/transport/unix_socket.rb +5 -1
  26. data/spec/base_protocol_spec.rb +79 -71
  27. data/spec/base_transport_spec.rb +155 -117
  28. data/spec/binary_protocol_accelerated_spec.rb +6 -2
  29. data/spec/binary_protocol_spec.rb +16 -8
  30. data/spec/binary_protocol_spec_shared.rb +73 -70
  31. data/spec/bytes_spec.rb +38 -38
  32. data/spec/client_spec.rb +41 -42
  33. data/spec/compact_protocol_spec.rb +23 -8
  34. data/spec/exception_spec.rb +54 -54
  35. data/spec/flat_spec.rb +5 -5
  36. data/spec/http_client_spec.rb +64 -38
  37. data/spec/json_protocol_spec.rb +146 -138
  38. data/spec/namespaced_spec.rb +5 -5
  39. data/spec/nonblocking_server_spec.rb +16 -16
  40. data/spec/processor_spec.rb +26 -26
  41. data/spec/serializer_spec.rb +20 -20
  42. data/spec/server_socket_spec.rb +27 -22
  43. data/spec/server_spec.rb +91 -51
  44. data/spec/socket_spec.rb +23 -16
  45. data/spec/socket_spec_shared.rb +31 -31
  46. data/spec/ssl_server_socket_spec.rb +34 -0
  47. data/spec/ssl_socket_spec.rb +26 -22
  48. data/spec/struct_nested_containers_spec.rb +24 -24
  49. data/spec/struct_spec.rb +120 -120
  50. data/spec/thin_http_server_spec.rb +18 -18
  51. data/spec/types_spec.rb +56 -53
  52. data/spec/union_spec.rb +42 -43
  53. data/spec/unix_socket_spec.rb +43 -34
  54. metadata +131 -94
@@ -26,21 +26,26 @@ describe 'UNIXSocket' do
26
26
  before(:each) do
27
27
  @path = '/tmp/thrift_spec_socket'
28
28
  @socket = Thrift::UNIXSocket.new(@path)
29
- @handle = mock("Handle", :closed? => false)
30
- @handle.stub!(:close)
31
- ::UNIXSocket.stub!(:new).and_return(@handle)
29
+ @handle = double("Handle", :closed? => false)
30
+ allow(@handle).to receive(:close)
31
+ allow(::UNIXSocket).to receive(:new).and_return(@handle)
32
32
  end
33
33
 
34
34
  it_should_behave_like "a socket"
35
35
 
36
36
  it "should raise a TransportException when it cannot open a socket" do
37
- ::UNIXSocket.should_receive(:new).and_raise(StandardError)
38
- lambda { @socket.open }.should raise_error(Thrift::TransportException) { |e| e.type.should == Thrift::TransportException::NOT_OPEN }
37
+ expect(::UNIXSocket).to receive(:new).and_raise(StandardError)
38
+ expect { @socket.open }.to raise_error(Thrift::TransportException) { |e| expect(e.type).to eq(Thrift::TransportException::NOT_OPEN) }
39
39
  end
40
40
 
41
41
  it "should accept an optional timeout" do
42
- ::UNIXSocket.stub!(:new)
43
- Thrift::UNIXSocket.new(@path, 5).timeout.should == 5
42
+ allow(::UNIXSocket).to receive(:new)
43
+ expect(Thrift::UNIXSocket.new(@path, 5).timeout).to eq(5)
44
+ end
45
+
46
+ it "should provide a reasonable to_s" do
47
+ allow(::UNIXSocket).to receive(:new)
48
+ expect(Thrift::UNIXSocket.new(@path).to_s).to eq("domain(#{@path})")
44
49
  end
45
50
  end
46
51
 
@@ -51,57 +56,61 @@ describe 'UNIXSocket' do
51
56
  end
52
57
 
53
58
  it "should create a handle when calling listen" do
54
- UNIXServer.should_receive(:new).with(@path)
59
+ expect(UNIXServer).to receive(:new).with(@path)
55
60
  @socket.listen
56
61
  end
57
62
 
58
63
  it "should create a Thrift::UNIXSocket to wrap accepted sockets" do
59
- handle = mock("UNIXServer")
60
- UNIXServer.should_receive(:new).with(@path).and_return(handle)
64
+ handle = double("UNIXServer")
65
+ expect(UNIXServer).to receive(:new).with(@path).and_return(handle)
61
66
  @socket.listen
62
- sock = mock("sock")
63
- handle.should_receive(:accept).and_return(sock)
64
- trans = mock("UNIXSocket")
65
- Thrift::UNIXSocket.should_receive(:new).and_return(trans)
66
- trans.should_receive(:handle=).with(sock)
67
- @socket.accept.should == trans
67
+ sock = double("sock")
68
+ expect(handle).to receive(:accept).and_return(sock)
69
+ trans = double("UNIXSocket")
70
+ expect(Thrift::UNIXSocket).to receive(:new).and_return(trans)
71
+ expect(trans).to receive(:handle=).with(sock)
72
+ expect(@socket.accept).to eq(trans)
68
73
  end
69
74
 
70
75
  it "should close the handle when closed" do
71
- handle = mock("UNIXServer", :closed? => false)
72
- UNIXServer.should_receive(:new).with(@path).and_return(handle)
76
+ handle = double("UNIXServer", :closed? => false)
77
+ expect(UNIXServer).to receive(:new).with(@path).and_return(handle)
73
78
  @socket.listen
74
- handle.should_receive(:close)
75
- File.stub!(:delete)
79
+ expect(handle).to receive(:close)
80
+ allow(File).to receive(:delete)
76
81
  @socket.close
77
82
  end
78
83
 
79
84
  it "should delete the socket when closed" do
80
- handle = mock("UNIXServer", :closed? => false)
81
- UNIXServer.should_receive(:new).with(@path).and_return(handle)
85
+ handle = double("UNIXServer", :closed? => false)
86
+ expect(UNIXServer).to receive(:new).with(@path).and_return(handle)
82
87
  @socket.listen
83
- handle.stub!(:close)
84
- File.should_receive(:delete).with(@path)
88
+ allow(handle).to receive(:close)
89
+ expect(File).to receive(:delete).with(@path)
85
90
  @socket.close
86
91
  end
87
92
 
88
93
  it "should return nil when accepting if there is no handle" do
89
- @socket.accept.should be_nil
94
+ expect(@socket.accept).to be_nil
90
95
  end
91
96
 
92
97
  it "should return true for closed? when appropriate" do
93
- handle = mock("UNIXServer", :closed? => false)
94
- UNIXServer.stub!(:new).and_return(handle)
95
- File.stub!(:delete)
98
+ handle = double("UNIXServer", :closed? => false)
99
+ allow(UNIXServer).to receive(:new).and_return(handle)
100
+ allow(File).to receive(:delete)
96
101
  @socket.listen
97
- @socket.should_not be_closed
98
- handle.stub!(:close)
102
+ expect(@socket).not_to be_closed
103
+ allow(handle).to receive(:close)
99
104
  @socket.close
100
- @socket.should be_closed
105
+ expect(@socket).to be_closed
101
106
  @socket.listen
102
- @socket.should_not be_closed
103
- handle.stub!(:closed?).and_return(true)
104
- @socket.should be_closed
107
+ expect(@socket).not_to be_closed
108
+ allow(handle).to receive(:closed?).and_return(true)
109
+ expect(@socket).to be_closed
110
+ end
111
+
112
+ it "should provide a reasonable to_s" do
113
+ expect(@socket.to_s).to eq("domain(#{@path})")
105
114
  end
106
115
  end
107
116
  end
metadata CHANGED
@@ -1,105 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thrift
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0.0
4
+ version: 0.14.2
5
5
  platform: ruby
6
6
  authors:
7
- - Thrift Developers
8
- autorequire:
7
+ - Apache Thrift Developers
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-13 00:00:00.000000000 Z
11
+ date: 2021-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rspec
14
+ name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.10.0
20
- - - "<"
19
+ version: '1.11'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
21
25
  - !ruby/object:Gem::Version
22
- version: 2.14.0
26
+ version: '1.11'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.11.3
23
34
  type: :development
24
35
  prerelease: false
25
36
  version_requirements: !ruby/object:Gem::Requirement
26
37
  requirements:
27
- - - ">="
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.11.3
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry-byebug
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
28
46
  - !ruby/object:Gem::Version
29
- version: 2.10.0
30
- - - "<"
47
+ version: '3.6'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
31
53
  - !ruby/object:Gem::Version
32
- version: 2.14.0
54
+ version: '3.6'
33
55
  - !ruby/object:Gem::Dependency
34
- name: rack
56
+ name: pry-stack_explorer
35
57
  requirement: !ruby/object:Gem::Requirement
36
58
  requirements:
37
59
  - - "~>"
38
60
  - !ruby/object:Gem::Version
39
- version: '1.5'
61
+ version: 0.4.9.2
40
62
  type: :development
41
63
  prerelease: false
42
64
  version_requirements: !ruby/object:Gem::Requirement
43
65
  requirements:
44
66
  - - "~>"
45
67
  - !ruby/object:Gem::Version
46
- version: '1.5'
68
+ version: 0.4.9.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: rack
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 2.0.8
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 2.0.8
47
83
  - !ruby/object:Gem::Dependency
48
84
  name: rack-test
49
85
  requirement: !ruby/object:Gem::Requirement
50
86
  requirements:
51
87
  - - "~>"
52
88
  - !ruby/object:Gem::Version
53
- version: '0.6'
89
+ version: 0.8.3
54
90
  type: :development
55
91
  prerelease: false
56
92
  version_requirements: !ruby/object:Gem::Requirement
57
93
  requirements:
58
94
  - - "~>"
59
95
  - !ruby/object:Gem::Version
60
- version: '0.6'
96
+ version: 0.8.3
61
97
  - !ruby/object:Gem::Dependency
62
- name: thin
98
+ name: rake
63
99
  requirement: !ruby/object:Gem::Requirement
64
100
  requirements:
65
101
  - - "~>"
66
102
  - !ruby/object:Gem::Version
67
- version: '1.5'
103
+ version: '12.3'
68
104
  type: :development
69
105
  prerelease: false
70
106
  version_requirements: !ruby/object:Gem::Requirement
71
107
  requirements:
72
108
  - - "~>"
73
109
  - !ruby/object:Gem::Version
74
- version: '1.5'
110
+ version: '12.3'
75
111
  - !ruby/object:Gem::Dependency
76
- name: bundler
112
+ name: rspec
77
113
  requirement: !ruby/object:Gem::Requirement
78
114
  requirements:
79
115
  - - "~>"
80
116
  - !ruby/object:Gem::Version
81
- version: '1'
117
+ version: '3.7'
82
118
  type: :development
83
119
  prerelease: false
84
120
  version_requirements: !ruby/object:Gem::Requirement
85
121
  requirements:
86
122
  - - "~>"
87
123
  - !ruby/object:Gem::Version
88
- version: '1'
124
+ version: '3.7'
89
125
  - !ruby/object:Gem::Dependency
90
- name: rake
126
+ name: thin
91
127
  requirement: !ruby/object:Gem::Requirement
92
128
  requirements:
93
129
  - - "~>"
94
130
  - !ruby/object:Gem::Version
95
- version: '10.5'
131
+ version: '1.7'
96
132
  type: :development
97
133
  prerelease: false
98
134
  version_requirements: !ruby/object:Gem::Requirement
99
135
  requirements:
100
136
  - - "~>"
101
137
  - !ruby/object:Gem::Version
102
- version: '10.5'
138
+ version: '1.7'
103
139
  description: Ruby bindings for the Apache Thrift RPC system
104
140
  email:
105
141
  - dev@thrift.apache.org
@@ -108,65 +144,65 @@ extensions:
108
144
  - ext/extconf.rb
109
145
  extra_rdoc_files:
110
146
  - README.md
111
- - ext/binary_protocol_accelerated.c
147
+ - ext/thrift_native.c
112
148
  - ext/bytes.c
113
- - ext/compact_protocol.c
114
- - ext/memory_buffer.c
115
149
  - ext/protocol.c
116
150
  - ext/strlcpy.c
151
+ - ext/memory_buffer.c
152
+ - ext/binary_protocol_accelerated.c
117
153
  - ext/struct.c
118
- - ext/thrift_native.c
119
- - ext/binary_protocol_accelerated.h
120
- - ext/bytes.h
121
- - ext/compact_protocol.h
154
+ - ext/compact_protocol.c
122
155
  - ext/constants.h
123
156
  - ext/macros.h
157
+ - ext/strlcpy.h
158
+ - ext/bytes.h
124
159
  - ext/memory_buffer.h
125
160
  - ext/protocol.h
126
- - ext/strlcpy.h
161
+ - ext/binary_protocol_accelerated.h
127
162
  - ext/struct.h
163
+ - ext/compact_protocol.h
128
164
  - ext/extconf.rb
129
- - lib/thrift/bytes.rb
130
- - lib/thrift/client.rb
131
- - lib/thrift/core_ext/fixnum.rb
132
- - lib/thrift/core_ext.rb
133
- - lib/thrift/exceptions.rb
134
- - lib/thrift/multiplexed_processor.rb
165
+ - lib/thrift/struct_union.rb
166
+ - lib/thrift/struct.rb
135
167
  - lib/thrift/processor.rb
136
- - lib/thrift/protocol/base_protocol.rb
137
- - lib/thrift/protocol/binary_protocol.rb
138
- - lib/thrift/protocol/binary_protocol_accelerated.rb
139
- - lib/thrift/protocol/compact_protocol.rb
140
168
  - lib/thrift/protocol/json_protocol.rb
141
169
  - lib/thrift/protocol/multiplexed_protocol.rb
142
170
  - lib/thrift/protocol/protocol_decorator.rb
143
- - lib/thrift/serializer/deserializer.rb
144
- - lib/thrift/serializer/serializer.rb
145
- - lib/thrift/server/base_server.rb
146
- - lib/thrift/server/mongrel_http_server.rb
147
- - lib/thrift/server/nonblocking_server.rb
148
- - lib/thrift/server/simple_server.rb
171
+ - lib/thrift/protocol/compact_protocol.rb
172
+ - lib/thrift/protocol/binary_protocol_accelerated.rb
173
+ - lib/thrift/protocol/binary_protocol.rb
174
+ - lib/thrift/protocol/base_protocol.rb
175
+ - lib/thrift/types.rb
176
+ - lib/thrift/thrift_native.rb
177
+ - lib/thrift/union.rb
178
+ - lib/thrift/bytes.rb
179
+ - lib/thrift/client.rb
180
+ - lib/thrift/multiplexed_processor.rb
149
181
  - lib/thrift/server/thin_http_server.rb
182
+ - lib/thrift/server/simple_server.rb
150
183
  - lib/thrift/server/thread_pool_server.rb
151
184
  - lib/thrift/server/threaded_server.rb
152
- - lib/thrift/struct.rb
153
- - lib/thrift/struct_union.rb
154
- - lib/thrift/thrift_native.rb
155
- - lib/thrift/transport/base_server_transport.rb
156
- - lib/thrift/transport/base_transport.rb
185
+ - lib/thrift/server/mongrel_http_server.rb
186
+ - lib/thrift/server/base_server.rb
187
+ - lib/thrift/server/nonblocking_server.rb
188
+ - lib/thrift/transport/ssl_socket.rb
189
+ - lib/thrift/transport/memory_buffer_transport.rb
157
190
  - lib/thrift/transport/buffered_transport.rb
191
+ - lib/thrift/transport/socket.rb
158
192
  - lib/thrift/transport/framed_transport.rb
159
193
  - lib/thrift/transport/http_client_transport.rb
160
- - lib/thrift/transport/io_stream_transport.rb
161
- - lib/thrift/transport/memory_buffer_transport.rb
162
- - lib/thrift/transport/server_socket.rb
163
- - lib/thrift/transport/socket.rb
194
+ - lib/thrift/transport/base_server_transport.rb
164
195
  - lib/thrift/transport/ssl_server_socket.rb
165
- - lib/thrift/transport/ssl_socket.rb
166
196
  - lib/thrift/transport/unix_server_socket.rb
197
+ - lib/thrift/transport/base_transport.rb
198
+ - lib/thrift/transport/io_stream_transport.rb
199
+ - lib/thrift/transport/server_socket.rb
167
200
  - lib/thrift/transport/unix_socket.rb
168
- - lib/thrift/types.rb
169
- - lib/thrift/union.rb
201
+ - lib/thrift/exceptions.rb
202
+ - lib/thrift/core_ext.rb
203
+ - lib/thrift/core_ext/fixnum.rb
204
+ - lib/thrift/serializer/deserializer.rb
205
+ - lib/thrift/serializer/serializer.rb
170
206
  - lib/thrift.rb
171
207
  files:
172
208
  - README.md
@@ -261,6 +297,7 @@ files:
261
297
  - spec/socket_spec.rb
262
298
  - spec/socket_spec_shared.rb
263
299
  - spec/spec_helper.rb
300
+ - spec/ssl_server_socket_spec.rb
264
301
  - spec/ssl_socket_spec.rb
265
302
  - spec/struct_nested_containers_spec.rb
266
303
  - spec/struct_spec.rb
@@ -270,9 +307,9 @@ files:
270
307
  - spec/unix_socket_spec.rb
271
308
  homepage: http://thrift.apache.org
272
309
  licenses:
273
- - Apache 2.0
310
+ - Apache-2.0
274
311
  metadata: {}
275
- post_install_message:
312
+ post_install_message:
276
313
  rdoc_options:
277
314
  - "--line-numbers"
278
315
  - "--inline-source"
@@ -295,47 +332,47 @@ required_rubygems_version: !ruby/object:Gem::Requirement
295
332
  version: '0'
296
333
  requirements: []
297
334
  rubyforge_project: thrift
298
- rubygems_version: 2.6.8
299
- signing_key:
335
+ rubygems_version: 2.7.6.2
336
+ signing_key:
300
337
  specification_version: 4
301
338
  summary: Ruby bindings for Apache Thrift
302
339
  test_files:
303
- - spec/base_protocol_spec.rb
304
- - spec/base_transport_spec.rb
305
- - spec/BaseService.thrift
340
+ - spec/types_spec.rb
341
+ - spec/union_spec.rb
342
+ - spec/ThriftSpec.thrift
343
+ - spec/spec_helper.rb
306
344
  - spec/binary_protocol_accelerated_spec.rb
307
- - spec/binary_protocol_spec.rb
308
- - spec/binary_protocol_spec_shared.rb
345
+ - spec/ssl_socket_spec.rb
346
+ - spec/http_client_spec.rb
347
+ - spec/flat_spec.rb
348
+ - spec/server_socket_spec.rb
309
349
  - spec/bytes_spec.rb
310
- - spec/client_spec.rb
311
- - spec/compact_protocol_spec.rb
350
+ - spec/binary_protocol_spec.rb
351
+ - spec/socket_spec.rb
352
+ - spec/struct_spec.rb
312
353
  - spec/exception_spec.rb
354
+ - spec/thin_http_server_spec.rb
355
+ - spec/BaseService.thrift
356
+ - spec/compact_protocol_spec.rb
357
+ - spec/namespaced_spec.rb
358
+ - spec/processor_spec.rb
359
+ - spec/ssl_server_socket_spec.rb
313
360
  - spec/ExtendedService.thrift
314
- - spec/flat_spec.rb
315
- - spec/http_client_spec.rb
361
+ - spec/binary_protocol_spec_shared.rb
362
+ - spec/struct_nested_containers_spec.rb
363
+ - spec/base_protocol_spec.rb
364
+ - spec/serializer_spec.rb
316
365
  - spec/json_protocol_spec.rb
317
- - spec/namespaced_spec.rb
366
+ - spec/base_transport_spec.rb
318
367
  - spec/nonblocking_server_spec.rb
319
- - spec/processor_spec.rb
320
368
  - spec/Referenced.thrift
321
- - spec/serializer_spec.rb
322
- - spec/server_socket_spec.rb
323
- - spec/server_spec.rb
324
- - spec/socket_spec.rb
369
+ - spec/unix_socket_spec.rb
325
370
  - spec/socket_spec_shared.rb
326
- - spec/spec_helper.rb
327
- - spec/ssl_socket_spec.rb
328
- - spec/struct_nested_containers_spec.rb
329
- - spec/struct_spec.rb
330
- - spec/thin_http_server_spec.rb
331
371
  - spec/ThriftNamespacedSpec.thrift
332
- - spec/ThriftSpec.thrift
333
- - spec/types_spec.rb
334
- - spec/union_spec.rb
335
- - spec/unix_socket_spec.rb
372
+ - spec/server_spec.rb
373
+ - spec/client_spec.rb
336
374
  - benchmark/benchmark.rb
337
- - benchmark/Benchmark.thrift
338
- - benchmark/client.rb
339
375
  - benchmark/server.rb
340
376
  - benchmark/thin_server.rb
341
- has_rdoc: true
377
+ - benchmark/client.rb
378
+ - benchmark/Benchmark.thrift