bunny 2.7.4 → 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 (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