From 5548c7bff292de16abb9f6e8d9cc4999e0b22c71 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Sat, 3 Jul 2004 15:38:36 +0000 Subject: This commit was manufactured by cvs2svn to create branch 'ruby_1_8'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/wsdl/simpletype/simpletype.wsdl | 67 +++++++++++++++++++++++++++ test/wsdl/simpletype/test_simpletype.rb | 81 +++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 test/wsdl/simpletype/simpletype.wsdl create mode 100644 test/wsdl/simpletype/test_simpletype.rb (limited to 'test/wsdl/simpletype') diff --git a/test/wsdl/simpletype/simpletype.wsdl b/test/wsdl/simpletype/simpletype.wsdl new file mode 100644 index 0000000000..ec3266fc14 --- /dev/null +++ b/test/wsdl/simpletype/simpletype.wsdl @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/wsdl/simpletype/test_simpletype.rb b/test/wsdl/simpletype/test_simpletype.rb new file mode 100644 index 0000000000..a46bf5dd78 --- /dev/null +++ b/test/wsdl/simpletype/test_simpletype.rb @@ -0,0 +1,81 @@ +require 'test/unit' +require 'soap/rpc/standaloneServer' +require 'soap/wsdlDriver' + + +module WSDL +module SimpleType + + +class TestSimpleType < Test::Unit::TestCase + class Server < ::SOAP::RPC::StandaloneServer + def on_init + add_method(self, 'ruby', 'version', 'date') + end + + def ruby(version, date) + "#{version} (#{date})" + end + end + + DIR = File.dirname(File.expand_path(__FILE__)) + + Port = 17171 + + def setup + setup_server + setup_client + end + + def setup_server + @server = Server.new('Test', "urn:example.com:simpletype", '0.0.0.0', Port) + @server.level = Logger::Severity::ERROR + @server_thread = start_server_thread(@server) + end + + def setup_client + wsdl = File.join(DIR, 'simpletype.wsdl') + @client = ::SOAP::WSDLDriverFactory.new(wsdl).create_driver + @client.endpoint_url = "http://localhost:#{Port}/" + @client.generate_explicit_type = false + end + + def teardown + teardown_server + teardown_client + end + + def teardown_server + @server.shutdown + @server_thread.kill + @server_thread.join + end + + def teardown_client + @client.reset_stream + end + + def start_server_thread(server) + t = Thread.new { + Thread.current.abort_on_exception = true + server.start + } + while server.status != :Running + sleep 0.1 + unless t.alive? + t.join + raise + end + end + t + end + + def test_ping + header, body = @client.ping(nil, {:version => "1.9", :date => "2004-01-01T00:00:00Z"}) + assert_equal("1.9 (2004-01-01T00:00:00Z)", body) + end +end + + +end +end -- cgit v1.2.3