bunny 2.14.2 → 2.22.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 (155) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +56 -39
  3. data/lib/bunny/channel.rb +89 -13
  4. data/lib/bunny/consumer.rb +2 -2
  5. data/lib/bunny/consumer_work_pool.rb +1 -1
  6. data/lib/bunny/cruby/socket.rb +3 -0
  7. data/lib/bunny/delivery_info.rb +1 -1
  8. data/lib/bunny/queue.rb +36 -5
  9. data/lib/bunny/reader_loop.rb +21 -13
  10. data/lib/bunny/session.rb +83 -25
  11. data/lib/bunny/transport.rb +49 -12
  12. data/lib/bunny/version.rb +1 -1
  13. data/lib/bunny.rb +45 -4
  14. metadata +37 -235
  15. data/.github/ISSUE_TEMPLATE.md +0 -18
  16. data/.gitignore +0 -28
  17. data/.rspec +0 -1
  18. data/.travis.yml +0 -31
  19. data/.yardopts +0 -8
  20. data/CONTRIBUTING.md +0 -132
  21. data/ChangeLog.md +0 -2072
  22. data/Gemfile +0 -55
  23. data/LICENSE +0 -21
  24. data/Rakefile +0 -54
  25. data/benchmarks/basic_publish/with_128K_messages.rb +0 -35
  26. data/benchmarks/basic_publish/with_1k_messages.rb +0 -35
  27. data/benchmarks/basic_publish/with_4K_messages.rb +0 -35
  28. data/benchmarks/basic_publish/with_64K_messages.rb +0 -35
  29. data/benchmarks/channel_open.rb +0 -28
  30. data/benchmarks/mutex_and_monitor.rb +0 -42
  31. data/benchmarks/queue_declare.rb +0 -29
  32. data/benchmarks/queue_declare_and_bind.rb +0 -29
  33. data/benchmarks/queue_declare_bind_and_delete.rb +0 -29
  34. data/benchmarks/synchronized_sorted_set.rb +0 -53
  35. data/benchmarks/write_vs_write_nonblock.rb +0 -49
  36. data/bunny.gemspec +0 -34
  37. data/docker/Dockerfile +0 -20
  38. data/docker/apt/preferences.d/erlang +0 -3
  39. data/docker/apt/sources.list.d/bintray.rabbitmq.list +0 -2
  40. data/docker/docker-entrypoint.sh +0 -26
  41. data/docker/rabbitmq.conf +0 -29
  42. data/docker-compose.yml +0 -28
  43. data/examples/connection/authentication_failure.rb +0 -16
  44. data/examples/connection/automatic_recovery_with_basic_get.rb +0 -40
  45. data/examples/connection/automatic_recovery_with_client_named_queues.rb +0 -36
  46. data/examples/connection/automatic_recovery_with_multiple_consumers.rb +0 -46
  47. data/examples/connection/automatic_recovery_with_republishing.rb +0 -109
  48. data/examples/connection/automatic_recovery_with_server_named_queues.rb +0 -35
  49. data/examples/connection/channel_level_exception.rb +0 -27
  50. data/examples/connection/disabled_automatic_recovery.rb +0 -34
  51. data/examples/connection/heartbeat.rb +0 -17
  52. data/examples/connection/manually_reconnecting_consumer.rb +0 -23
  53. data/examples/connection/manually_reconnecting_publisher.rb +0 -28
  54. data/examples/connection/unknown_host.rb +0 -16
  55. data/examples/consumers/high_and_low_priority.rb +0 -50
  56. data/examples/guides/exchanges/direct_exchange_routing.rb +0 -36
  57. data/examples/guides/exchanges/fanout_exchange_routing.rb +0 -28
  58. data/examples/guides/exchanges/headers_exchange_routing.rb +0 -31
  59. data/examples/guides/exchanges/mandatory_messages.rb +0 -30
  60. data/examples/guides/extensions/alternate_exchange.rb +0 -30
  61. data/examples/guides/extensions/basic_nack.rb +0 -33
  62. data/examples/guides/extensions/connection_blocked.rb +0 -35
  63. data/examples/guides/extensions/consumer_cancellation_notification.rb +0 -39
  64. data/examples/guides/extensions/dead_letter_exchange.rb +0 -32
  65. data/examples/guides/extensions/exchange_to_exchange_bindings.rb +0 -29
  66. data/examples/guides/extensions/per_message_ttl.rb +0 -36
  67. data/examples/guides/extensions/per_queue_message_ttl.rb +0 -36
  68. data/examples/guides/extensions/publisher_confirms.rb +0 -28
  69. data/examples/guides/extensions/queue_lease.rb +0 -26
  70. data/examples/guides/extensions/sender_selected_distribution.rb +0 -32
  71. data/examples/guides/getting_started/blabbr.rb +0 -27
  72. data/examples/guides/getting_started/hello_world.rb +0 -22
  73. data/examples/guides/getting_started/weathr.rb +0 -49
  74. data/examples/guides/queues/one_off_consumer.rb +0 -25
  75. data/examples/guides/queues/redeliveries.rb +0 -81
  76. data/profiling/basic_publish/with_4K_messages.rb +0 -33
  77. data/repl +0 -3
  78. data/spec/config/enabled_plugins +0 -1
  79. data/spec/config/rabbitmq.conf +0 -13
  80. data/spec/higher_level_api/integration/basic_ack_spec.rb +0 -230
  81. data/spec/higher_level_api/integration/basic_cancel_spec.rb +0 -142
  82. data/spec/higher_level_api/integration/basic_consume_spec.rb +0 -349
  83. data/spec/higher_level_api/integration/basic_consume_with_objects_spec.rb +0 -54
  84. data/spec/higher_level_api/integration/basic_get_spec.rb +0 -80
  85. data/spec/higher_level_api/integration/basic_nack_spec.rb +0 -82
  86. data/spec/higher_level_api/integration/basic_publish_spec.rb +0 -74
  87. data/spec/higher_level_api/integration/basic_qos_spec.rb +0 -57
  88. data/spec/higher_level_api/integration/basic_reject_spec.rb +0 -152
  89. data/spec/higher_level_api/integration/basic_return_spec.rb +0 -33
  90. data/spec/higher_level_api/integration/channel_close_spec.rb +0 -66
  91. data/spec/higher_level_api/integration/channel_open_spec.rb +0 -57
  92. data/spec/higher_level_api/integration/connection_recovery_spec.rb +0 -483
  93. data/spec/higher_level_api/integration/connection_spec.rb +0 -563
  94. data/spec/higher_level_api/integration/connection_stop_spec.rb +0 -83
  95. data/spec/higher_level_api/integration/consumer_cancellation_notification_spec.rb +0 -128
  96. data/spec/higher_level_api/integration/dead_lettering_spec.rb +0 -75
  97. data/spec/higher_level_api/integration/exchange_bind_spec.rb +0 -31
  98. data/spec/higher_level_api/integration/exchange_declare_spec.rb +0 -237
  99. data/spec/higher_level_api/integration/exchange_delete_spec.rb +0 -105
  100. data/spec/higher_level_api/integration/exchange_unbind_spec.rb +0 -40
  101. data/spec/higher_level_api/integration/exclusive_queue_spec.rb +0 -28
  102. data/spec/higher_level_api/integration/heartbeat_spec.rb +0 -49
  103. data/spec/higher_level_api/integration/message_properties_access_spec.rb +0 -95
  104. data/spec/higher_level_api/integration/predeclared_exchanges_spec.rb +0 -24
  105. data/spec/higher_level_api/integration/publisher_confirms_spec.rb +0 -191
  106. data/spec/higher_level_api/integration/publishing_edge_cases_spec.rb +0 -87
  107. data/spec/higher_level_api/integration/queue_bind_spec.rb +0 -109
  108. data/spec/higher_level_api/integration/queue_declare_spec.rb +0 -285
  109. data/spec/higher_level_api/integration/queue_delete_spec.rb +0 -41
  110. data/spec/higher_level_api/integration/queue_purge_spec.rb +0 -30
  111. data/spec/higher_level_api/integration/queue_unbind_spec.rb +0 -54
  112. data/spec/higher_level_api/integration/read_only_consumer_spec.rb +0 -60
  113. data/spec/higher_level_api/integration/sender_selected_distribution_spec.rb +0 -36
  114. data/spec/higher_level_api/integration/tls_connection_spec.rb +0 -250
  115. data/spec/higher_level_api/integration/toxiproxy_spec.rb +0 -76
  116. data/spec/higher_level_api/integration/tx_commit_spec.rb +0 -21
  117. data/spec/higher_level_api/integration/tx_rollback_spec.rb +0 -21
  118. data/spec/higher_level_api/integration/with_channel_spec.rb +0 -25
  119. data/spec/issues/issue100_spec.rb +0 -42
  120. data/spec/issues/issue141_spec.rb +0 -43
  121. data/spec/issues/issue202_spec.rb +0 -15
  122. data/spec/issues/issue224_spec.rb +0 -40
  123. data/spec/issues/issue465_spec.rb +0 -32
  124. data/spec/issues/issue549_spec.rb +0 -30
  125. data/spec/issues/issue78_spec.rb +0 -72
  126. data/spec/issues/issue83_spec.rb +0 -30
  127. data/spec/issues/issue97_attachment.json +0 -1
  128. data/spec/issues/issue97_spec.rb +0 -175
  129. data/spec/lower_level_api/integration/basic_cancel_spec.rb +0 -83
  130. data/spec/lower_level_api/integration/basic_consume_spec.rb +0 -99
  131. data/spec/spec_helper.rb +0 -47
  132. data/spec/stress/channel_close_stress_spec.rb +0 -64
  133. data/spec/stress/channel_open_stress_spec.rb +0 -84
  134. data/spec/stress/channel_open_stress_with_single_threaded_connection_spec.rb +0 -28
  135. data/spec/stress/concurrent_consumers_stress_spec.rb +0 -71
  136. data/spec/stress/concurrent_publishers_stress_spec.rb +0 -54
  137. data/spec/stress/connection_open_close_spec.rb +0 -52
  138. data/spec/stress/merry_go_round_spec.rb +0 -105
  139. data/spec/tls/ca_certificate.pem +0 -29
  140. data/spec/tls/ca_key.pem +0 -52
  141. data/spec/tls/client_certificate.pem +0 -29
  142. data/spec/tls/client_key.pem +0 -51
  143. data/spec/tls/generate-server-cert.sh +0 -8
  144. data/spec/tls/server-openssl.cnf +0 -10
  145. data/spec/tls/server.csr +0 -16
  146. data/spec/tls/server_certificate.pem +0 -29
  147. data/spec/tls/server_key.pem +0 -51
  148. data/spec/toxiproxy_helper.rb +0 -28
  149. data/spec/unit/bunny_spec.rb +0 -15
  150. data/spec/unit/concurrent/atomic_fixnum_spec.rb +0 -35
  151. data/spec/unit/concurrent/condition_spec.rb +0 -82
  152. data/spec/unit/concurrent/linked_continuation_queue_spec.rb +0 -35
  153. data/spec/unit/concurrent/synchronized_sorted_set_spec.rb +0 -73
  154. data/spec/unit/exchange_recovery_spec.rb +0 -39
  155. 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.14.2
