stompserver_ng 1.0.6
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.
- data/History.txt +159 -0
- data/Manifest.txt +71 -0
- data/README.txt +172 -0
- data/Rakefile +38 -0
- data/STATUS +5 -0
- data/bin/stompserver_ng +63 -0
- data/client/README.txt +1 -0
- data/client/both.rb +25 -0
- data/client/consume.rb +14 -0
- data/client/send.rb +17 -0
- data/config/stompserver_ng.conf +11 -0
- data/etc/19xcompat/notes.txt +223 -0
- data/etc/arutils/README-activerecord.txt +78 -0
- data/etc/arutils/cre_mysql.rb +34 -0
- data/etc/arutils/cre_postgres.rb +33 -0
- data/etc/arutils/cre_sqlite3.rb +28 -0
- data/etc/arutils/mysql_boot.sql +12 -0
- data/etc/arutils/postgres_boot.sql +14 -0
- data/etc/database.mysql.yml +9 -0
- data/etc/database.postgres.yml +9 -0
- data/etc/passwd.example +3 -0
- data/etc/ppqinfo.rb +15 -0
- data/etc/runserver.sh +17 -0
- data/etc/stompserver_ng +50 -0
- data/etc/stompserver_ng.conf +13 -0
- data/lib/stomp_server_ng.rb +471 -0
- data/lib/stomp_server_ng/protocols/http.rb +128 -0
- data/lib/stomp_server_ng/protocols/stomp.rb +407 -0
- data/lib/stomp_server_ng/qmonitor.rb +58 -0
- data/lib/stomp_server_ng/queue.rb +248 -0
- data/lib/stomp_server_ng/queue/activerecord_queue.rb +118 -0
- data/lib/stomp_server_ng/queue/ar_message.rb +21 -0
- data/lib/stomp_server_ng/queue/ar_reconnect.rb +18 -0
- data/lib/stomp_server_ng/queue/dbm_queue.rb +72 -0
- data/lib/stomp_server_ng/queue/file_queue.rb +56 -0
- data/lib/stomp_server_ng/queue/memory_queue.rb +64 -0
- data/lib/stomp_server_ng/queue_manager.rb +302 -0
- data/lib/stomp_server_ng/stomp_auth.rb +26 -0
- data/lib/stomp_server_ng/stomp_frame.rb +32 -0
- data/lib/stomp_server_ng/stomp_frame_recognizer.rb +77 -0
- data/lib/stomp_server_ng/stomp_id.rb +32 -0
- data/lib/stomp_server_ng/stomp_user.rb +17 -0
- data/lib/stomp_server_ng/test_server.rb +21 -0
- data/lib/stomp_server_ng/topic_manager.rb +46 -0
- data/setup.rb +1585 -0
- data/stompserver_ng.gemspec +136 -0
- data/test/devserver/props.yaml +5 -0
- data/test/devserver/runserver.sh +16 -0
- data/test/devserver/stompserver_ng.dbm.conf +12 -0
- data/test/devserver/stompserver_ng.file.conf +12 -0
- data/test/devserver/stompserver_ng.memory.conf +12 -0
- data/test/noserver/mocklogger.rb +12 -0
- data/test/noserver/test_queue_manager.rb +134 -0
- data/test/noserver/test_stomp_frame.rb +138 -0
- data/test/noserver/test_topic_manager.rb +79 -0
- data/test/noserver/ts_all_no_server.rb +12 -0
- data/test/props.yaml +5 -0
- data/test/runalltests.sh +14 -0
- data/test/runtest.sh +4 -0
- data/test/test_0000_base.rb +107 -0
- data/test/test_0001_conn.rb +47 -0
- data/test/test_0002_conn_sr.rb +94 -0
- data/test/test_0006_client.rb +41 -0
- data/test/test_0011_send_recv.rb +74 -0
- data/test/test_0015_ack_conn.rb +78 -0
- data/test/test_0017_ack_client.rb +78 -0
- data/test/test_0019_ack_no_ack.rb +145 -0
- data/test/test_0022_ack_noack_conn.rb +123 -0
- data/test/test_0030_subscr_id.rb +44 -0
- data/test/test_0040_receipt_conn.rb +87 -0
- data/test/ts_all_server.rb +10 -0
- metadata +196 -0
@@ -0,0 +1,87 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'stomp'
|
3
|
+
#
|
4
|
+
require 'test/unit'
|
5
|
+
$:.unshift File.dirname(__FILE__)
|
6
|
+
require 'test_0000_base'
|
7
|
+
#
|
8
|
+
# Test the most basic use of receipts.
|
9
|
+
#
|
10
|
+
class Test_0040_Receipt_Conn < Test_0000_Base
|
11
|
+
|
12
|
+
# Setup.
|
13
|
+
# * Queue name
|
14
|
+
# * Message
|
15
|
+
# * Receipt ID
|
16
|
+
# * RECEIPT Command
|
17
|
+
def setup
|
18
|
+
super
|
19
|
+
@queuename = "/queue/receipt/" + name()
|
20
|
+
@test_message = "Abracadabra!"
|
21
|
+
@receipt_id = "zztop-" + name()
|
22
|
+
@recpt_command = "RECEIPT"
|
23
|
+
@msg_command = "MESSAGE"
|
24
|
+
end
|
25
|
+
|
26
|
+
# Teardown.
|
27
|
+
def teardown
|
28
|
+
end
|
29
|
+
|
30
|
+
# Send Get Receipt.
|
31
|
+
# * Put a message on a queue
|
32
|
+
# * Disconnect and reconnect
|
33
|
+
# * Subscribe with receipt requested
|
34
|
+
# * Receive the message and the receipt
|
35
|
+
# * Insure all received information is correct
|
36
|
+
#
|
37
|
+
# Note: Some servers can vary the order in which the RECEIPT frame and
|
38
|
+
# MESSAGE frame are emitted. ActiveMQ e.g. exhibits this behavior.
|
39
|
+
#
|
40
|
+
# Sometimes:
|
41
|
+
#
|
42
|
+
# * RECEIPT frame is first
|
43
|
+
# * MESSAGE frame is second
|
44
|
+
#
|
45
|
+
# and other times the order is reversed.
|
46
|
+
#
|
47
|
+
# Further, this behavior is in line with the stomp specification, which
|
48
|
+
# does not indicate _when_ a receipt will be sent: only that it _will_
|
49
|
+
# be sent.
|
50
|
+
#
|
51
|
+
def test_0010_send_get_receipt
|
52
|
+
# Put something on the queue
|
53
|
+
open_conn()
|
54
|
+
assert_nothing_raised() {
|
55
|
+
@conn.publish(@queuename, @test_message)
|
56
|
+
}
|
57
|
+
disconnect_conn()
|
58
|
+
# Now get it with a receipt requested.
|
59
|
+
open_conn()
|
60
|
+
msg_01 = msg_02 = nil
|
61
|
+
assert_nothing_raised() {
|
62
|
+
connection_subscribe(@queuename, "receipt" => @receipt_id)
|
63
|
+
msg_01 = @conn.receive
|
64
|
+
msg_02 = @conn.receive
|
65
|
+
}
|
66
|
+
disconnect_conn()
|
67
|
+
#
|
68
|
+
assert_not_nil(msg_01, "message 1 should be present")
|
69
|
+
assert_not_nil(msg_02, "message 2 should be present")
|
70
|
+
#
|
71
|
+
recpt = msg = nil
|
72
|
+
case msg_01.command
|
73
|
+
when @recpt_command
|
74
|
+
recpt, msg = msg_01, msg_02
|
75
|
+
when @msg_command
|
76
|
+
msg, recpt = msg_01, msg_02
|
77
|
+
else
|
78
|
+
fail "Invalid frame: #{msg_01.command}"
|
79
|
+
end
|
80
|
+
#
|
81
|
+
assert_equal(@receipt_id, recpt.headers['receipt-id'],
|
82
|
+
"receipt ID should match")
|
83
|
+
assert_equal(recpt.body, '', "receipt body should be empty")
|
84
|
+
assert_equal(@test_message, msg.body, "receive should be what is sent")
|
85
|
+
end
|
86
|
+
end # of class
|
87
|
+
|
metadata
ADDED
@@ -0,0 +1,196 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: stompserver_ng
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.6
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Patrick Hurley
|
9
|
+
- Lionel Bouton
|
10
|
+
- snacktime
|
11
|
+
- gyver
|
12
|
+
- Mike Mangino
|
13
|
+
- robl
|
14
|
+
- gmallard
|
15
|
+
autorequire:
|
16
|
+
bindir: bin
|
17
|
+
cert_chain: []
|
18
|
+
date: 2011-04-21 00:00:00.000000000 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: daemons
|
22
|
+
requirement: !ruby/object:Gem::Requirement
|
23
|
+
none: false
|
24
|
+
requirements:
|
25
|
+
- - ! '>='
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 1.0.10
|
28
|
+
type: :runtime
|
29
|
+
prerelease: false
|
30
|
+
version_requirements: !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ! '>='
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 1.0.10
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: eventmachine
|
38
|
+
requirement: !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.12.10
|
44
|
+
type: :runtime
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: !ruby/object:Gem::Requirement
|
47
|
+
none: false
|
48
|
+
requirements:
|
49
|
+
- - ! '>='
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: 0.12.10
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
name: uuid
|
54
|
+
requirement: !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ! '>='
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 2.1.0
|
60
|
+
type: :runtime
|
61
|
+
prerelease: false
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
64
|
+
requirements:
|
65
|
+
- - ! '>='
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 2.1.0
|
68
|
+
description: STOMP Next Generation Ruby server.
|
69
|
+
email:
|
70
|
+
- phurley-blocked@rubyforge.org
|
71
|
+
- lionel-dev@bouton.name
|
72
|
+
- snacktime@somewhere.com
|
73
|
+
- gyver@somewhere.com
|
74
|
+
- mmangino-blocked@rubyforge.org
|
75
|
+
- robl@monkeyhelper.com
|
76
|
+
- allard.guy.m@gmail.com
|
77
|
+
executables:
|
78
|
+
- stompserver_ng
|
79
|
+
extensions: []
|
80
|
+
extra_rdoc_files:
|
81
|
+
- README.txt
|
82
|
+
files:
|
83
|
+
- History.txt
|
84
|
+
- Manifest.txt
|
85
|
+
- README.txt
|
86
|
+
- Rakefile
|
87
|
+
- STATUS
|
88
|
+
- bin/stompserver_ng
|
89
|
+
- client/README.txt
|
90
|
+
- client/both.rb
|
91
|
+
- client/consume.rb
|
92
|
+
- client/send.rb
|
93
|
+
- config/stompserver_ng.conf
|
94
|
+
- etc/19xcompat/notes.txt
|
95
|
+
- etc/arutils/README-activerecord.txt
|
96
|
+
- etc/arutils/cre_mysql.rb
|
97
|
+
- etc/arutils/cre_postgres.rb
|
98
|
+
- etc/arutils/cre_sqlite3.rb
|
99
|
+
- etc/arutils/mysql_boot.sql
|
100
|
+
- etc/arutils/postgres_boot.sql
|
101
|
+
- etc/database.mysql.yml
|
102
|
+
- etc/database.postgres.yml
|
103
|
+
- etc/passwd.example
|
104
|
+
- etc/ppqinfo.rb
|
105
|
+
- etc/runserver.sh
|
106
|
+
- etc/stompserver_ng
|
107
|
+
- etc/stompserver_ng.conf
|
108
|
+
- lib/stomp_server_ng.rb
|
109
|
+
- lib/stomp_server_ng/protocols/http.rb
|
110
|
+
- lib/stomp_server_ng/protocols/stomp.rb
|
111
|
+
- lib/stomp_server_ng/qmonitor.rb
|
112
|
+
- lib/stomp_server_ng/queue.rb
|
113
|
+
- lib/stomp_server_ng/queue/activerecord_queue.rb
|
114
|
+
- lib/stomp_server_ng/queue/ar_message.rb
|
115
|
+
- lib/stomp_server_ng/queue/ar_reconnect.rb
|
116
|
+
- lib/stomp_server_ng/queue/dbm_queue.rb
|
117
|
+
- lib/stomp_server_ng/queue/file_queue.rb
|
118
|
+
- lib/stomp_server_ng/queue/memory_queue.rb
|
119
|
+
- lib/stomp_server_ng/queue_manager.rb
|
120
|
+
- lib/stomp_server_ng/stomp_auth.rb
|
121
|
+
- lib/stomp_server_ng/stomp_frame.rb
|
122
|
+
- lib/stomp_server_ng/stomp_frame_recognizer.rb
|
123
|
+
- lib/stomp_server_ng/stomp_id.rb
|
124
|
+
- lib/stomp_server_ng/stomp_user.rb
|
125
|
+
- lib/stomp_server_ng/test_server.rb
|
126
|
+
- lib/stomp_server_ng/topic_manager.rb
|
127
|
+
- setup.rb
|
128
|
+
- stompserver_ng.gemspec
|
129
|
+
- test/devserver/props.yaml
|
130
|
+
- test/devserver/runserver.sh
|
131
|
+
- test/devserver/stompserver_ng.dbm.conf
|
132
|
+
- test/devserver/stompserver_ng.file.conf
|
133
|
+
- test/devserver/stompserver_ng.memory.conf
|
134
|
+
- test/noserver/mocklogger.rb
|
135
|
+
- test/noserver/test_queue_manager.rb
|
136
|
+
- test/noserver/test_stomp_frame.rb
|
137
|
+
- test/noserver/test_topic_manager.rb
|
138
|
+
- test/noserver/ts_all_no_server.rb
|
139
|
+
- test/props.yaml
|
140
|
+
- test/runalltests.sh
|
141
|
+
- test/runtest.sh
|
142
|
+
- test/test_0000_base.rb
|
143
|
+
- test/test_0001_conn.rb
|
144
|
+
- test/test_0002_conn_sr.rb
|
145
|
+
- test/test_0006_client.rb
|
146
|
+
- test/test_0011_send_recv.rb
|
147
|
+
- test/test_0015_ack_conn.rb
|
148
|
+
- test/test_0017_ack_client.rb
|
149
|
+
- test/test_0019_ack_no_ack.rb
|
150
|
+
- test/test_0022_ack_noack_conn.rb
|
151
|
+
- test/test_0030_subscr_id.rb
|
152
|
+
- test/test_0040_receipt_conn.rb
|
153
|
+
- test/ts_all_server.rb
|
154
|
+
homepage: http://github.com/gmallard/stompserver_ng
|
155
|
+
licenses: []
|
156
|
+
post_install_message:
|
157
|
+
rdoc_options: []
|
158
|
+
require_paths:
|
159
|
+
- lib
|
160
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ! '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
|
+
none: false
|
168
|
+
requirements:
|
169
|
+
- - ! '>='
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '0'
|
172
|
+
requirements: []
|
173
|
+
rubyforge_project:
|
174
|
+
rubygems_version: 1.8.25
|
175
|
+
signing_key:
|
176
|
+
specification_version: 3
|
177
|
+
summary: A very light messaging server, next generation
|
178
|
+
test_files:
|
179
|
+
- test/noserver/mocklogger.rb
|
180
|
+
- test/noserver/test_queue_manager.rb
|
181
|
+
- test/noserver/test_stomp_frame.rb
|
182
|
+
- test/noserver/test_topic_manager.rb
|
183
|
+
- test/noserver/ts_all_no_server.rb
|
184
|
+
- test/test_0000_base.rb
|
185
|
+
- test/test_0001_conn.rb
|
186
|
+
- test/test_0002_conn_sr.rb
|
187
|
+
- test/test_0006_client.rb
|
188
|
+
- test/test_0011_send_recv.rb
|
189
|
+
- test/test_0015_ack_conn.rb
|
190
|
+
- test/test_0017_ack_client.rb
|
191
|
+
- test/test_0019_ack_no_ack.rb
|
192
|
+
- test/test_0022_ack_noack_conn.rb
|
193
|
+
- test/test_0030_subscr_id.rb
|
194
|
+
- test/test_0040_receipt_conn.rb
|
195
|
+
- test/ts_all_server.rb
|
196
|
+
has_rdoc:
|