1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
require 'stomp_server/stomp_frame'
require 'test/unit' unless defined? $ZENTEST and $ZENTEST
class TestStompFrame < Test::Unit::TestCase
def setup
@sfr = StompServer::StompFrameRecognizer.new
end
def test_simpleframe
@sfr << <<FRAME
COMMAND
name:value
foo:bar
message body
\000
FRAME
assert_equal(1, @sfr.frames.size)
f = @sfr.frames.shift
assert_equal(0, @sfr.frames.size)
assert_equal("COMMAND", f.command)
assert_equal("value", f.headers["name"])
assert_equal("bar", f.headers["foo"])
assert_equal("message body\n", f.body)
end
def test_doubleframe
@sfr << <<FRAME
COMMAND
name:value
foo:bar
message body
\000
COMMAND2
name2:value2
foo2:bar2
message body 2
\000
FRAME
assert_equal(2, @sfr.frames.size)
f = @sfr.frames.shift
assert_equal(1, @sfr.frames.size)
assert_equal("COMMAND", f.command)
assert_equal("value", f.headers["name"])
assert_equal("bar", f.headers["foo"])
assert_equal("message body\n", f.body)
# check second frame
f = @sfr.frames.shift
assert_equal(0, @sfr.frames.size)
assert_equal("COMMAND2", f.command)
assert_equal("value2", f.headers["name2"])
assert_equal("bar2", f.headers["foo2"])
assert_equal("message body 2\n", f.body)
end
def test_partialframe
@sfr << <<FRAME
COMMAND
name:value
foo:bar
message body
\000
COMMAND2
name2:value2
foo2:bar2
message body 2
FRAME
assert_equal(1, @sfr.frames.size)
f = @sfr.frames.shift
assert_equal(0, @sfr.frames.size)
assert_equal("COMMAND", f.command)
assert_equal("value", f.headers["name"])
assert_equal("bar", f.headers["foo"])
assert_equal("message body\n", f.body)
end
def test_partialframe2
@sfr << <<FRAME
COMMAND
name:value
foo:bar
FRAME
assert_equal(0, @sfr.frames.size)
end
def test_headless_frame
@sfr << <<FRAME
COMMAND
message body\000
FRAME
assert_equal(1, @sfr.frames.size)
f = @sfr.frames.shift
assert_equal(0, @sfr.frames.size)
assert_equal("COMMAND", f.command)
assert_equal("message body", f.body)
end
def test_destination_cache
@sfr << <<FRAME
MESSAGE
destination: /queue/foo
message body\000
FRAME
assert_equal(1, @sfr.frames.size)
f = @sfr.frames.shift
assert_equal(0, @sfr.frames.size)
assert_equal("MESSAGE", f.command)
assert_equal("message body", f.body)
assert_equal('/queue/foo', f.dest)
end
end
|