diff options
Diffstat (limited to 'ruby_1_8_6/test/soap/helloworld')
-rw-r--r-- | ruby_1_8_6/test/soap/helloworld/hw_s.rb | 16 | ||||
-rw-r--r-- | ruby_1_8_6/test/soap/helloworld/test_helloworld.rb | 40 |
2 files changed, 56 insertions, 0 deletions
diff --git a/ruby_1_8_6/test/soap/helloworld/hw_s.rb b/ruby_1_8_6/test/soap/helloworld/hw_s.rb new file mode 100644 index 0000000000..1a54adb924 --- /dev/null +++ b/ruby_1_8_6/test/soap/helloworld/hw_s.rb @@ -0,0 +1,16 @@ +require 'soap/rpc/standaloneServer' + +class HelloWorldServer < SOAP::RPC::StandaloneServer + def on_init + add_method(self, 'hello_world', 'from') + end + + def hello_world(from) + "Hello World, from #{ from }" + end +end + +if $0 == __FILE__ + server = HelloWorldServer.new('hws', 'urn:hws', '0.0.0.0', 17171) + server.start +end diff --git a/ruby_1_8_6/test/soap/helloworld/test_helloworld.rb b/ruby_1_8_6/test/soap/helloworld/test_helloworld.rb new file mode 100644 index 0000000000..40c35b57fb --- /dev/null +++ b/ruby_1_8_6/test/soap/helloworld/test_helloworld.rb @@ -0,0 +1,40 @@ +require 'test/unit' +require 'soap/rpc/driver' +require 'hw_s.rb' + + +module SOAP +module HelloWorld + + +class TestHelloWorld < Test::Unit::TestCase + Port = 17171 + + def setup + @server = HelloWorldServer.new('hws', 'urn:hws', '0.0.0.0', Port) + @server.level = Logger::Severity::ERROR + @t = Thread.new { + Thread.current.abort_on_exception = true + @server.start + } + @endpoint = "http://localhost:#{Port}/" + @client = SOAP::RPC::Driver.new(@endpoint, 'urn:hws') + @client.add_method("hello_world", "from") + end + + def teardown + @server.shutdown + @t.kill + @t.join + @client.reset_stream + end + + def test_hello_world + assert_equal("Hello World, from NaHi", @client.hello_world("NaHi")) + assert_equal("Hello World, from <&>", @client.hello_world("<&>")) + end +end + + +end +end |