Checkout of Instiki Trunk 1/21/2007.
This commit is contained in:
commit
69b62b6f33
1138 changed files with 139586 additions and 0 deletions
73
vendor/rails/actionwebservice/test/container_test.rb
vendored
Normal file
73
vendor/rails/actionwebservice/test/container_test.rb
vendored
Normal file
|
@ -0,0 +1,73 @@
|
|||
require File.dirname(__FILE__) + '/abstract_unit'
|
||||
|
||||
module ContainerTest
|
||||
$immediate_service = Object.new
|
||||
$deferred_service = Object.new
|
||||
|
||||
class DelegateContainer < ActionController::Base
|
||||
web_service_dispatching_mode :delegated
|
||||
|
||||
attr :flag
|
||||
attr :previous_flag
|
||||
|
||||
def initialize
|
||||
@previous_flag = nil
|
||||
@flag = true
|
||||
end
|
||||
|
||||
web_service :immediate_service, $immediate_service
|
||||
web_service(:deferred_service) { @previous_flag = @flag; @flag = false; $deferred_service }
|
||||
end
|
||||
|
||||
class DirectContainer < ActionController::Base
|
||||
web_service_dispatching_mode :direct
|
||||
end
|
||||
|
||||
class InvalidContainer
|
||||
include ActionWebService::Container::Direct
|
||||
end
|
||||
end
|
||||
|
||||
class TC_Container < Test::Unit::TestCase
|
||||
include ContainerTest
|
||||
|
||||
def setup
|
||||
@delegate_container = DelegateContainer.new
|
||||
@direct_container = DirectContainer.new
|
||||
end
|
||||
|
||||
def test_registration
|
||||
assert(DelegateContainer.has_web_service?(:immediate_service))
|
||||
assert(DelegateContainer.has_web_service?(:deferred_service))
|
||||
assert(!DelegateContainer.has_web_service?(:fake_service))
|
||||
assert_raises(ActionWebService::Container::Delegated::ContainerError) do
|
||||
DelegateContainer.web_service('invalid')
|
||||
end
|
||||
end
|
||||
|
||||
def test_service_object
|
||||
assert_raises(ActionWebService::Container::Delegated::ContainerError) do
|
||||
@delegate_container.web_service_object(:nonexistent)
|
||||
end
|
||||
assert(@delegate_container.flag == true)
|
||||
assert(@delegate_container.web_service_object(:immediate_service) == $immediate_service)
|
||||
assert(@delegate_container.previous_flag.nil?)
|
||||
assert(@delegate_container.flag == true)
|
||||
assert(@delegate_container.web_service_object(:deferred_service) == $deferred_service)
|
||||
assert(@delegate_container.previous_flag == true)
|
||||
assert(@delegate_container.flag == false)
|
||||
end
|
||||
|
||||
def test_direct_container
|
||||
assert(DirectContainer.web_service_dispatching_mode == :direct)
|
||||
end
|
||||
|
||||
def test_validity
|
||||
assert_raises(ActionWebService::Container::Direct::ContainerError) do
|
||||
InvalidContainer.web_service_api :test
|
||||
end
|
||||
assert_raises(ActionWebService::Container::Direct::ContainerError) do
|
||||
InvalidContainer.web_service_api 50.0
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue