[ap4r-devel] [373] trunk/ap4r: Added tests for message_build.rb.
kato-k at rubyforge.org
kato-k at rubyforge.org
Mon Jan 28 01:02:27 EST 2008
Revision: 373
Author: kato-k
Date: 2008-01-28 01:02:26 -0500 (Mon, 28 Jan 2008)
Log Message:
-----------
Added tests for message_build.rb.
Modified Paths:
--------------
trunk/ap4r/lib/ap4r/message_builder.rb
trunk/ap4r/spec/local/message_builder_spec.rb
Modified: trunk/ap4r/lib/ap4r/message_builder.rb
===================================================================
--- trunk/ap4r/lib/ap4r/message_builder.rb 2008-01-25 02:54:56 UTC (rev 372)
+++ trunk/ap4r/lib/ap4r/message_builder.rb 2008-01-28 06:02:26 UTC (rev 373)
@@ -3,6 +3,7 @@
# Licence:: MIT Licence
require 'active_record'
+require 'active_support'
module Ap4r #:nodoc:
@@ -81,7 +82,7 @@
when :json
set_content_type("application/json")
when :yaml
- set_content_type("text/plain text/yaml")
+ set_content_type("text/yaml")
else
set_content_type("application/x-www-form-urlencoded")
end
Modified: trunk/ap4r/spec/local/message_builder_spec.rb
===================================================================
--- trunk/ap4r/spec/local/message_builder_spec.rb 2008-01-25 02:54:56 UTC (rev 372)
+++ trunk/ap4r/spec/local/message_builder_spec.rb 2008-01-28 06:02:26 UTC (rev 373)
@@ -5,13 +5,13 @@
describe "When simple API is used," do
- describe Ap4r::MessageBuilder, " with empty message" do
+ describe Ap4r::MessageBuilder, " with an empty message" do
before(:all) do
empty_message = {}
@message_builder = Ap4r::MessageBuilder.new("queue_name", empty_message, {})
end
- it "should have right MIME header." do
+ it "should have the right MIME header." do
pending("TODO: should modify implementation? 2008/01/18 kiwamu")
mime_type = @message_builder.message_headers["http_header_Content-type".to_sym]
mime_type.should == "application/x-www-form-urlencoded"
@@ -33,7 +33,7 @@
@message_builder = Ap4r::MessageBuilder.new("queue_name", message, {})
end
- it "should have right MIME header." do
+ it "should have the right MIME header." do
pending("TODO: should modify implementation? 2008/01/18 kiwamu")
mime_type = @message_builder.message_headers["http_header_Content-type".to_sym]
mime_type.should == "application/x-www-form-urlencoded"
@@ -51,16 +51,17 @@
describe Ap4r::MessageBuilder, " with a nested complicated message" do
before(:all) do
- message = {:foo => "bar"} # TODO
- @message_builder = Ap4r::MessageBuilder.new("queue_name", message, {})
+ @message = {:a => {:b => "c", :d => { :e => "f", :g => "h"}}, :i => "j"}
+ @message_builder = Ap4r::MessageBuilder.new("queue_name", @message, {})
end
it "should have the given message." do
- @message_builder.message_body.should == {:foo => "bar"}
+ @message_builder.message_body.should == @message
end
it "should return the urlencoded body." do
- @message_builder.format_message_body.should == "foo=bar"
+ query = @message_builder.format_message_body
+ query.split("&").sort.should == %w(a[b]=c a[d][e]=f a[d][g]=h i=j).sort
end
end
@@ -70,58 +71,129 @@
describe "When block style API is used, " do
- describe Ap4r::MessageBuilder, " assigned no format" do
- it "should have right MIME header." do
+ describe Ap4r::MessageBuilder, " assigned unknown format" do
+
+ before(:all) do
+
+ block = Proc.new do
+ body :key1, "value"
+ body :key2, 1
+ format :unknown_format
+ end
+
+ @message_builder = Ap4r::MessageBuilder.new("", {}, {})
+ @message_builder.instance_eval(&block)
end
+ it "should have the right MIME header." do
+ pending("TODO: should modify implementation? 2008/01/24 kiwamu")
+ mime_type = @message_builder.message_headers["http_header_Content-type".to_sym]
+ mime_type.should == "application/x-www-form-urlencoded"
+ end
+
it "should have the given message." do
+ @message_builder.message_body.should == {:key1 => "value", :key2 => 1}
end
it "should return the urlencoded body." do
+ @message_builder.format_message_body.should == "key1=value&key2=1"
end
+
end
describe Ap4r::MessageBuilder, " assigned text format" do
- it "should have right MIME header." do
+
+ before(:all) do
+
+ block = Proc.new do
+ body :key1, "value"
+ body :key2, 1
+ format :text
+ end
+
+ @message_builder = Ap4r::MessageBuilder.new("", {}, {})
+ @message_builder.instance_eval(&block)
end
- it "should have the given message." do
+ it "should have the right MIME header." do
+ mime_type = @message_builder.message_headers["http_header_Content-type".to_sym]
+ mime_type.should == "text/plain"
end
it "should return the to_s formatted body." do
+ @message_builder.format_message_body.should == {:key1 => "value", :key2 => 1}.to_s
end
end
describe Ap4r::MessageBuilder, " assigned xml format" do
- it "should have right MIME header." do
+
+ before(:all) do
+
+ block = Proc.new do
+ body :key1, "value"
+ body :key2, 1
+ format :xml
+ end
+
+ @message_builder = Ap4r::MessageBuilder.new("", {}, {})
+ @message_builder.instance_eval(&block)
end
- it "should have the given message." do
+ it "should have the right MIME header." do
+ mime_type = @message_builder.message_headers["http_header_Content-type".to_sym]
+ mime_type.should == "application/xml"
end
it "should return the xml formatted body." do
+ @message_builder.format_message_body.should == {:key1 => "value", :key2 => 1}.to_xml(:root => "root")
end
end
describe Ap4r::MessageBuilder, " assigned json format" do
- it "should have right MIME header." do
+
+ before(:all) do
+
+ block = Proc.new do
+ body :key1, "value"
+ body :key2, 1
+ format :json
+ end
+
+ @message_builder = Ap4r::MessageBuilder.new("", {}, {})
+ @message_builder.instance_eval(&block)
end
- it "should have the given message." do
+ it "should have the right MIME header." do
+ mime_type = @message_builder.message_headers["http_header_Content-type".to_sym]
+ mime_type.should == "application/json"
end
it "should return the json formatted body." do
+ @message_builder.format_message_body.should == {:key1 => "value", :key2 => 1}.to_json
end
end
describe Ap4r::MessageBuilder, " assigned yaml format" do
- it "should have right MIME header." do
+
+ before(:all) do
+
+ block = Proc.new do
+ body :key1, "value"
+ body :key2, 1
+ format :yaml
+ end
+
+ @message_builder = Ap4r::MessageBuilder.new("", {}, {})
+ @message_builder.instance_eval(&block)
end
- it "should have the given message." do
+ it "should have the right MIME header." do
+ mime_type = @message_builder.message_headers["http_header_Content-type".to_sym]
+ mime_type.should == "text/yaml"
end
it "should return the yaml formatted body." do
+ @message_builder.format_message_body.should == {:key1 => "value", :key2 => 1}.to_yaml
end
end
More information about the ap4r-devel
mailing list