awips2/cotsSource/org.apache.qpid/ruby/tests/assembler.rb
root 9f19e3f712 Initial revision of AWIPS2 11.9.0-7p5
Former-commit-id: 64fa9254b946eae7e61bbc3f513b7c3696c4f54f
2012-01-06 08:55:05 -06:00

78 lines
2.2 KiB
Ruby

#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
require "test/unit"
require "qpid"
require 'tests/util'
require 'logger'
class TestAssembler< Test::Unit::TestCase
Segment = Qpid::Segment
Assembler = Qpid::Assembler
def setup
# Qpid::asm_logger = Logger.new(STDOUT)
@server = Util::ServerThread.new do |socket|
asm = Assembler.new(socket)
begin
header = asm.read_header
asm.write_header(header[-2], header[-1])
loop do
seg = asm.read_segment
asm.write_segment(seg)
end
rescue Qpid::Closed
nil # Ignore
end
end
end
def teardown
@server.finish
@server.join
end
def test_assembler
asm = Assembler.new(@server.client, max_payload = 1)
asm.write_header(0, 10)
asm.write_segment(Segment.new(true, false, 1, 2, 3, "TEST"))
asm.write_segment(Segment.new(false, true, 1, 2, 3, "ING"))
assert_equal( ["AMQP", 1, 1, 0, 10], asm.read_header)
seg = asm.read_segment
assert_equal(true, seg.first_segment?)
assert_equal(false, seg.last_segment?)
assert_equal(1, seg.type)
assert_equal(2, seg.track)
assert_equal(3, seg.channel)
assert_equal("TEST", seg.payload)
seg = asm.read_segment
assert_equal(false, seg.first_segment?)
assert_equal(true, seg.last_segment?)
assert_equal(1, seg.type)
assert_equal(2, seg.track)
assert_equal(3, seg.channel)
assert_equal("ING", seg.payload)
end
end