bunny 2.7.4 → 2.22.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +61 -35
  3. data/lib/bunny/channel.rb +186 -50
  4. data/lib/bunny/channel_id_allocator.rb +3 -1
  5. data/lib/bunny/consumer.rb +2 -2
  6. data/lib/bunny/consumer_work_pool.rb +2 -1
  7. data/lib/bunny/cruby/socket.rb +3 -0
  8. data/lib/bunny/cruby/ssl_socket.rb +6 -1
  9. data/lib/bunny/delivery_info.rb +1 -1
  10. data/lib/bunny/heartbeat_sender.rb +2 -1
  11. data/lib/bunny/jruby/ssl_socket.rb +5 -0
  12. data/lib/bunny/queue.rb +36 -8
  13. data/lib/bunny/reader_loop.rb +22 -10
  14. data/lib/bunny/session.rb +152 -65
  15. data/lib/bunny/test_kit.rb +14 -0
  16. data/lib/bunny/transport.rb +132 -49
  17. data/lib/bunny/version.rb +1 -1
  18. data/lib/bunny.rb +45 -4
  19. metadata +37 -225
  20. data/.github/ISSUE_TEMPLATE.md +0 -18
  21. data/.gitignore +0 -28
  22. data/.rspec +0 -1
  23. data/.travis.yml +0 -20
  24. data/.yardopts +0 -8
  25. data/CONTRIBUTING.md +0 -111
  26. data/ChangeLog.md +0 -1831
  27. data/Gemfile +0 -53
  28. data/LICENSE +0 -21
  29. data/Rakefile +0 -46
  30. data/benchmarks/basic_publish/with_128K_messages.rb +0 -35
  31. data/benchmarks/basic_publish/with_1k_messages.rb +0 -35
  32. data/benchmarks/basic_publish/with_4K_messages.rb +0 -35
  33. data/benchmarks/basic_publish/with_64K_messages.rb +0 -35
  34. data/benchmarks/channel_open.rb +0 -28
  35. data/benchmarks/mutex_and_monitor.rb +0 -42
  36. data/benchmarks/queue_declare.rb +0 -29
  37. data/benchmarks/queue_declare_and_bind.rb +0 -29
  38. data/benchmarks/queue_declare_bind_and_delete.rb +0 -29
  39. data/benchmarks/synchronized_sorted_set.rb +0 -53
  40. data/benchmarks/write_vs_write_nonblock.rb +0 -49
  41. data/bin/ci/before_build +0 -46
  42. data/bunny.gemspec +0 -35
  43. data/docker/Dockerfile +0 -16
  44. data/docker/docker-entrypoint.sh +0 -37
  45. data/docker-compose.yml +0 -18
  46. data/examples/connection/authentication_failure.rb +0 -16
  47. data/examples/connection/automatic_recovery_with_basic_get.rb +0 -40
  48. data/examples/connection/automatic_recovery_with_client_named_queues.rb +0 -36
  49. data/examples/connection/automatic_recovery_with_multiple_consumers.rb +0 -46
  50. data/examples/connection/automatic_recovery_with_republishing.rb +0 -109
  51. data/examples/connection/automatic_recovery_with_server_named_queues.rb +0 -35
  52. data/examples/connection/channel_level_exception.rb +0 -27
  53. data/examples/connection/disabled_automatic_recovery.rb +0 -34
  54. data/examples/connection/heartbeat.rb +0 -17
  55. data/examples/connection/manually_reconnecting_consumer.rb +0 -23
  56. data/examples/connection/manually_reconnecting_publisher.rb +0 -28
  57. data/examples/connection/unknown_host.rb +0 -16
  58. data/examples/consumers/high_and_low_priority.rb +0 -50
  59. data/examples/guides/exchanges/direct_exchange_routing.rb +0 -36
  60. data/examples/guides/exchanges/fanout_exchange_routing.rb +0 -28
  61. data/examples/guides/exchanges/headers_exchange_routing.rb +0 -31
  62. data/examples/guides/exchanges/mandatory_messages.rb +0 -30
  63. data/examples/guides/extensions/alternate_exchange.rb +0 -30
  64. data/examples/guides/extensions/basic_nack.rb +0 -33
  65. data/examples/guides/extensions/connection_blocked.rb +0 -35
  66. data/examples/guides/extensions/consumer_cancellation_notification.rb +0 -39
  67. data/examples/guides/extensions/dead_letter_exchange.rb +0 -32
  68. data/examples/guides/extensions/exchange_to_exchange_bindings.rb +0 -29
  69. data/examples/guides/extensions/per_message_ttl.rb +0 -36
  70. data/examples/guides/extensions/per_queue_message_ttl.rb +0 -36
  71. data/examples/guides/extensions/publisher_confirms.rb +0 -28
  72. data/examples/guides/extensions/queue_lease.rb +0 -26
  73. data/examples/guides/extensions/sender_selected_distribution.rb +0 -32
  74. data/examples/guides/getting_started/blabbr.rb +0 -27
  75. data/examples/guides/getting_started/hello_world.rb +0 -22
  76. data/examples/guides/getting_started/weathr.rb +0 -49
  77. data/examples/guides/queues/one_off_consumer.rb +0 -25
  78. data/examples/guides/queues/redeliveries.rb +0 -81
  79. data/profiling/basic_publish/with_4K_messages.rb +0 -33
  80. data/repl +0 -3
  81. data/spec/config/enabled_plugins +0 -1
  82. data/spec/config/rabbitmq.config +0 -19
  83. data/spec/higher_level_api/integration/basic_ack_spec.rb +0 -230
  84. data/spec/higher_level_api/integration/basic_cancel_spec.rb +0 -142
  85. data/spec/higher_level_api/integration/basic_consume_spec.rb +0 -349
  86. data/spec/higher_level_api/integration/basic_consume_with_objects_spec.rb +0 -54
  87. data/spec/higher_level_api/integration/basic_get_spec.rb +0 -80
  88. data/spec/higher_level_api/integration/basic_nack_spec.rb +0 -82
  89. data/spec/higher_level_api/integration/basic_publish_spec.rb +0 -74
  90. data/spec/higher_level_api/integration/basic_qos_spec.rb +0 -57
  91. data/spec/higher_level_api/integration/basic_reject_spec.rb +0 -152
  92. data/spec/higher_level_api/integration/basic_return_spec.rb +0 -33
  93. data/spec/higher_level_api/integration/channel_close_spec.rb +0 -25
  94. data/spec/higher_level_api/integration/channel_open_spec.rb +0 -57
  95. data/spec/higher_level_api/integration/connection_recovery_spec.rb +0 -471
  96. data/spec/higher_level_api/integration/connection_spec.rb +0 -559
  97. data/spec/higher_level_api/integration/connection_stop_spec.rb +0 -83
  98. data/spec/higher_level_api/integration/consumer_cancellation_notification_spec.rb +0 -128
  99. data/spec/higher_level_api/integration/dead_lettering_spec.rb +0 -75
  100. data/spec/higher_level_api/integration/exchange_bind_spec.rb +0 -31
  101. data/spec/higher_level_api/integration/exchange_declare_spec.rb +0 -237
  102. data/spec/higher_level_api/integration/exchange_delete_spec.rb +0 -105
  103. data/spec/higher_level_api/integration/exchange_unbind_spec.rb +0 -40
  104. data/spec/higher_level_api/integration/exclusive_queue_spec.rb +0 -28
  105. data/spec/higher_level_api/integration/heartbeat_spec.rb +0 -49
  106. data/spec/higher_level_api/integration/merry_go_round_spec.rb +0 -85
  107. data/spec/higher_level_api/integration/message_properties_access_spec.rb +0 -95
  108. data/spec/higher_level_api/integration/predeclared_exchanges_spec.rb +0 -24
  109. data/spec/higher_level_api/integration/publisher_confirms_spec.rb +0 -191
  110. data/spec/higher_level_api/integration/publishing_edge_cases_spec.rb +0 -87
  111. data/spec/higher_level_api/integration/queue_bind_spec.rb +0 -109
  112. data/spec/higher_level_api/integration/queue_declare_spec.rb +0 -221
  113. data/spec/higher_level_api/integration/queue_delete_spec.rb +0 -41
  114. data/spec/higher_level_api/integration/queue_purge_spec.rb +0 -30
  115. data/spec/higher_level_api/integration/queue_unbind_spec.rb +0 -54
  116. data/spec/higher_level_api/integration/read_only_consumer_spec.rb +0 -60
  117. data/spec/higher_level_api/integration/sender_selected_distribution_spec.rb +0 -36
  118. data/spec/higher_level_api/integration/tls_connection_spec.rb +0 -222
  119. data/spec/higher_level_api/integration/tx_commit_spec.rb +0 -21
  120. data/spec/higher_level_api/integration/tx_rollback_spec.rb +0 -21
  121. data/spec/higher_level_api/integration/with_channel_spec.rb +0 -25
  122. data/spec/issues/issue100_spec.rb +0 -42
  123. data/spec/issues/issue141_spec.rb +0 -43
  124. data/spec/issues/issue202_spec.rb +0 -15
  125. data/spec/issues/issue224_spec.rb +0 -40
  126. data/spec/issues/issue465_spec.rb +0 -32
  127. data/spec/issues/issue78_spec.rb +0 -72
  128. data/spec/issues/issue83_spec.rb +0 -30
  129. data/spec/issues/issue97_attachment.json +0 -1
  130. data/spec/issues/issue97_spec.rb +0 -175
  131. data/spec/lower_level_api/integration/basic_cancel_spec.rb +0 -83
  132. data/spec/lower_level_api/integration/basic_consume_spec.rb +0 -99
  133. data/spec/spec_helper.rb +0 -51
  134. data/spec/stress/channel_close_stress_spec.rb +0 -64
  135. data/spec/stress/channel_open_stress_spec.rb +0 -84
  136. data/spec/stress/channel_open_stress_with_single_threaded_connection_spec.rb +0 -28
  137. data/spec/stress/concurrent_consumers_stress_spec.rb +0 -71
  138. data/spec/stress/concurrent_publishers_stress_spec.rb +0 -54
  139. data/spec/stress/connection_open_close_spec.rb +0 -52
  140. data/spec/stress/long_running_consumer_spec.rb +0 -84
  141. data/spec/tls/ca_certificate.pem +0 -29
  142. data/spec/tls/ca_key.pem +0 -52
  143. data/spec/tls/client_certificate.pem +0 -29
  144. data/spec/tls/client_key.pem +0 -51
  145. data/spec/tls/generate-server-cert.sh +0 -8
  146. data/spec/tls/server-openssl.cnf +0 -10
  147. data/spec/tls/server.csr +0 -16
  148. data/spec/tls/server_certificate.pem +0 -29
  149. data/spec/tls/server_key.pem +0 -51
  150. data/spec/unit/bunny_spec.rb +0 -15
  151. data/spec/unit/concurrent/atomic_fixnum_spec.rb +0 -35
  152. data/spec/unit/concurrent/condition_spec.rb +0 -82
  153. data/spec/unit/concurrent/linked_continuation_queue_spec.rb +0 -35
  154. data/spec/unit/concurrent/synchronized_sorted_set_spec.rb +0 -73
  155. data/spec/unit/exchange_recovery_spec.rb +0 -39
  156. data/spec/unit/version_delivery_tag_spec.rb +0 -28
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bunny
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.4
4
+ version: 2.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Duncan
@@ -9,10 +9,10 @@ authors:
9
9
  - Jakub Stastny aka botanicus