4
+ version: 2.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Duncan
@@ -9,101 +9,61 @@ 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: 2019-04-24 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
19
19
  requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 2.3.0
24
21
  - - "~>"
25
22
  - !ruby/object:Gem::Version
26
23
  version: '2.3'
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.3.1
27
27
  type: :runtime
28
28
  prerelease: false
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.3'
31
34
  - - ">="
32
35
  - !ruby/object:Gem::Version
33
- version: 2.3.0
36
+ version: 2.3.1
37
+ - !ruby/object:Gem::Dependency
38
+ name: sorted_set
39
+ requirement: !ruby/object:Gem::Requirement
40
+ requirements:
34
41
  - - "~>"
35
42
  - !ruby/object:Gem::Version
36
- version: '2.3'
37
- description: Easy to use, feature complete Ruby client for RabbitMQ
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
58
+ versions.
38
59
  email:
39
- - mklishin@pivotal.io
60
+ - michael.s.klishin@gmail.com
40
61
  executables: []
41
62
  extensions: []
42
63
  extra_rdoc_files:
43
64
  - README.md
44
65
  files:
45
- - ".github/ISSUE_TEMPLATE.md"
46
- - ".gitignore"
47
- - ".rspec"
48
- - ".travis.yml"
49
- - ".yardopts"
50
- - CONTRIBUTING.md
51
- - ChangeLog.md
52
- - Gemfile
53
- - LICENSE
54
66
  - README.md
