spec/message_spec.rb in dripdrop-0.5.0 vs spec/message_spec.rb in dripdrop-0.6.0
- old
+ new
@@ -7,12 +7,12 @@
describe DripDrop::Message do
describe "basic message" do
def create_basic
attrs = {
:name => 'test',
- :head => {:foo => :bar},
- :body => [:foo, :bar, :baz]
+ :head => {'foo' => 'bar'},
+ :body => ['foo', 'bar', 'baz']
}
message = DripDrop::Message.new(attrs[:name],:head => attrs[:head],
:body => attrs[:body])
[message, attrs]
end
@@ -26,11 +26,11 @@
lambda {
DripDrop::Message.new('nameonly')
}.should_not raise_exception
end
it "should set the head to a single key hash containing message class if nil provided" do
- DripDrop::Message.new('nilhead', :head => nil).head.should == {:msg_class => 'DripDrop::Message'}
+ DripDrop::Message.new('nilhead', :head => nil).head.should == {'msg_class' => 'DripDrop::Message'}
end
it "should raise an exception if a non-hash, non-nil head is provided" do
lambda {
DripDrop::Message.new('arrhead', :head => [])
}.should raise_exception(ArgumentError)
@@ -38,14 +38,14 @@
end
describe "encoding" do
before(:all) do
@message, @attrs = create_basic
end
- it "should encode to valid BERT hash without error" do
+ it "should encode to valid MessagePack hash without error" do
enc = @message.encoded
enc.should be_a(String)
- BERT.decode(enc).should be_a(Hash)
+ MessagePack.unpack(enc).should be_a(Hash)
end
it "should decode encoded messages without errors" do
DripDrop::Message.decode(@message.encoded).should be_a(DripDrop::Message)
end
it "should encode to valid JSON without error" do
@@ -65,12 +65,12 @@
end
describe "subclassing" do
def create_auto_message
attrs = {
:name => 'test',
- :head => {:foo => :bar, :msg_class => 'SpecMessageClass'},
- :body => [:foo, :bar, :baz]
+ :head => {'foo' => 'bar', 'msg_class' => 'SpecMessageClass'},
+ :body => ['foo', 'bar', 'baz']
}
message = DripDrop::AutoMessageClass.create_message(attrs)
[message, attrs]
@@ -79,24 +79,19 @@
@message, @attrs = create_auto_message
end
it "should be added to the subclass message class hash if SubclassedMessage included" do
DripDrop::AutoMessageClass.message_subclasses.should include('SpecMessageClass' => SpecMessageClass)
end
- it "should set the msg_class using a symbol, not a string when using JSON" do
- msg = DripDrop::Message.decode_json(DripDrop::Message.new('test').json_encoded)
- msg.head['msg_class'].should be_nil
- msg.head[:msg_class].should == 'DripDrop::Message'
- end
it "should throw an exception if we try to recreate a message of the wrong class" do
msg = DripDrop::Message.new('test')
lambda{SpecMessageClass.recreate_message(msg.to_hash)}.should raise_exception
end
describe "DripDrop::AutoMessageClass" do
- it "should create a properly classed message based on head[:msg_class]" do
+ it "should create a properly classed message based on head['msg_class']" do
@message.should be_a(SpecMessageClass)
end
- it "should recreate a message based on head[:msg_class]" do
+ it "should recreate a message based on head['msg_class']" do
DripDrop::AutoMessageClass.recreate_message(@message.to_hash).should be_a(SpecMessageClass)
end
end
end
end