10
10
  - Michael S. Klishin
11
11
  - Stefan Kaes
12
- autorequire:
12
+ autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2018-01-09 00:00:00.000000000 Z
15
+ date: 2023-06-12 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: amq-protocol
@@ -20,15 +20,41 @@ dependencies:
20
20
  requirements:
21
21
  - - "~>"
22
22
  - !ruby/object:Gem::Version
23
- version: 2.2.0
23
+ version: '2.3'
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.3.1
24
27
  type: :runtime
25
28
  prerelease: false
26
29
  version_requirements: !ruby/object:Gem::Requirement
27
30
  requirements:
28
31
  - - "~>"
29
32
  - !ruby/object:Gem::Version
30
- version: 2.2.0
31
- description: Easy to use, feature complete Ruby client for RabbitMQ 3.3 and later
33
+ version: '2.3'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 2.3.1
37
+ - !ruby/object:Gem::Dependency
38
+ name: sorted_set
39
+ requirement: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '1'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.0.2
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 1.0.2
57
+ description: Easy to use, feature complete Ruby client for RabbitMQ 3.9 and later
32
58
  versions.
33
59
  email:
34
60
  - michael.s.klishin@gmail.com
@@ -37,66 +63,7 @@ extensions: []
37
63
  extra_rdoc_files:
