~ubuntu-branches/ubuntu/trusty/ruby1.9/trusty

« back to all changes in this revision

Viewing changes to test/soap/wsdlDriver/test_calc.rb

  • Committer: Bazaar Package Importer
  • Author(s): Stephan Hermann
  • Date: 2008-01-24 11:42:29 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: james.westby@ubuntu.com-20080124114229-jw2f87rdxlq6gp11
Tags: 1.9.0.0-2ubuntu1
* Merge from debian unstable, remaining changes:
  - Robustify check for target_os, fixing build failure on lpia.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
require 'test/unit'
2
 
require 'soap/rpc/httpserver'
3
 
require 'soap/wsdlDriver'
4
 
 
5
 
 
6
 
module SOAP
7
 
 
8
 
 
9
 
class TestCalc < Test::Unit::TestCase
10
 
  class Server < ::SOAP::RPC::HTTPServer
11
 
    def on_init
12
 
      add_method(self, 'add', 'x', 'y')
13
 
    end
14
 
  
15
 
    def add(x, y)
16
 
      x.to_f + y.to_f
17
 
    end
18
 
  end
19
 
 
20
 
  DIR = File.dirname(File.expand_path(__FILE__))
21
 
  Port = 17171
22
 
 
23
 
  def setup
24
 
    setup_server
25
 
    setup_client
26
 
  end
27
 
 
28
 
  def setup_server
29
 
    @server = Server.new(
30
 
      :BindAddress => "0.0.0.0",
31
 
      :Port => Port,
32
 
      :AccessLog => [],
33
 
      :SOAPDefaultNamespace => 'http://www.fred.com'
34
 
    )
35
 
    @server.level = Logger::Severity::ERROR
36
 
    @server_thread = start_server_thread(@server)
37
 
  end
38
 
 
39
 
  def setup_client
40
 
    @wsdl = File.join(DIR, 'calc.wsdl')
41
 
  end
42
 
 
43
 
  def teardown
44
 
    teardown_server
45
 
    teardown_client
46
 
  end
47
 
 
48
 
  def teardown_server
49
 
    @server.shutdown
50
 
    @server_thread.kill
51
 
    @server_thread.join
52
 
  end
53
 
 
54
 
  def teardown_client
55
 
    @client.reset_stream if @client
56
 
  end
57
 
 
58
 
  def start_server_thread(server)
59
 
    t = Thread.new {
60
 
      Thread.current.abort_on_exception = true
61
 
      server.start
62
 
    }
63
 
    t
64
 
  end
65
 
 
66
 
  def test_rpc_driver
67
 
    @client = ::SOAP::WSDLDriverFactory.new(@wsdl).create_rpc_driver
68
 
    @client.wiredump_dev = STDOUT if $DEBUG
69
 
    @client.endpoint_url = "http://localhost:#{Port}/"
70
 
    @client.generate_explicit_type = true
71
 
    assert_equal(0.3, @client.add(0.1, 0.2))
72
 
    @client.generate_explicit_type = false
73
 
    assert_equal(0.3, @client.add(0.1, 0.2))
74
 
  end
75
 
 
76
 
  def test_old_driver
77
 
    @client = ::SOAP::WSDLDriverFactory.new(@wsdl).create_driver
78
 
    @client.wiredump_dev = STDOUT if $DEBUG
79
 
    @client.endpoint_url = "http://localhost:#{Port}/"
80
 
    @client.generate_explicit_type = true
81
 
    assert_equal(0.3, @client.add(0.1, 0.2))
82
 
    @client.generate_explicit_type = false
83
 
    assert_equal(0.3, @client.add(0.1, 0.2))
84
 
  end
85
 
end
86
 
 
87
 
 
88
 
end