Sha256: 806efa1046564e7d6fd5a7cf0bef5f9b67df667d7d67c74c6eaf6cdabed3369e

Contents?: true

Size: 1.6 KB

Versions: 3

Compression:

Stored size: 1.6 KB

Contents

require 'spec_helper'

describe 'Integration with Rio II' do

  before :all do
    wsdl_url  = 'http://193.155.1.72/MyCentral-RioII-Services/SecurityService.svc?wsdl'
    wsdl0_url = 'http://193.155.1.72/MyCentral-RioII-Services/SecurityService.svc?wsdl=wsdl0'

    # mock wsdl imports
    http_mock.fake_request(wsdl_url,  'wsdl/rio2/rio2.wsdl')
    http_mock.fake_request(wsdl0_url, 'wsdl/rio2/rio2_0.wsdl')

    # mock schema imports
    schema_import_base = 'http://193.155.1.72/MyCentral-RioII-Services/SecurityService.svc?xsd=xsd%d'
    (0..3).each do |i|
      url = schema_import_base % i
      http_mock.fake_request(url, "wsdl/rio2/rio2_#{i}.xsd")
    end

    @client = Sekken.new(wsdl_url)
  end

  it 'only downloads WSDL and XML Schema imports once per location' do
    expect(@client.services).to eq(
      'SecurityService' => {
        ports: {
          'BasicHttpBinding_ISecurityService' => {
            type: 'http://schemas.xmlsoap.org/wsdl/soap/',
            location: 'http://193.155.1.72/MyCentral-RioII-Services/SecurityService.svc/soap'
          }
        }
      }
    )
  end

  it 'knows the GetSessionState operation' do
    service, port = :SecurityService, :BasicHttpBinding_ISecurityService
    operation = @client.operation(service, port, :GetSessionState)

    expect(operation.input_style).to eq('document/literal')

    expect(operation.example_body).to eq(
      GetSessionState: {
        session: {
          ApplicationId: 'string',
          CultureCode: 'string',
          SessionId: 'string'
        },
        request: {
          Context: 'string'
        }
      }
    )
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sekken-0.3.0 spec/integration/rio2_spec.rb
sekken-0.2.0 spec/integration/rio2_spec.rb
sekken-0.1.0 spec/integration/rio2_spec.rb