summaryrefslogtreecommitdiff
path: root/test/wsdl/test_multiplefault.rb
blob: 7004297dc90afda5fb23ca419f37573b7513dcbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
require 'test/unit'
require 'wsdl/parser'
require 'wsdl/soap/classDefCreator'


module WSDL


class TestMultipleFault < Test::Unit::TestCase
  def self.setup(filename)
    @@filename = filename
  end

  def test_multiplefault
    @wsdl = WSDL::Parser.new.parse(File.open(@@filename) { |f| f.read })
    classdefstr = WSDL::SOAP::ClassDefCreator.new(@wsdl).dump
    yield_eval_binding(classdefstr) do |b|
      assert_equal(
	WSDL::TestMultipleFault::AuthenticationError,
	eval("AuthenticationError", b)
      )
      assert_equal(
	WSDL::TestMultipleFault::AuthorizationError,
	eval("AuthorizationError", b)
      )
    end
  end

  def yield_eval_binding(evaled)
    b = binding
    eval(evaled, b)
    yield(b)
  end
end

TestMultipleFault.setup(File.join(File.dirname(__FILE__), 'multiplefault.wsdl'))


end