summaryrefslogtreecommitdiff
path: root/test/wsdl/datetime/test_datetime.rb
diff options
context:
space:
mode:
authornahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-11-30 04:33:02 +0000
committernahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-11-30 04:33:02 +0000
commitd268bf305e926b5418d843098e35462cf97df662 (patch)
tree4268267cc8e52a533e4c78490ce6c2009971f972 /test/wsdl/datetime/test_datetime.rb
parent165d101eed53d09aa614d93557b077305a52006b (diff)
* lib/soap/encodingstyle/soapHandler.rb: refactoring - Simplifying
Conditional Expressions. * lib/wsdl/soap/definitions.rb: refactoring - Move Method. * test/xsd/{test_noencoding.rb,noencoding.xml}: new files. test for encoding unspecified XML file parsing. * test/wsdl/{test_fault.rb,map,datetime}: new files. test of SOAPFault, dateTime and Apache's Map. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/wsdl/datetime/test_datetime.rb')
-rw-r--r--test/wsdl/datetime/test_datetime.rb81
1 files changed, 81 insertions, 0 deletions
diff --git a/test/wsdl/datetime/test_datetime.rb b/test/wsdl/datetime/test_datetime.rb
new file mode 100644
index 0000000000..a60d9b70a0
--- /dev/null
+++ b/test/wsdl/datetime/test_datetime.rb
@@ -0,0 +1,81 @@
+require 'test/unit'
+require 'soap/wsdlDriver'
+
+
+module WSDL
+module Datetime
+
+
+class TestDatetime < Test::Unit::TestCase
+ DIR = File.dirname(File.expand_path(__FILE__))
+
+ Port = 17171
+
+ def setup
+ setup_server
+ setup_client
+ end
+
+ def setup_server
+ $:.push(DIR)
+ require File.join(DIR, 'DatetimeService.rb')
+ $:.delete(DIR)
+ @server = DatetimePortTypeApp.new('Datetime server', nil, '0.0.0.0', Port)
+ @server.level = Logger::Severity::ERROR
+ @t = Thread.new {
+ Thread.current.abort_on_exception = true
+ @server.start
+ }
+ while @server.server.nil? or @server.server.status != :Running
+ sleep 0.1
+ unless @t.alive?
+ @t.join
+ raise
+ end
+ end
+ end
+
+ def setup_client
+ wsdl = File.join(DIR, 'datetime.wsdl')
+ @client = ::SOAP::WSDLDriverFactory.new(wsdl).create_driver
+ @client.endpoint_url = "http://localhost:#{Port}/"
+ @client.generate_explicit_type = true
+ end
+
+ def teardown
+ teardown_server
+ teardown_client
+ end
+
+ def teardown_server
+ @server.server.shutdown
+ @t.kill
+ @t.join
+ end
+
+ def teardown_client
+ @client.reset_stream
+ end
+
+ def test_datetime
+ d = DateTime.now
+ assert_equal(d + 1, @client.now(d))
+ end
+
+ def test_time
+ d = DateTime.now
+ t = Time.gm(d.year, d.month, d.day, d.hour, d.min, d.sec)
+ d2 = d + 1
+ t2 = @client.now(t)
+ assert_equal(d2.year, t2.year)
+ assert_equal(d2.month, t2.month)
+ assert_equal(d2.day, t2.day)
+ assert_equal(d2.hour, t2.hour)
+ assert_equal(d2.min, t2.min)
+ assert_equal(d2.sec, t2.sec)
+ end
+end
+
+
+end
+end