Sha256: 68d981e024a0697438a830c32445e2a2e7f02890df2fda49da5b45de0057e659

Contents?: true

Size: 1.58 KB

Versions: 2

Compression:

Stored size: 1.58 KB

Contents

require 'helper'
require 'lolsoap/wsdl'

module LolSoap
  describe WSDL do
    subject { WSDL.parse(File.read(TEST_ROOT + '/fixtures/stock_quote.wsdl')) }

    it 'should successfully parse a WSDL document' do
      subject.operations.length.must_equal 2
      subject.operations.fetch('GetLastTradePrice').tap do |o|
        o.input.header.tap do |header|
          header.name.must_equal 'Header'
          header.content.must_equal nil
          header.content_type.elements.keys.size.must_equal 2
          header.content_type.elements.keys.first.must_equal 'tradePriceRequestHeader'
          header.content_type.elements.keys.last.must_equal 'authentication'
        end
        o.input.body.name.must_equal 'Body'
        o.input.body.content.name.must_equal 'tradePriceRequest'
        o.action.must_equal 'http://example.com/GetLastTradePrice'
      end

      subject.operations.fetch('GetHistoricalPrice').tap do |o|
        o.input.header.name.must_equal 'Header'
        o.input.header.content.must_equal nil
        o.input.header.content_type.class.must_equal WSDL::NullType
        o.input.body.name.must_equal 'Body'
        o.input.body.content.name.must_equal 'historicalPriceRequest'
      end

      subject.abstract_types.length.must_equal 1
      subject.abstract_types.fetch('BaseRequest').tap do |t|
        t.prefix.must_equal 'ns0'
      end

      subject.types.length.must_equal 4
      subject.types.fetch('TradePriceRequest').tap do |t|
        t.prefix.must_equal 'ns0'
      end
    end

    describe '#inspect' do
      it 'works' do
        subject.inspect
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lolsoap-0.11.0 test/integration/test_wsdl.rb
lolsoap-0.10.0 test/integration/test_wsdl.rb