55
- - Rakefile
56
- - benchmarks/basic_publish/with_128K_messages.rb
57
- - benchmarks/basic_publish/with_1k_messages.rb
58
- - benchmarks/basic_publish/with_4K_messages.rb
59
- - benchmarks/basic_publish/with_64K_messages.rb
60
- - benchmarks/channel_open.rb
61
- - benchmarks/mutex_and_monitor.rb
62
- - benchmarks/queue_declare.rb
63
- - benchmarks/queue_declare_and_bind.rb
64
- - benchmarks/queue_declare_bind_and_delete.rb
65
- - benchmarks/synchronized_sorted_set.rb
66
- - benchmarks/write_vs_write_nonblock.rb
67
- - bunny.gemspec
68
- - docker-compose.yml
69
- - docker/Dockerfile
70
- - docker/apt/preferences.d/erlang
71
- - docker/apt/sources.list.d/bintray.rabbitmq.list
72
- - docker/docker-entrypoint.sh
73
- - docker/rabbitmq.conf
74
- - examples/connection/authentication_failure.rb
75
- - examples/connection/automatic_recovery_with_basic_get.rb
76
- - examples/connection/automatic_recovery_with_client_named_queues.rb
77
- - examples/connection/automatic_recovery_with_multiple_consumers.rb
78
- - examples/connection/automatic_recovery_with_republishing.rb
79
- - examples/connection/automatic_recovery_with_server_named_queues.rb
80
- - examples/connection/channel_level_exception.rb
81
- - examples/connection/disabled_automatic_recovery.rb
82
- - examples/connection/heartbeat.rb
83
- - examples/connection/manually_reconnecting_consumer.rb
84
- - examples/connection/manually_reconnecting_publisher.rb
85
- - examples/connection/unknown_host.rb
86
- - examples/consumers/high_and_low_priority.rb
87
- - examples/guides/exchanges/direct_exchange_routing.rb
88
- - examples/guides/exchanges/fanout_exchange_routing.rb
89
- - examples/guides/exchanges/headers_exchange_routing.rb
90
- - examples/guides/exchanges/mandatory_messages.rb
91
- - examples/guides/extensions/alternate_exchange.rb
92
- - examples/guides/extensions/basic_nack.rb
93
- - examples/guides/extensions/connection_blocked.rb
94
- - examples/guides/extensions/consumer_cancellation_notification.rb
95
- - examples/guides/extensions/dead_letter_exchange.rb
96
- - examples/guides/extensions/exchange_to_exchange_bindings.rb
97
- - examples/guides/extensions/per_message_ttl.rb
98
- - examples/guides/extensions/per_queue_message_ttl.rb
99
- - examples/guides/extensions/publisher_confirms.rb
100
- - examples/guides/extensions/queue_lease.rb
101
- - examples/guides/extensions/sender_selected_distribution.rb
102
- - examples/guides/getting_started/blabbr.rb
103
- - examples/guides/getting_started/hello_world.rb
104
- - examples/guides/getting_started/weathr.rb
105
- - examples/guides/queues/one_off_consumer.rb
106
- - examples/guides/queues/redeliveries.rb
107
67
  - lib/amq/protocol/extensions.rb
