Updated MSpec source to 1c3ee1c8.
[rbx.git] / test / mri / wsdl / datetime / test_datetime.rb
blob76523182050e4745cc02ffab50ab5eb392f5f15f
1 require 'test/unit'
2 require 'soap/wsdlDriver'
3 require 'DatetimeService.rb'
6 module WSDL
7 module Datetime
10 class TestDatetime < Test::Unit::TestCase
11   DIR = File.dirname(File.expand_path(__FILE__))
13   Port = 17171
15   def setup
16     setup_server
17     setup_client
18   end
20   def setup_server
21     @server = DatetimePortTypeApp.new('Datetime server', nil, '0.0.0.0', Port)
22     @server.level = Logger::Severity::ERROR
23     @t = Thread.new {
24       Thread.current.abort_on_exception = true
25       @server.start
26     }
27   end
29   def setup_client
30     wsdl = File.join(DIR, 'datetime.wsdl')
31     @client = ::SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
32     @client.endpoint_url = "http://localhost:#{Port}/"
33     @client.generate_explicit_type = true
34     @client.wiredump_dev = STDOUT if $DEBUG
35   end
37   def teardown
38     teardown_server
39     teardown_client
40   end
42   def teardown_server
43     @server.shutdown
44     @t.kill
45     @t.join
46   end
48   def teardown_client
49     @client.reset_stream
50   end
52   def test_datetime
53     d = DateTime.now
54     d1 = d + 1
55     d2 = @client.now(d)
56     assert_equal(d1.year, d2.year)
57     assert_equal(d1.month, d2.month)
58     assert_equal(d1.day, d2.day)
59     assert_equal(d1.hour, d2.hour)
60     assert_equal(d1.min, d2.min)
61     assert_equal(d1.sec, d2.sec)
62     assert_equal(d1.sec, d2.sec)
63   end
65   def test_time
66     d = DateTime.now
67     t = Time.gm(d.year, d.month, d.day, d.hour, d.min, d.sec)
68     d1 = d + 1
69     d2 = @client.now(t)
70     assert_equal(d1.year, d2.year)
71     assert_equal(d1.month, d2.month)
72     assert_equal(d1.day, d2.day)
73     assert_equal(d1.hour, d2.hour)
74     assert_equal(d1.min, d2.min)
75     assert_equal(d1.sec, d2.sec)
76     assert_equal(d1.sec, d2.sec)
77   end
78 end
81 end
82 end