spec/amq/protocol/basic_spec.rb in amq-protocol-2.2.0 vs spec/amq/protocol/basic_spec.rb in amq-protocol-2.3.0.rc1
- old
+ new
@@ -1,44 +1,41 @@
# encoding: binary
-require File.expand_path('../../../spec_helper', __FILE__)
-
-
module AMQ
module Protocol
- describe Basic do
+ RSpec.describe AMQ::Protocol::Basic do
describe '.encode_timestamp' do
it 'encodes the timestamp as a 64 byte big endian integer' do
expect(Basic.encode_timestamp(12345).last).to eq("\x00\x00\x00\x00\x00\x0009")
end
end
-
+
# describe '.decode_timestamp' do
# it 'decodes the timestamp from a 64 byte big endian integer and returns a Time object' do
# expect(Basic.decode_timestamp("\x00\x00\x00\x00\x00\x0009")).to eq(Time.at(12345))
# end
# end
-
+
describe '.encode_headers' do
it 'encodes the headers as a table' do
expect(Basic.encode_headers(:hello => 'world').last).to eq("\x00\x00\x00\x10\x05helloS\x00\x00\x00\x05world")
end
end
-
+
# describe '.decode_headers' do
# it 'decodes the headers from a table' do
# expect(Basic.decode_headers("\x00\x00\x00\x10\x05helloS\x00\x00\x00\x05world")).to eq({'hello' => 'world'})
# end
# end
-
+
describe '.encode_properties' do
it 'packs the parameters into a byte array using the other encode_* methods' do
result = Basic.encode_properties(10, {:priority => 0, :delivery_mode => 2, :content_type => 'application/octet-stream'})
expect(result).to eq("\x00<\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x98\x00\x18application/octet-stream\x02\x00")
end
end
-
+
describe '.decode_properties' do
it 'unpacks the properties from a byte array using the decode_* methods' do
result = Basic.decode_properties("\x98@\x18application/octet-stream\x02\x00\x00\x00\x00\x00\x00\x00\x00{")
expect(result).to eq({:priority => 0, :delivery_mode => 2, :content_type => 'application/octet-stream', :timestamp => Time.at(123)})
end
@@ -46,11 +43,11 @@
it 'unpacks the properties from a byte array using the decode_* methods, including a table' do
result = Basic.decode_properties("\xB8@\x18application/octet-stream\x00\x00\x00\x10\x05helloS\x00\x00\x00\x05world\x02\x00\x00\x00\x00\x00\x00\x00\x00{")
expect(result).to eq({:priority => 0, :delivery_mode => 2, :content_type => 'application/octet-stream', :timestamp => Time.at(123), :headers => {'hello' => 'world'}})
end
end
-
+
%w(content_type content_encoding correlation_id reply_to expiration message_id type user_id app_id cluster_id).each do |method|
describe ".encode_#{method}" do
it 'encodes the parameter as a Pascal string' do
expect(Basic.send("encode_#{method}", 'hello world').last).to eq("\x0bhello world")
end
@@ -61,11 +58,11 @@
# # the length has been stripped in .decode_properties
# expect(Basic.send("decode_#{method}", 'hello world')).to eq('hello world')
# end
# end
end
-
+
%w(delivery_mode priority).each do |method|
describe ".encode_#{method}" do
it 'encodes the parameter as a char' do
expect(Basic.send("encode_#{method}", 10).last).to eq("\x0a")
end
@@ -76,13 +73,13 @@
# expect(Basic.send("decode_#{method}", "\x10")).to eq(16)
# end
# end
end
end
-
+
class Basic
- describe Qos do
+ RSpec.describe Qos do
describe '.encode' do
it 'encodes the parameters into a MethodFrame' do
channel = 1
prefetch_size = 3
prefetch_count = 5
@@ -92,16 +89,16 @@
expect(method_frame.channel).to eq(1)
end
end
end
- # describe QosOk do
+ # RSpec.describe QosOk do
# describe '.decode' do
# end
# end
- describe Consume do
+ RSpec.describe Consume do
describe '.encode' do
it 'encodes the parameters into a MethodFrame' do
channel = 1
queue = 'foo'
consumer_tag = 'me'
@@ -114,53 +111,53 @@
expect(method_frame.payload).to eq("\x00<\x00\x14\x00\x00\x03foo\x02me\x04\x00\x00\x00\x00")
expect(method_frame.channel).to eq(1)
end
end
end
-
- describe ConsumeOk do
+
+ RSpec.describe ConsumeOk do
describe '.decode' do
subject do
ConsumeOk.decode("\x03foo")
end
-
+
its(:consumer_tag) { should eq('foo') }
end
end
- describe Cancel do
+ RSpec.describe Cancel do
describe '.encode' do
it 'encodes the parameters into a MethodFrame' do
channel = 1
consumer_tag = 'foo'
nowait = true
method_frame = Cancel.encode(channel, consumer_tag, nowait)
expect(method_frame.payload).to eq("\x00<\x00\x1E\x03foo\x01")
expect(method_frame.channel).to eq(1)
end
end
-
+
describe '.decode' do
subject do
- CancelOk.decode("\x03foo\x01")
+ CancelOk.decode("\x03foo\x01")
end
its(:consumer_tag) { should eq('foo') }
end
end
- describe CancelOk do
+ RSpec.describe CancelOk do
describe '.decode' do
subject do
CancelOk.decode("\x03foo")
end
-
+
its(:consumer_tag) { should eq('foo') }
end
end
- describe Publish do
+ RSpec.describe Publish do
describe '.encode' do
it 'encodes the parameters into a list of MethodFrames' do
channel = 1
payload = 'Hello World!'
user_headers = {:priority => 0, :content_type => 'application/octet-stream'}
@@ -179,38 +176,38 @@
expect(method_frames.size).to eq(3)
end
end
end
- describe Return do
+ RSpec.describe Return do
describe '.decode' do
subject do
Return.decode("\x019\fNO_CONSUMERS\namq.fanout\x00")
end
-
+
its(:reply_code) { should eq(313) }
its(:reply_text) { should eq('NO_CONSUMERS') }
its(:exchange) { should eq('amq.fanout') }
its(:routing_key) { should eq('') }
end
end
- describe Deliver do
+ RSpec.describe Deliver do
describe '.decode' do
subject do
Deliver.decode("\e-1300560114000-445586772970\x00\x00\x00\x00\x00\x00\x00c\x00\namq.fanout\x00")
end
-
+
its(:consumer_tag) { should eq('-1300560114000-445586772970') }
its(:delivery_tag) { should eq(99) }
its(:redelivered) { should eq(false) }
its(:exchange) { should eq('amq.fanout') }
its(:routing_key) { should eq('') }
end
end
-
- describe Get do
+
+ RSpec.describe Get do
describe '.encode' do
it 'encodes the parameters into a MethodFrame' do
channel = 1
queue = 'foo'
no_ack = true
@@ -218,36 +215,36 @@
expect(method_frame.payload).to eq("\x00\x3c\x00\x46\x00\x00\x03foo\x01")
expect(method_frame.channel).to eq(1)
end
end
end
-
- describe GetOk do
+
+ RSpec.describe GetOk do
describe '.decode' do
subject do
GetOk.decode("\x00\x00\x00\x00\x00\x00\x00\x06\x00\namq.fanout\x00\x00\x00\x00^")
end
-
+
its(:delivery_tag) { should eq(6) }
its(:redelivered) { should eq(false) }
its(:exchange) { should eq('amq.fanout') }
its(:routing_key) { should eq('') }
its(:message_count) { should eq(94) }
end
end
-
- describe GetEmpty do
+
+ RSpec.describe GetEmpty do
describe '.decode' do
subject do
GetEmpty.decode("\x03foo")
end
-
+
its(:cluster_id) { should eq('foo') }
end
end
- describe Ack do
+ RSpec.describe Ack do
describe '.encode' do
it 'encodes the parameters into a MethodFrame' do
channel = 1
delivery_tag = 6
multiple = false
@@ -255,12 +252,12 @@
expect(method_frame.payload).to eq("\x00<\x00P\x00\x00\x00\x00\x00\x00\x00\x06\x00")
expect(method_frame.channel).to eq(1)
end
end
end
-
- describe Reject do
+
+ RSpec.describe Reject do
describe '.encode' do
it 'encodes the parameters into a MethodFrame' do
channel = 1
delivery_tag = 8
requeue = true
@@ -268,24 +265,24 @@
expect(method_frame.payload).to eq("\x00<\x00Z\x00\x00\x00\x00\x00\x00\x00\x08\x01")
expect(method_frame.channel).to eq(1)
end
end
end
-
- describe RecoverAsync do
+
+ RSpec.describe RecoverAsync do
describe '.encode' do
it 'encodes the parameters into a MethodFrame' do
channel = 1
requeue = true
method_frame = RecoverAsync.encode(channel, requeue)
expect(method_frame.payload).to eq("\x00<\x00d\x01")
expect(method_frame.channel).to eq(1)
end
end
end
-
- describe Recover do
+
+ RSpec.describe Recover do
describe '.encode' do
it 'encodes the parameters into a MethodFrame' do
channel = 1
requeue = true
method_frame = Recover.encode(channel, requeue)
@@ -293,25 +290,25 @@
expect(method_frame.channel).to eq(1)
end
end
end
- # describe RecoverOk do
+ # RSpec.describe RecoverOk do
# describe '.decode' do
# end
# end
-
- describe Nack do
+
+ RSpec.describe Nack do
describe '.decode' do
subject do
Nack.decode("\x00\x00\x00\x00\x00\x00\x00\x09\x03")
end
-
+
its(:delivery_tag) { should eq(9) }
its(:multiple) { should eq(true) }
its(:requeue) { should eq(true) }
end
-
+
describe '.encode' do
it 'encodes the parameters into a MethodFrame' do
channel = 1
delivery_tag = 10
multiple = false