108
68
  - lib/bunny.rb
109
69
  - lib/bunny/authentication/credentials_encoder.rb
@@ -141,91 +101,11 @@ files:
141
101
  - lib/bunny/transport.rb
142
102
  - lib/bunny/version.rb
143
103
  - lib/bunny/versioned_delivery_tag.rb
144
- - profiling/basic_publish/with_4K_messages.rb
145
- - repl
146
- - spec/config/enabled_plugins
147
- - spec/config/rabbitmq.conf
148
- - spec/higher_level_api/integration/basic_ack_spec.rb
149
- - spec/higher_level_api/integration/basic_cancel_spec.rb
150
- - spec/higher_level_api/integration/basic_consume_spec.rb
151
- - spec/higher_level_api/integration/basic_consume_with_objects_spec.rb
152
- - spec/higher_level_api/integration/basic_get_spec.rb
153
- - spec/higher_level_api/integration/basic_nack_spec.rb
154
- - spec/higher_level_api/integration/basic_publish_spec.rb
155
- - spec/higher_level_api/integration/basic_qos_spec.rb
156
- - spec/higher_level_api/integration/basic_reject_spec.rb
157
- - spec/higher_level_api/integration/basic_return_spec.rb
158
- - spec/higher_level_api/integration/channel_close_spec.rb
159
- - spec/higher_level_api/integration/channel_open_spec.rb
160
- - spec/higher_level_api/integration/connection_recovery_spec.rb
161
- - spec/higher_level_api/integration/connection_spec.rb
162
- - spec/higher_level_api/integration/connection_stop_spec.rb
163
- - spec/higher_level_api/integration/consumer_cancellation_notification_spec.rb
164
- - spec/higher_level_api/integration/dead_lettering_spec.rb
165
- - spec/higher_level_api/integration/exchange_bind_spec.rb
166
- - spec/higher_level_api/integration/exchange_declare_spec.rb
167
- - spec/higher_level_api/integration/exchange_delete_spec.rb
168
- - spec/higher_level_api/integration/exchange_unbind_spec.rb
169
- - spec/higher_level_api/integration/exclusive_queue_spec.rb
170
- - spec/higher_level_api/integration/heartbeat_spec.rb
171
- - spec/higher_level_api/integration/message_properties_access_spec.rb
172
- - spec/higher_level_api/integration/predeclared_exchanges_spec.rb
173
- - spec/higher_level_api/integration/publisher_confirms_spec.rb
174
- - spec/higher_level_api/integration/publishing_edge_cases_spec.rb
175
- - spec/higher_level_api/integration/queue_bind_spec.rb
176
- - spec/higher_level_api/integration/queue_declare_spec.rb
177
- - spec/higher_level_api/integration/queue_delete_spec.rb
178
- - spec/higher_level_api/integration/queue_purge_spec.rb
179
- - spec/higher_level_api/integration/queue_unbind_spec.rb
180
- - spec/higher_level_api/integration/read_only_consumer_spec.rb
181
- - spec/higher_level_api/integration/sender_selected_distribution_spec.rb
182
- - spec/higher_level_api/integration/tls_connection_spec.rb
183
- - spec/higher_level_api/integration/toxiproxy_spec.rb
184
- - spec/higher_level_api/integration/tx_commit_spec.rb
185
- - spec/higher_level_api/integration/tx_rollback_spec.rb
186
- - spec/higher_level_api/integration/with_channel_spec.rb
187
- - spec/issues/issue100_spec.rb
188
- - spec/issues/issue141_spec.rb
189
- - spec/issues/issue202_spec.rb
190
- - spec/issues/issue224_spec.rb
191
- - spec/issues/issue465_spec.rb
192
- - spec/issues/issue549_spec.rb
193
- - spec/issues/issue78_spec.rb
194
- - spec/issues/issue83_spec.rb
195
- - spec/issues/issue97_attachment.json
196
- - spec/issues/issue97_spec.rb
197
- - spec/lower_level_api/integration/basic_cancel_spec.rb
198
- - spec/lower_level_api/integration/basic_consume_spec.rb
199
- - spec/spec_helper.rb
200
- - spec/stress/channel_close_stress_spec.rb
201
- - spec/stress/channel_open_stress_spec.rb
202
- - spec/stress/channel_open_stress_with_single_threaded_connection_spec.rb
203
- - spec/stress/concurrent_consumers_stress_spec.rb
204
- - spec/stress/concurrent_publishers_stress_spec.rb
205
- - spec/stress/connection_open_close_spec.rb
206
- - spec/stress/merry_go_round_spec.rb
207
- - spec/tls/ca_certificate.pem
208
- - spec/tls/ca_key.pem
209
- - spec/tls/client_certificate.pem
210
- - spec/tls/client_key.pem
211
- - spec/tls/generate-server-cert.sh
212
- - spec/tls/server-openssl.cnf
213
- - spec/tls/server.csr
214
- - spec/tls/server_certificate.pem
215
- - spec/tls/server_key.pem
216
- - spec/toxiproxy_helper.rb
217
- - spec/unit/bunny_spec.rb
218
- - spec/unit/concurrent/atomic_fixnum_spec.rb
219
- - spec/unit/concurrent/condition_spec.rb
220
- - spec/unit/concurrent/linked_continuation_queue_spec.rb
221
- - spec/unit/concurrent/synchronized_sorted_set_spec.rb
222
- - spec/unit/exchange_recovery_spec.rb
223
- - spec/unit/version_delivery_tag_spec.rb
224
104
  homepage: http://rubybunny.info