38
64
  - README.md
39
65
  files:
40
- - ".github/ISSUE_TEMPLATE.md"
41
- - ".gitignore"
42
- - ".rspec"
43
- - ".travis.yml"
44
- - ".yardopts"
45
- - CONTRIBUTING.md
46
- - ChangeLog.md
47
- - Gemfile
48
- - LICENSE
49
66
  - README.md
50
- - Rakefile
51
- - benchmarks/basic_publish/with_128K_messages.rb
52
- - benchmarks/basic_publish/with_1k_messages.rb
53
- - benchmarks/basic_publish/with_4K_messages.rb
54
- - benchmarks/basic_publish/with_64K_messages.rb
55
- - benchmarks/channel_open.rb
56
- - benchmarks/mutex_and_monitor.rb
57
- - benchmarks/queue_declare.rb
58
- - benchmarks/queue_declare_and_bind.rb
59
- - benchmarks/queue_declare_bind_and_delete.rb
60
- - benchmarks/synchronized_sorted_set.rb
61
- - benchmarks/write_vs_write_nonblock.rb
62
- - bin/ci/before_build
63
- - bunny.gemspec
64
- - docker-compose.yml
65
- - docker/Dockerfile
66
- - docker/docker-entrypoint.sh
67
- - examples/connection/authentication_failure.rb
68
- - examples/connection/automatic_recovery_with_basic_get.rb
69
- - examples/connection/automatic_recovery_with_client_named_queues.rb
70
- - examples/connection/automatic_recovery_with_multiple_consumers.rb
71
- - examples/connection/automatic_recovery_with_republishing.rb
72
- - examples/connection/automatic_recovery_with_server_named_queues.rb
73
- - examples/connection/channel_level_exception.rb
74
- - examples/connection/disabled_automatic_recovery.rb
75
- - examples/connection/heartbeat.rb
76
- - examples/connection/manually_reconnecting_consumer.rb
77
- - examples/connection/manually_reconnecting_publisher.rb
78
- - examples/connection/unknown_host.rb
79
- - examples/consumers/high_and_low_priority.rb
80
- - examples/guides/exchanges/direct_exchange_routing.rb
81
- - examples/guides/exchanges/fanout_exchange_routing.rb
82
- - examples/guides/exchanges/headers_exchange_routing.rb
83
- - examples/guides/exchanges/mandatory_messages.rb
84
- - examples/guides/extensions/alternate_exchange.rb
85
- - examples/guides/extensions/basic_nack.rb
86
- - examples/guides/extensions/connection_blocked.rb
87
- - examples/guides/extensions/consumer_cancellation_notification.rb
88
- - examples/guides/extensions/dead_letter_exchange.rb
89
- - examples/guides/extensions/exchange_to_exchange_bindings.rb
90
- - examples/guides/extensions/per_message_ttl.rb
91
- - examples/guides/extensions/per_queue_message_ttl.rb
92
- - examples/guides/extensions/publisher_confirms.rb
93
- - examples/guides/extensions/queue_lease.rb
94
- - examples/guides/extensions/sender_selected_distribution.rb
95
- - examples/guides/getting_started/blabbr.rb
96
- - examples/guides/getting_started/hello_world.rb
97
- - examples/guides/getting_started/weathr.rb
98
- - examples/guides/queues/one_off_consumer.rb
99
- - examples/guides/queues/redeliveries.rb
100
67
  - lib/amq/protocol/extensions.rb
