[ap4r-devel] [268] branches/200709_gihyo/async_shop/as_rails/test: Add AP4R test stub not to use network.
shino at rubyforge.org
shino at rubyforge.org
Tue Aug 28 03:40:28 EDT 2007
Revision: 268
Author: shino
Date: 2007-08-28 03:40:27 -0400 (Tue, 28 Aug 2007)
Log Message:
-----------
Add AP4R test stub not to use network.
This stub code should be moved to AP4R modules. (needs refactoring)
Add a test case which assert a (would-be) queued message.
Modified Paths:
--------------
branches/200709_gihyo/async_shop/as_rails/test/functional/async_shop_controller_test.rb
branches/200709_gihyo/async_shop/as_rails/test/test_helper.rb
Modified: branches/200709_gihyo/async_shop/as_rails/test/functional/async_shop_controller_test.rb
===================================================================
--- branches/200709_gihyo/async_shop/as_rails/test/functional/async_shop_controller_test.rb 2007-08-28 07:36:11 UTC (rev 267)
+++ branches/200709_gihyo/async_shop/as_rails/test/functional/async_shop_controller_test.rb 2007-08-28 07:40:27 UTC (rev 268)
@@ -15,4 +15,17 @@
def test_truth
assert true
end
+
+ def test_order
+ post :order, :order => {:item => "introduction to AP4R"}
+ assert_response :redirect
+ assert_redirected_to :action => 'index'
+
+ messages = @controller.ap4r.queued_messages
+ assert_equal 1, messages.keys.size, "should have just ONE queued message"
+ assert messages.key?("queue.async_shop.payment"), "queue name is INCORRECT"
+ assert_match /order_id=\d+/, messages["queue.async_shop.payment"].first[:message],
+ "parameter order_id should be included"
+ end
+
end
Modified: branches/200709_gihyo/async_shop/as_rails/test/test_helper.rb
===================================================================
--- branches/200709_gihyo/async_shop/as_rails/test/test_helper.rb 2007-08-28 07:36:11 UTC (rev 267)
+++ branches/200709_gihyo/async_shop/as_rails/test/test_helper.rb 2007-08-28 07:40:27 UTC (rev 268)
@@ -26,3 +26,23 @@
# Add more helper methods to be used by all tests here...
end
+
+module Ap4r
+ module AsyncHelper
+ module Base
+ def queued_messages
+ return @queued_messages if @queued_messages
+ @queued_messages = Hash.new {|hash, key| hash[key] = []}
+ return @queued_messages
+ end
+
+ private
+ def __queue_put(queue_name, queue_message, queue_headers)
+ puts queued_messages
+ puts queued_messages[queue_name]
+ queued_messages[queue_name] << {:headers => queue_headers, :message => queue_message}
+ end
+
+ end
+ end
+end
More information about the ap4r-devel
mailing list