225
105
  licenses:
226
106
  - MIT
227
107
  metadata: {}
228
- post_install_message:
108
+ post_install_message:
229
109
  rdoc_options: []
230
110
  require_paths:
231
111
  - lib
@@ -233,93 +113,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
233
113
  requirements:
234
114
  - - ">="
235
115
  - !ruby/object:Gem::Version
236
- version: '2.2'
116
+ version: '2.5'
237
117
  required_rubygems_version: !ruby/object:Gem::Requirement
238
118
  requirements:
239
119
  - - ">="
240
120
  - !ruby/object:Gem::Version
241
121
  version: '0'
242
122
  requirements: []
243
- rubygems_version: 3.0.3
244
- signing_key:
123
+ rubygems_version: 3.5.0.dev
124
+ signing_key:
245
125
  specification_version: 4
246
- summary: Easy to use Ruby client for RabbitMQ
247
- test_files:
248
- - spec/config/enabled_plugins
249
- - spec/config/rabbitmq.conf
250
- - spec/higher_level_api/integration/basic_ack_spec.rb
251
- - spec/higher_level_api/integration/basic_cancel_spec.rb
252
- - spec/higher_level_api/integration/basic_consume_spec.rb
253
- - spec/higher_level_api/integration/basic_consume_with_objects_spec.rb
254
- - spec/higher_level_api/integration/basic_get_spec.rb
255
- - spec/higher_level_api/integration/basic_nack_spec.rb
256
- - spec/higher_level_api/integration/basic_publish_spec.rb
257
- - spec/higher_level_api/integration/basic_qos_spec.rb
258
- - spec/higher_level_api/integration/basic_reject_spec.rb
259
- - spec/higher_level_api/integration/basic_return_spec.rb
260
- - spec/higher_level_api/integration/channel_close_spec.rb
261
- - spec/higher_level_api/integration/channel_open_spec.rb
262
- - spec/higher_level_api/integration/connection_recovery_spec.rb
263
- - spec/higher_level_api/integration/connection_spec.rb
264
- - spec/higher_level_api/integration/connection_stop_spec.rb
265
- - spec/higher_level_api/integration/consumer_cancellation_notification_spec.rb
266
- - spec/higher_level_api/integration/dead_lettering_spec.rb
267
- - spec/higher_level_api/integration/exchange_bind_spec.rb
268
- - spec/higher_level_api/integration/exchange_declare_spec.rb
269
- - spec/higher_level_api/integration/exchange_delete_spec.rb
270
- - spec/higher_level_api/integration/exchange_unbind_spec.rb
271
- - spec/higher_level_api/integration/exclusive_queue_spec.rb
272
- - spec/higher_level_api/integration/heartbeat_spec.rb
273
- - spec/higher_level_api/integration/message_properties_access_spec.rb
274
- - spec/higher_level_api/integration/predeclared_exchanges_spec.rb
275
- - spec/higher_level_api/integration/publisher_confirms_spec.rb
276
- - spec/higher_level_api/integration/publishing_edge_cases_spec.rb
277
- - spec/higher_level_api/integration/queue_bind_spec.rb
278
- - spec/higher_level_api/integration/queue_declare_spec.rb
279
- - spec/higher_level_api/integration/queue_delete_spec.rb
280
- - spec/higher_level_api/integration/queue_purge_spec.rb
281
- - spec/higher_level_api/integration/queue_unbind_spec.rb
282
- - spec/higher_level_api/integration/read_only_consumer_spec.rb
283
- - spec/higher_level_api/integration/sender_selected_distribution_spec.rb
284
- - spec/higher_level_api/integration/tls_connection_spec.rb
285
- - spec/higher_level_api/integration/toxiproxy_spec.rb
286
- - spec/higher_level_api/integration/tx_commit_spec.rb
287
- - spec/higher_level_api/integration/tx_rollback_spec.rb
288
- - spec/higher_level_api/integration/with_channel_spec.rb
289
- - spec/issues/issue100_spec.rb
290
- - spec/issues/issue141_spec.rb
291
- - spec/issues/issue202_spec.rb
292
- - spec/issues/issue224_spec.rb
293
- - spec/issues/issue465_spec.rb
294
- - spec/issues/issue549_spec.rb
295
- - spec/issues/issue78_spec.rb
296
- - spec/issues/issue83_spec.rb
297
- - spec/issues/issue97_attachment.json
298
- - spec/issues/issue97_spec.rb
299
- - spec/lower_level_api/integration/basic_cancel_spec.rb
300
- - spec/lower_level_api/integration/basic_consume_spec.rb
301
- - spec/spec_helper.rb
302
- - spec/stress/channel_close_stress_spec.rb
303
- - spec/stress/channel_open_stress_spec.rb
304
- - spec/stress/channel_open_stress_with_single_threaded_connection_spec.rb
305
- - spec/stress/concurrent_consumers_stress_spec.rb
306
- - spec/stress/concurrent_publishers_stress_spec.rb
307
- - spec/stress/connection_open_close_spec.rb
308
- - spec/stress/merry_go_round_spec.rb
309
- - spec/tls/ca_certificate.pem
310
- - spec/tls/ca_key.pem
311
- - spec/tls/client_certificate.pem
312
- - spec/tls/client_key.pem
313
- - spec/tls/generate-server-cert.sh
314
- - spec/tls/server-openssl.cnf
315
- - spec/tls/server.csr
316
- - spec/tls/server_certificate.pem
317
- - spec/tls/server_key.pem
318
- - spec/toxiproxy_helper.rb
319
- - spec/unit/bunny_spec.rb
320
- - spec/unit/concurrent/atomic_fixnum_spec.rb
321
- - spec/unit/concurrent/condition_spec.rb
322
- - spec/unit/concurrent/linked_continuation_queue_spec.rb
323
- - spec/unit/concurrent/synchronized_sorted_set_spec.rb
324
- - spec/unit/exchange_recovery_spec.rb
325
- - spec/unit/version_delivery_tag_spec.rb
126
+ summary: Popular easy to use Ruby client for RabbitMQ
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,31 +0,0 @@
1
- language: ruby
2
- bundler_args: --without development
3
- cache: bundler
4
- before_install:
5
- - gem install bundler
6
- before_script:
7
- - "./bin/ci/install_on_debian.sh"
8
- - until sudo lsof -i:5672; do echo "Waiting for RabbitMQ to start..."; sleep 1; done
9
- - "./bin/ci/before_build.sh"
10
- script: "bundle exec rake integration_without_recovery"
11
- rvm:
12
- - ruby-head
13
- - "2.6.0"
14
- - "2.5.1"
15
- - "2.4.2"
16
- - "2.3.5"
17
- notifications:
18
- email: michael@rabbitmq.com
19
- services:
20
- - rabbitmq
21
- branches:
22
- only:
23
- - master
24
- - 2.12.x-stable
25
- - 2.11.x-stable
26
- env:
27
- - CI=true
28
- matrix:
29
- allow_failures:
30
- rvm:
31
- - ruby-head
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,132 +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 virtual hosts
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.7.10`).
34
-
35
- The test suite can either use a locally available RabbitMQ node ([generic binary builds](http://www.rabbitmq.com/install-generic-unix.html)
36
- are an option that works well) or by running a RabbitMQ server in a Docker container.
37
-
38
- ### Using a locally installed RabbitMQ node
39
-
40
- It is possible to start a local RabbitMQ node from the repository root. It is not necessarily
41
- optimal but can be a good starting point but is a useful example:
42
-
43
- ```
44
- RABBITMQ_NODENAME=bunny RABBITMQ_CONFIG_FILE=./spec/config/rabbitmq.conf RABBITMQ_ENABLED_PLUGINS_FILE=./spec/config/enabled_plugins rabbitmq-server
45
- ```
46
-
47
- The specs need the RabbitMQ management plugin to be enabled and include TLS connectivity tests,
48
- so the node must be configured to use a [certificate and key pair](http://www.rabbitmq.com/ssl.html#certificates-and-keys).
49
- The config and enabled plugin files in the spec/config directory take care of that
50
- but certificates must be provisioned locally. By default there's a set of CA, server, and client certificates pre-generated at `spec/tls`.
51
-
52
- The `BUNNY_CERTIFICATE_DIR` environment variable can be used to a directory containing a CA certificate
53
- and a certificate/key pair to be used by the server. The directory can be generated using
54
- [tls-gen](https://github.com/michaelklishin/tls-gen)'s basic profile. This option is recommended.
55
-
56
- `BUNNY_RABBITMQ_HOSTNAME` can be used to override the expected server hostname for [peer verification](http://www.rabbitmq.com/ssl.html#peer-verification) in the TLS test suite:
57
-
58
- ```
59
- BUNNY_CERTIFICATE_DIR="/path/to/tls-gen/basic/result" BUNNY_RABBITMQ_HOSTNAME="mayflower" bundle exec rspec
60
-
61
- ```
62
-
63
- Certificates can be generated with [tls-gen](https://github.com/michaelklishin/tls-gen)'s basic profile.
64
- In that case they include a Subject Alternative Name of `localhost` for improved portability.
65
-
66
-
67
- ### Node Setup
68
-
69
- There is also a script that preconfigured the node for Bunny tests. It is sufficient to run
70
- it once but if RabbitMQ is reset it has to be executed again:
71
-
72
- ```
73
- RABBITMQ_NODENAME=bunny ./bin/ci/before_build
74
- ```
75
-
76
- The script uses `rabbitmqctl` and `rabbitmq-plugins`
77
- to set up RabbitMQ in a way that Bunny test suites expect. Two environment variables,
78
- `RABBITMQCTL` and `RABBITMQ_PLUGINS`, are available to control what `rabbitmqctl` and
79
- `rabbitmq-plugins` commands will be used. By default they are taken from `PATH`
80
- and prefixed with `sudo`.
81
-
82
- And then run the core integration suite:
83
-
84
- ```
85
- RABBITMQ_NODENAME=bunny CI=true rspec
86
- ```
87
-
88
- #### Running a RabbitMQ server in a Docker container
89
-
90
- First off you have to [install Docker Compose](https://docker.github.io/compose/install/) (and by proxy Docker).
91
- Version >= 1.6.0+ is required for compose version 2 syntax.
92
-
93
- After those have been installed (and the `docker-compose` command is available on your command line path), run
94
-
95
- ```
96
- docker-compose build && docker-compose run --service-ports rabbitmq
97
- ```
98
-
99
- The first time you do this, it will take some time, since it has to download everything it needs
100
- to build the Docker image.
101
-
102
- The RabbitMQ server will run in the foreground in the terminal where you started it. You can stop
103
- it by pressing CTRL+C. If you want to run it in the background, pass `-d` to `docker-compose`.
104
-
105
- ### Toxiproxy
106
-
107
- If Toxiproxy is running locally on standard ports or started via Docker:
108
-
109
- ```
110
- docker-compose run --service-ports toxiproxy
111
- ```
112
-
113
- then Bunny will run additional resiliency tests.
114
-
115
- ### Running Test Suites
116
-
117
- Prior to running the tests, configure the RabbitMQ permissions by running `./bin/ci/before_build`
118
- if you have RabbitMQ locally installed, if you are running RabbitMQ via Docker as above this step
119
- is not required as the setup is baked in.
120
-
121
- Make sure you have those two installed and then run integration tests:
122
-
123
- bundle install
124
- rake integration
125
-
126
- It is possible to run all tests:
127
-
128
- bundle exec rspec
129
-
130
- It is possible to run only integration and regression tests but exclude unit and stress tests:
131
-
132
- CI=true bundle exec rspec spec/higher_level_api/ spec/lower_level_api spec/issues spec/higher_level_api/integration/connection_recovery_spec.rb