101
68
  - lib/bunny.rb
102
69
  - lib/bunny/authentication/credentials_encoder.rb
@@ -134,89 +101,11 @@ files:
134
101
  - lib/bunny/transport.rb
135
102
  - lib/bunny/version.rb
136
103
  - lib/bunny/versioned_delivery_tag.rb
137
- - profiling/basic_publish/with_4K_messages.rb
138
- - repl
139
- - spec/config/enabled_plugins
140
- - spec/config/rabbitmq.config
141
- - spec/higher_level_api/integration/basic_ack_spec.rb
142
- - spec/higher_level_api/integration/basic_cancel_spec.rb
143
- - spec/higher_level_api/integration/basic_consume_spec.rb
144
- - spec/higher_level_api/integration/basic_consume_with_objects_spec.rb
145
- - spec/higher_level_api/integration/basic_get_spec.rb
146
- - spec/higher_level_api/integration/basic_nack_spec.rb
147
- - spec/higher_level_api/integration/basic_publish_spec.rb
148
- - spec/higher_level_api/integration/basic_qos_spec.rb
149
- - spec/higher_level_api/integration/basic_reject_spec.rb
150
- - spec/higher_level_api/integration/basic_return_spec.rb
151
- - spec/higher_level_api/integration/channel_close_spec.rb
152
- - spec/higher_level_api/integration/channel_open_spec.rb
153
- - spec/higher_level_api/integration/connection_recovery_spec.rb
154
- - spec/higher_level_api/integration/connection_spec.rb
155
- - spec/higher_level_api/integration/connection_stop_spec.rb
156
- - spec/higher_level_api/integration/consumer_cancellation_notification_spec.rb
157
- - spec/higher_level_api/integration/dead_lettering_spec.rb
158
- - spec/higher_level_api/integration/exchange_bind_spec.rb
159
- - spec/higher_level_api/integration/exchange_declare_spec.rb
160
- - spec/higher_level_api/integration/exchange_delete_spec.rb
161
- - spec/higher_level_api/integration/exchange_unbind_spec.rb
162
- - spec/higher_level_api/integration/exclusive_queue_spec.rb
163
- - spec/higher_level_api/integration/heartbeat_spec.rb
164
- - spec/higher_level_api/integration/merry_go_round_spec.rb
165
- - spec/higher_level_api/integration/message_properties_access_spec.rb
166
- - spec/higher_level_api/integration/predeclared_exchanges_spec.rb
167
- - spec/higher_level_api/integration/publisher_confirms_spec.rb
168
- - spec/higher_level_api/integration/publishing_edge_cases_spec.rb
169
- - spec/higher_level_api/integration/queue_bind_spec.rb
170
- - spec/higher_level_api/integration/queue_declare_spec.rb
171
- - spec/higher_level_api/integration/queue_delete_spec.rb
172
- - spec/higher_level_api/integration/queue_purge_spec.rb
173
- - spec/higher_level_api/integration/queue_unbind_spec.rb
174
- - spec/higher_level_api/integration/read_only_consumer_spec.rb
175
- - spec/higher_level_api/integration/sender_selected_distribution_spec.rb
176
- - spec/higher_level_api/integration/tls_connection_spec.rb
177
- - spec/higher_level_api/integration/tx_commit_spec.rb
178
- - spec/higher_level_api/integration/tx_rollback_spec.rb
179
- - spec/higher_level_api/integration/with_channel_spec.rb
180
- - spec/issues/issue100_spec.rb
181
- - spec/issues/issue141_spec.rb
182
- - spec/issues/issue202_spec.rb
183
- - spec/issues/issue224_spec.rb
184
- - spec/issues/issue465_spec.rb
185
- - spec/issues/issue78_spec.rb
186
- - spec/issues/issue83_spec.rb
187
- - spec/issues/issue97_attachment.json
188
- - spec/issues/issue97_spec.rb
189
- - spec/lower_level_api/integration/basic_cancel_spec.rb
190
- - spec/lower_level_api/integration/basic_consume_spec.rb
191
- - spec/spec_helper.rb
192
- - spec/stress/channel_close_stress_spec.rb
193
- - spec/stress/channel_open_stress_spec.rb
194
- - spec/stress/channel_open_stress_with_single_threaded_connection_spec.rb
195
- - spec/stress/concurrent_consumers_stress_spec.rb
196
- - spec/stress/concurrent_publishers_stress_spec.rb
197
- - spec/stress/connection_open_close_spec.rb
198
- - spec/stress/long_running_consumer_spec.rb
199
- - spec/tls/ca_certificate.pem
200
- - spec/tls/ca_key.pem
201
- - spec/tls/client_certificate.pem
202
- - spec/tls/client_key.pem
203
- - spec/tls/generate-server-cert.sh
204
- - spec/tls/server-openssl.cnf
205
- - spec/tls/server.csr
206
- - spec/tls/server_certificate.pem
207
- - spec/tls/server_key.pem
208
- - spec/unit/bunny_spec.rb
209
- - spec/unit/concurrent/atomic_fixnum_spec.rb
210
- - spec/unit/concurrent/condition_spec.rb
211
- - spec/unit/concurrent/linked_continuation_queue_spec.rb
212
- - spec/unit/concurrent/synchronized_sorted_set_spec.rb
213
- - spec/unit/exchange_recovery_spec.rb
214
- - spec/unit/version_delivery_tag_spec.rb
215
104
  homepage: http://rubybunny.info
216
105
  licenses:
217
106
  - MIT
218
107
  metadata: {}
219
- post_install_message:
108
+ post_install_message:
220
109
  rdoc_options: []
221
110
  require_paths:
222
111
  - lib
@@ -224,92 +113,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
224
113
  requirements:
225
114
  - - ">="
226
115
  - !ruby/object:Gem::Version
227
- version: '2.0'
116
+ version: '2.5'
228
117
  required_rubygems_version: !ruby/object:Gem::Requirement
229
118
  requirements:
230
119
  - - ">="
231
120
  - !ruby/object:Gem::Version
232
121
  version: '0'
233
122
  requirements: []
234
- rubyforge_project:
235
- rubygems_version: 2.6.13
236
- signing_key:
123
+ rubygems_version: 3.5.0.dev
124
+ signing_key:
237
125
  specification_version: 4
238
126
  summary: Popular easy to use Ruby client for RabbitMQ
239
- test_files:
240
- - spec/config/enabled_plugins
241
- - spec/config/rabbitmq.config
242
- - spec/higher_level_api/integration/basic_ack_spec.rb
243
- - spec/higher_level_api/integration/basic_cancel_spec.rb
244
- - spec/higher_level_api/integration/basic_consume_spec.rb
245
- - spec/higher_level_api/integration/basic_consume_with_objects_spec.rb
246
- - spec/higher_level_api/integration/basic_get_spec.rb
247
- - spec/higher_level_api/integration/basic_nack_spec.rb
248
- - spec/higher_level_api/integration/basic_publish_spec.rb
249
- - spec/higher_level_api/integration/basic_qos_spec.rb
250
- - spec/higher_level_api/integration/basic_reject_spec.rb
251
- - spec/higher_level_api/integration/basic_return_spec.rb
252
- - spec/higher_level_api/integration/channel_close_spec.rb
253
- - spec/higher_level_api/integration/channel_open_spec.rb
254
- - spec/higher_level_api/integration/connection_recovery_spec.rb
255
- - spec/higher_level_api/integration/connection_spec.rb
256
- - spec/higher_level_api/integration/connection_stop_spec.rb
257
- - spec/higher_level_api/integration/consumer_cancellation_notification_spec.rb
258
- - spec/higher_level_api/integration/dead_lettering_spec.rb
259
- - spec/higher_level_api/integration/exchange_bind_spec.rb
260
- - spec/higher_level_api/integration/exchange_declare_spec.rb
261
- - spec/higher_level_api/integration/exchange_delete_spec.rb
262
- - spec/higher_level_api/integration/exchange_unbind_spec.rb
263
- - spec/higher_level_api/integration/exclusive_queue_spec.rb
264
- - spec/higher_level_api/integration/heartbeat_spec.rb
265
- - spec/higher_level_api/integration/merry_go_round_spec.rb
266
- - spec/higher_level_api/integration/message_properties_access_spec.rb
267
- - spec/higher_level_api/integration/predeclared_exchanges_spec.rb
268
- - spec/higher_level_api/integration/publisher_confirms_spec.rb
269
- - spec/higher_level_api/integration/publishing_edge_cases_spec.rb
270
- - spec/higher_level_api/integration/queue_bind_spec.rb
271
- - spec/higher_level_api/integration/queue_declare_spec.rb
272
- - spec/higher_level_api/integration/queue_delete_spec.rb
273
- - spec/higher_level_api/integration/queue_purge_spec.rb
274
- - spec/higher_level_api/integration/queue_unbind_spec.rb
275
- - spec/higher_level_api/integration/read_only_consumer_spec.rb
276
- - spec/higher_level_api/integration/sender_selected_distribution_spec.rb
277
- - spec/higher_level_api/integration/tls_connection_spec.rb
278
- - spec/higher_level_api/integration/tx_commit_spec.rb
279
- - spec/higher_level_api/integration/tx_rollback_spec.rb
280
- - spec/higher_level_api/integration/with_channel_spec.rb
281
- - spec/issues/issue100_spec.rb
282
- - spec/issues/issue141_spec.rb
283
- - spec/issues/issue202_spec.rb
284
- - spec/issues/issue224_spec.rb
285
- - spec/issues/issue465_spec.rb
286
- - spec/issues/issue78_spec.rb
287
- - spec/issues/issue83_spec.rb
288
- - spec/issues/issue97_attachment.json
289
- - spec/issues/issue97_spec.rb
290
- - spec/lower_level_api/integration/basic_cancel_spec.rb
291
- - spec/lower_level_api/integration/basic_consume_spec.rb
292
- - spec/spec_helper.rb
293
- - spec/stress/channel_close_stress_spec.rb
294
- - spec/stress/channel_open_stress_spec.rb
295
- - spec/stress/channel_open_stress_with_single_threaded_connection_spec.rb
296
- - spec/stress/concurrent_consumers_stress_spec.rb
297
- - spec/stress/concurrent_publishers_stress_spec.rb
298
- - spec/stress/connection_open_close_spec.rb
299
- - spec/stress/long_running_consumer_spec.rb
300
- - spec/tls/ca_certificate.pem
301
- - spec/tls/ca_key.pem
302
- - spec/tls/client_certificate.pem
303
- - spec/tls/client_key.pem
304
- - spec/tls/generate-server-cert.sh
305
- - spec/tls/server-openssl.cnf
306
- - spec/tls/server.csr
307
- - spec/tls/server_certificate.pem
308
- - spec/tls/server_key.pem
309
- - spec/unit/bunny_spec.rb
310
- - spec/unit/concurrent/atomic_fixnum_spec.rb
311
- - spec/unit/concurrent/condition_spec.rb
312
- - spec/unit/concurrent/linked_continuation_queue_spec.rb
313
- - spec/unit/concurrent/synchronized_sorted_set_spec.rb
314
- - spec/unit/exchange_recovery_spec.rb
315
- - spec/unit/version_delivery_tag_spec.rb
127
+ test_files: []
@@ -1,18 +0,0 @@
1
- ## Does This Really Belong to GitHub issues?
2
-
3
- If you find a bug you understand well, poor default, incorrect or unclear piece of documentation,
4
- or missing feature, please [file an
5
- issue](http://github.com/ruby-amqp/bunny/issues) on GitHub.
6
-
7
- Please use [Bunny's mailing list](http://groups.google.com/group/ruby-amqp) for questions,
8
- investigations, and discussions. GitHub issues should be used for specific, well understood, actionable
9
- maintainers and contributors can work on.
10
-
11
- When filing an issue, please specify
12
-
13
- * Which Bunny and RabbitMQ versions are used
14
- * Recent RabbitMQ log file contents
15
- * Full exception stack traces
16
- * Steps to reproduce or a failing test case
17
-
18
- This would greatly help the maintainers help you.
data/.gitignore DELETED
@@ -1,28 +0,0 @@
1
- .DS_Store
2
- .*.swp
3
- *.class
4
- *.rbc
5
- *.gem
6
- /doc/
7
- .yardoc
8
- .rvmrc
9
- Gemfile.lock
10
- .rbx/*
11
- .tags
12
- .tags_sorted_by_file
13
- .Apple*
14
- bin/*
15
- .bundle/*
16
- vendor/*
17
- playground/*
18
- *.org
19
- repl-*
20
- debug/*
21
- *.dump
22
- deploy.docs.sh
23
- .ruby-version
24
- .idea
25
- *.srl
26
- spec/tls/*.pem
27
- spec/tls/*.pem~
28
- spec/tls/*.p12
data/.rspec DELETED
@@ -1 +0,0 @@
1
- -c -fp
data/.travis.yml DELETED
@@ -1,20 +0,0 @@
1
- language: ruby
2
- bundler_args: --without development
3
- cache: bundler
4
- before_script: "./bin/ci/before_build"
5
- script: "bundle exec rake integration_without_recovery"
6
- rvm:
7
- - ruby-head
8
- - "2.4.1"
9
- - "2.3.4"
10
- - "2.2.7"
11
- notifications:
12
- email: michael@rabbitmq.com
13
- services:
14
- - rabbitmq
15
- branches:
16
- only:
17
- - master
18
- - 2.6.x-stable
19
- env:
20
- - CI=true
data/.yardopts DELETED
@@ -1,8 +0,0 @@
1
- --no-private
2
- --protected
3
- --markup="markdown" lib/**/*.rb
4
- --main README.md
5
- --hide-tag todo
6
- -
7
- LICENSE
8
- ChangeLog.md
data/CONTRIBUTING.md DELETED
@@ -1,111 +0,0 @@
1
- ## Overview
2
-
3
- This project **does not** use GitHub issues for questions, investigations, discussions, and so on.
4
- Issues are appropriate for something specific enough for a maintainer or contributor to work on:
5
-
6
- * There should be enough information to reproduce the behavior observed in a reasonable amount of time
7
- * It should be reasonably clear why the behavior should be changed and why this cannot or should not be addressed
8
- in application code, a separate library and so on
9
-
10
- All issues that do not satisfy the above properties belong to the [Ruby RabbitMQ clients mailing list](http://groups.google.com/forum/#!forum/ruby-amqp). Pull request that do not satisfy them have a high chance
11
- of being closed.
12
-
13
- ## Submitting a Pull Request
14
-
15
- Please read the sections below to get an idea about how to run Bunny test suites first. Successfully
16
- running all tests, at least with `CI` environment variable exported to `true`, is an important
17
- first step for any contributor.
18
-
19
- Once you have a passing test suite, create a branch and make your changes on it.
20
- When you are done with your changes and all
21
- tests pass, write a [good, detailed commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) submit a pull request on GitHub.
22
-
23
- ## Pre-requisites
24
-
25
- The project uses Bundler for dependency management and requires RabbitMQ `3.5+` to be running
26
- locally with the `rabbitmq-management` and `rabbitmq_consistent_hash_exchange` plugins enabled.
27
-
28
- ### Running the Specs
29
-
30
- The specs require RabbitMQ to be running locally with a specific set of vhosts
31
- and users. RabbitMQ can be provisioned and started any way that's convenient to you
32
- as long as it has a suitable TLS keys configuration and management plugin enabled.
33
- Make sure you have a recent version of RabbitMQ (> `3.5.3`).
34
-
35
- You can also start a clean RabbitMQ server
36
- node on your machine specifically for the bunny specs.
37
- This can be done either by using a locally installed RabbitMQ server or by
38
- running a RabbitMQ server in a Docker container.
39
-
40
- #### Using a locally installed RabbitMQ server
41
-
42
- Run the following command from the base directory of the gem:
43
-
44
- ```
45
- RABBITMQ_NODENAME=bunny RABBITMQ_CONFIG_FILE=./spec/config/rabbitmq RABBITMQ_ENABLED_PLUGINS_FILE=./spec/config/enabled_plugins rabbitmq-server
46
- ```
47
-
48
- The specs use the RabbitMQ management plugin and require a TLS port to
49
- be available. The config files in the spec/config directory enable
50
- these. TLS (x509 PEM) certificates include a hostname-specific fields,
51
- the tests allow for expecting hostname overriding using the `BUNNY_RABBITMQ_HOSTNAME`
52
- environment variables (default value is `127.0.0.1`).
53
-
54
- Server, CA and client certificates can be found under `spec/tls`.
55
- The location can be overridden via the `BUNNY_CERTIFICATE_DIR` environment variable.
56
- It is supposed to target [tls-gen](https://github.com/michaelklishin/tls-gen)'s basic profile
57
- output (result) directory on the host where specs are to be executed.
58
-
59
- Next up you'll need to prepare your node for the specs (just once):
60
-
61
- ```
62
- RABBITMQ_NODENAME=bunny ./bin/ci/before_build
63
- ```
64
-
65
- The script uses `rabbitmqctl` and `rabbitmq-plugins`
66
- to set up RabbitMQ in a way that Bunny test suites expect. Two environment variables,
67
- `RABBITMQCTL` and `RABBITMQ_PLUGINS`, are available to control what `rabbitmqctl` and
68
- `rabbitmq-plugins` commands will be used. By default they are taken from `PATH`
69
- and prefixed with `sudo`.
70
-
71
- And then run the core integration suite:
72
-
73
- ```
74
- RABBITMQ_NODENAME=bunny CI=true rspec
75
- ```
76
-
77
- #### Running a RabbitMQ server in a Docker container
78
-
79
- First off you have to [install Docker Compose](https://docker.github.io/compose/install/) (and by proxy Docker).
80
- Version >= 1.6.0+ is required for compose version 2 syntax.
81
-
82
- After those have been installed (and the `docker-compose` command is available on your command line path), run
83
-
84
- ```
85
- docker-compose up
86
- ```
87
-
88
- The first time you do this, it will take some time, since it has to download everything it needs
89
- to build the Docker image.
90
-
91
- The RabbitMQ server will run in the foreground in the terminal where you started it. You can stop
92
- it by pressing CTRL+C. If you want to run it in the background, run `docker-compose up -d`.
93
-
94
- ### Running Test Suites
95
-
96
- Prior to running the tests, configure the RabbitMQ permissions by running `./bin/ci/before_build`
97
- if you have RabbitMQ locally installed, if you are running RabbitMQ via Docker as above this step
98
- is not required as the setup is baked in.
99
-
100
- Make sure you have those two installed and then run integration tests:
101
-
102
- bundle install
103
- rake integration
104
-
105
- It is possible to run all tests:
106
-
107
- bundle exec rspec -c
108
-
109
- It is possible to run only integration and regression tests but exclude unit and stress tests:
110
-
111
- CI=true bundle exec rspec -c spec/higher_level_api/ spec/lower_level_api spec/issues && bundle exec rspec -c spec/higher_level_api/integration/connection_recovery_spec.rb