wasabi 3.5.0 → 3.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +32 -0
  3. data/README.md +10 -11
  4. data/lib/wasabi/core_ext/string.rb +7 -8
  5. data/lib/wasabi/document.rb +2 -0
  6. data/lib/wasabi/parser.rb +14 -17
  7. data/lib/wasabi/resolver.rb +2 -0
  8. data/lib/wasabi/version.rb +3 -1
  9. data/lib/wasabi.rb +2 -0
  10. metadata +18 -135
  11. data/.gitignore +0 -8
  12. data/.rspec +0 -1
  13. data/.travis.yml +0 -7
  14. data/Gemfile +0 -13
  15. data/Rakefile +0 -7
  16. data/spec/fixtures/authentication.wsdl +0 -63
  17. data/spec/fixtures/economic.wsdl +0 -65660
  18. data/spec/fixtures/encoded_endpoint.wsdl +0 -52
  19. data/spec/fixtures/geotrust.wsdl +0 -156
  20. data/spec/fixtures/import_port_types.wsdl +0 -86
  21. data/spec/fixtures/inherited.wsdl +0 -46
  22. data/spec/fixtures/juniper.wsdl +0 -215
  23. data/spec/fixtures/lower_camel.wsdl +0 -52
  24. data/spec/fixtures/marketo.wsdl +0 -1630
  25. data/spec/fixtures/multiple_namespaces.wsdl +0 -61
  26. data/spec/fixtures/multiple_parts_in_message.wsdl +0 -66
  27. data/spec/fixtures/multiple_types.wsdl +0 -60
  28. data/spec/fixtures/namespaced_actions.wsdl +0 -307
  29. data/spec/fixtures/no_message_parts.wsdl +0 -85
  30. data/spec/fixtures/no_namespace.wsdl +0 -115
  31. data/spec/fixtures/savon295.wsdl +0 -52
  32. data/spec/fixtures/soap12.wsdl +0 -11
  33. data/spec/fixtures/symbolic_endpoint.wsdl +0 -190
  34. data/spec/fixtures/tradetracker.wsdl +0 -1330
  35. data/spec/fixtures/two_bindings.wsdl +0 -24
  36. data/spec/spec_helper.rb +0 -19
  37. data/spec/support/adapter.rb +0 -18
  38. data/spec/support/fixture.rb +0 -40
  39. data/spec/support/profiling.rb +0 -18
  40. data/spec/wasabi/core_ext/string_spec.rb +0 -37
  41. data/spec/wasabi/document/authentication_spec.rb +0 -37
  42. data/spec/wasabi/document/economic_spec.rb +0 -13
  43. data/spec/wasabi/document/encoded_endpoint_spec.rb +0 -14
  44. data/spec/wasabi/document/geotrust_spec.rb +0 -38
  45. data/spec/wasabi/document/inherited_spec.rb +0 -41
  46. data/spec/wasabi/document/multiple_namespaces_spec.rb +0 -55
  47. data/spec/wasabi/document/namespaced_actions_spec.rb +0 -39
  48. data/spec/wasabi/document/no_namespace_spec.rb +0 -39
  49. data/spec/wasabi/document/savon295_spec.rb +0 -18
  50. data/spec/wasabi/document/soap12_spec.rb +0 -14
  51. data/spec/wasabi/document/two_bindings_spec.rb +0 -29
  52. data/spec/wasabi/document_spec.rb +0 -58
  53. data/spec/wasabi/parser/get_servicename_spec.rb +0 -19
  54. data/spec/wasabi/parser/import_port_types_spec.rb +0 -22
  55. data/spec/wasabi/parser/juniper_spec.rb +0 -23
  56. data/spec/wasabi/parser/marketo_spec.rb +0 -17
  57. data/spec/wasabi/parser/multiple_namespaces_spec.rb +0 -40
  58. data/spec/wasabi/parser/multiple_parts_in_message_spec.rb +0 -31
  59. data/spec/wasabi/parser/no_message_parts_spec.rb +0 -32
  60. data/spec/wasabi/parser/no_namespace_spec.rb +0 -26
  61. data/spec/wasabi/parser/no_target_namespace_spec.rb +0 -36
  62. data/spec/wasabi/parser/symbolic_endpoint_spec.rb +0 -24
  63. data/spec/wasabi/parser/tradetracker_spec.rb +0 -17
  64. data/spec/wasabi/resolver_spec.rb +0 -55
  65. data/spec/wasabi/wasabi_spec.rb +0 -12
  66. data/wasabi.gemspec +0 -28
@@ -1,24 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!-- Example of a WSDL with two <binding> tags.
3
-
4
- This is stripped down from a real example found in the wild, although
5
- having different operations for the SOAP 1.1 and SOAP 1.2 bindings
6
- is hypothetical (the real-world example I saw had the same operations
7
- in each binding section). -->
8
- <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
9
- <types>
10
- </types>
11
- <portType name="BlogSoap">
12
- </portType>
13
- <binding name="BlogSoap">
14
- <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
15
- <operation name="Post" />
16
- <operation name="Post11only" />
17
- </binding>
18
- <binding name="BlogSoap12">
19
- <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
20
- <operation name="Post" />
21
- <operation name="Post12only" />
22
- </binding>
23
- </definitions>
24
-
data/spec/spec_helper.rb DELETED
@@ -1,19 +0,0 @@
1
- require "bundler"
2
- Bundler.require :default, :development
3
-
4
- unless RUBY_PLATFORM =~ /java/
5
- require "simplecov"
6
- require "coveralls"
7
-
8
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
9
- SimpleCov.start do
10
- add_filter "spec"
11
- end
12
- end
13
-
14
- support_files = File.expand_path("spec/support/**/*.rb")
15
- Dir[support_files].each { |file| require file }
16
-
17
- RSpec.configure do |config|
18
- config.include SpecSupport
19
- end
@@ -1,18 +0,0 @@
1
- class FakeAdapterForTest < HTTPI::Adapter::Base
2
-
3
- register :fake_adapter_for_test
4
-
5
- def initialize(request)
6
- @@requests ||= []
7
- @@requests.push request
8
- @request = request
9
- end
10
-
11
- attr_reader :client
12
-
13
- def request(method)
14
- @@methods ||= []
15
- @@methods.push method
16
- HTTPI::Response.new(200, {}, 'wsdl_by_adapter')
17
- end
18
- end
@@ -1,40 +0,0 @@
1
- module SpecSupport
2
-
3
- class Fixture
4
- def self.[](name)
5
- fixtures[name]
6
- end
7
-
8
- def self.[]=(name, value)
9
- fixtures[name] = value
10
- end
11
-
12
- def self.fixtures
13
- @fixtures ||= {}
14
- end
15
-
16
- def initialize(file, ext = :wsdl)
17
- self.file = file
18
- self.ext = ext
19
- end
20
-
21
- attr_accessor :file, :ext
22
-
23
- def filename
24
- "#{file}.#{ext}"
25
- end
26
-
27
- def path
28
- File.expand_path("spec/fixtures/#{filename}")
29
- end
30
-
31
- def read
32
- Fixture[filename] ||= File.read(path)
33
- end
34
- end
35
-
36
- def fixture(*args)
37
- Fixture.new(*args)
38
- end
39
-
40
- end
@@ -1,18 +0,0 @@
1
- module SpecSupport
2
-
3
- def benchmark(&block)
4
- require 'benchmark'
5
-
6
- puts "Benchmark:"
7
- puts Benchmark.measure(&block)
8
- end
9
-
10
- def profile_methods
11
- require 'method_profiler'
12
-
13
- profiler = MethodProfiler.observe(Wasabi::Parser)
14
- yield
15
- puts profiler.report
16
- end
17
-
18
- end
@@ -1,37 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe String do
4
-
5
- describe "#snakecase" do
6
- it "lowercases one word CamelCase" do
7
- expect("Merb".snakecase).to eq("merb")
8
- end
9
-
10
- it "makes one underscore snakecase two word CamelCase" do
11
- expect("MerbCore".snakecase).to eq("merb_core")
12
- end
13
-
14
- it "handles CamelCase with more than 2 words" do
15
- expect("SoYouWantContributeToMerbCore".snakecase).to eq("so_you_want_contribute_to_merb_core")
16
- end
17
-
18
- it "handles CamelCase with more than 2 capital letter in a row" do
19
- expect("CNN".snakecase).to eq("cnn")
20
- expect("CNNNews".snakecase).to eq("cnn_news")
21
- expect("HeadlineCNNNews".snakecase).to eq("headline_cnn_news")
22
- end
23
-
24
- it "does NOT change one word lowercase" do
25
- expect("merb".snakecase).to eq("merb")
26
- end
27
-
28
- it "leaves snake_case as is" do
29
- expect("merb_core".snakecase).to eq("merb_core")
30
- end
31
-
32
- it "converts period characters to underscores" do
33
- expect("User.GetEmail".snakecase).to eq("user_get_email")
34
- end
35
- end
36
-
37
- end
@@ -1,37 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Document do
4
- context "with: authentication.wsdl" do
5
-
6
- subject { Wasabi::Document.new fixture(:authentication).read }
7
-
8
- describe '#namespace' do
9
- subject { super().namespace }
10
- it { should == "http://v1_0.ws.auth.order.example.com/" }
11
- end
12
-
13
- describe '#endpoint' do
14
- subject { super().endpoint }
15
- it { should == URI("http://example.com/validation/1.0/AuthenticationService") }
16
- end
17
-
18
- describe '#element_form_default' do
19
- subject { super().element_form_default }
20
- it { should == :unqualified }
21
- end
22
-
23
- it 'has 1 operation' do
24
- expect(subject.operations.size).to eq(1)
25
- end
26
-
27
- describe '#operations' do
28
- subject { super().operations }
29
- it do
30
- should == {
31
- :authenticate => { :input => "authenticate", :output => "authenticateResponse", :action => "authenticate", :namespace_identifier => "tns" }
32
- }
33
- end
34
- end
35
-
36
- end
37
- end
@@ -1,13 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Wasabi::Document do
4
- context 'with: economic.wsdl' do
5
-
6
- subject { Wasabi::Document.new fixture(:economic).read }
7
-
8
- it 'has an ok parse-time for huge wsdl files' do
9
- expect(subject.operations.count).to eq(1511)
10
- end
11
-
12
- end
13
- end
@@ -1,14 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Document do
4
- context "with: encoded_endpoint.wsdl" do
5
-
6
- subject { Wasabi::Document.new fixture(:encoded_endpoint).read }
7
-
8
- describe '#endpoint' do
9
- subject { super().endpoint }
10
- it { should == URI("http://localhost/soapservice/execute?path=/base/includes/Test+Soap/Return+Rows") }
11
- end
12
-
13
- end
14
- end
@@ -1,38 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Document do
4
- context "with: geotrust.wsdl" do
5
-
6
- subject { Wasabi::Document.new fixture(:geotrust).read }
7
-
8
- describe '#namespace' do
9
- subject { super().namespace }
10
- it { should == "http://api.geotrust.com/webtrust/query" }
11
- end
12
-
13
- describe '#endpoint' do
14
- subject { super().endpoint }
15
- it { should == URI("https://test-api.geotrust.com:443/webtrust/query.jws") }
16
- end
17
-
18
- describe '#element_form_default' do
19
- subject { super().element_form_default }
20
- it { should == :qualified }
21
- end
22
-
23
- it 'has 2 operations' do
24
- expect(subject.operations.size).to eq(2)
25
- end
26
-
27
- describe '#operations' do
28
- subject { super().operations }
29
- it do
30
- should include(
31
- { :get_quick_approver_list => { :input => "GetQuickApproverList", :action => "GetQuickApproverList", :parameters=>{:Request=>{:name=>"Request", :type=>"GetQuickApproverListInput"}}}},
32
- { :hello => { :input => "hello", :action => "hello", :parameters=>{:Input=>{:name=>"Input", :type=>"string"}} } }
33
- )
34
- end
35
- end
36
-
37
- end
38
- end
@@ -1,41 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Document do
4
- context "with: inherited.xml" do
5
-
6
- subject { Wasabi::Document.new fixture(:inherited).read }
7
-
8
- describe '#type_definitions' do
9
- subject { super().type_definitions }
10
- it do
11
- should include([["Account", "Id"], "ID"])
12
- should include([["Account", "ProcessId"], "ID"])
13
- should include([["Account", "CreatedDate"], "dateTime"])
14
- should include([["Account", "Description"], "string"])
15
- should include([["Account", "fieldsToNull"], "string"])
16
- end
17
- end
18
-
19
- it "should position base class attributes before subclass attributes in :order! array" do
20
- account = subject.parser.types["Account"]
21
- expect(account[:order!]).to eq(["fieldsToNull", "Id", "Description", "ProcessId", "CreatedDate"])
22
- end
23
-
24
- it "should have each type's hash remember it's base type in :base_type element" do
25
- account = subject.parser.types["Account"]
26
- expect(account[:base_type]).to eq("baseObject")
27
-
28
- base_object = subject.parser.types["baseObject"]
29
- expect(base_object).not_to have_key(:base_type)
30
- end
31
-
32
- it "should have element's hash contain all these attributes (:nillable, :minOccurs, :maxOccurs) in addition to :type" do
33
- base_object = subject.parser.types["baseObject"]
34
- fields_to_null = base_object["fieldsToNull"]
35
- expect(fields_to_null[:nillable]).to eq("true")
36
- expect(fields_to_null[:minOccurs]).to eq("0")
37
- expect(fields_to_null[:maxOccurs]).to eq("unbounded")
38
- end
39
- end
40
- end
41
-
@@ -1,55 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Document do
4
- context "with: multiple_namespaces.wsdl" do
5
-
6
- subject { Wasabi::Document.new fixture(:multiple_namespaces).read }
7
-
8
- describe '#namespace' do
9
- subject { super().namespace }
10
- it { should == "http://example.com/actions" }
11
- end
12
-
13
- describe '#endpoint' do
14
- subject { super().endpoint }
15
- it { should == URI("http://example.com:1234/soap") }
16
- end
17
-
18
- describe '#element_form_default' do
19
- subject { super().element_form_default }
20
- it { should == :qualified }
21
- end
22
-
23
- it 'has 1 operation' do
24
- expect(subject.operations.size).to eq(1)
25
- end
26
-
27
- describe '#operations' do
28
- subject { super().operations }
29
- it do
30
- should == { :save => { :input => "Save", :output=>"SaveResponse", :action => "http://example.com/actions.Save", :namespace_identifier => "actions", :parameters => { :article => { :name => "article", :type => "Article" } } } }
31
- end
32
- end
33
-
34
- describe '#type_namespaces' do
35
- subject { super().type_namespaces }
36
- it do
37
- should =~ [
38
- [["Save"], "http://example.com/actions"],
39
- [["Save", "article"], "http://example.com/actions"],
40
- [["Article"], "http://example.com/article"],
41
- [["Article", "Author"], "http://example.com/article"],
42
- [["Article", "Title"], "http://example.com/article"]
43
- ]
44
- end
45
- end
46
-
47
- describe '#type_definitions' do
48
- subject { super().type_definitions }
49
- it do
50
- should =~ [ [["Save", "article"], "Article"] ]
51
- end
52
- end
53
-
54
- end
55
- end
@@ -1,39 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Document do
4
- context "with: namespaced_actions.wsdl" do
5
-
6
- subject { Wasabi::Document.new fixture(:namespaced_actions).read }
7
-
8
- describe '#namespace' do
9
- subject { super().namespace }
10
- it { should == "http://api.example.com/api/" }
11
- end
12
-
13
- describe '#endpoint' do
14
- subject { super().endpoint }
15
- it { should == URI("https://api.example.com/api/api.asmx") }
16
- end
17
-
18
- describe '#element_form_default' do
19
- subject { super().element_form_default }
20
- it { should == :qualified }
21
- end
22
-
23
- it 'has 3 operations' do
24
- expect(subject.operations.size).to eq(3)
25
- end
26
-
27
- describe '#operations' do
28
- subject { super().operations }
29
- it do
30
- should include(
31
- { :delete_client => { :input => "Client.Delete", :output => "Client.DeleteResponse", :action => "http://api.example.com/api/Client.Delete", :namespace_identifier => "tns" } },
32
- { :get_clients => { :input => "User.GetClients", :output => "User.GetClientsResponse", :action => "http://api.example.com/api/User.GetClients", :namespace_identifier => "tns" } },
33
- { :get_api_key => { :input => "User.GetApiKey", :output => "User.GetApiKeyResponse", :action => "http://api.example.com/api/User.GetApiKey", :namespace_identifier => "tns" } }
34
- )
35
- end
36
- end
37
-
38
- end
39
- end
@@ -1,39 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Document do
4
- context "with: no_namespace.wsdl" do
5
-
6
- subject { Wasabi::Document.new fixture(:no_namespace).read }
7
-
8
- describe '#namespace' do
9
- subject { super().namespace }
10
- it { should == "urn:ActionWebService" }
11
- end
12
-
13
- describe '#endpoint' do
14
- subject { super().endpoint }
15
- it { should == URI("http://example.com/api/api") }
16
- end
17
-
18
- describe '#element_form_default' do
19
- subject { super().element_form_default }
20
- it { should == :unqualified }
21
- end
22
-
23
- it 'has 3 operations' do
24
- expect(subject.operations.size).to eq(3)
25
- end
26
-
27
- describe '#operations' do
28
- subject { super().operations }
29
- it do
30
- should include(
31
- { :get_user_login_by_id => { :input => "GetUserLoginById", :output => "GetUserLoginById", :action => "/api/api/GetUserLoginById", :namespace_identifier => "typens" } },
32
- { :get_all_contacts => { :input => "GetAllContacts", :output =>"GetAllContacts", :action => "/api/api/GetAllContacts", :namespace_identifier => "typens" } },
33
- { :search_user => { :input => "SearchUser", :output =>"SearchUser", :action => "/api/api/SearchUser", :namespace_identifier => nil } }
34
- )
35
- end
36
- end
37
-
38
- end
39
- end
@@ -1,18 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Document do
4
- context "with: savon295.wsdl" do
5
-
6
- subject { Wasabi::Document.new fixture(:savon295).read }
7
-
8
- describe '#operations' do
9
- subject { super().operations }
10
- it do
11
- should include(
12
- { :sendsms => { :input => "sendsms", :output => "sendsms", :action => "sendsms", :namespace_identifier => "tns" } }
13
- )
14
- end
15
- end
16
-
17
- end
18
- end
@@ -1,14 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Document do
4
- context "with: soap12.wsdl" do
5
-
6
- subject { Wasabi::Document.new fixture(:soap12).read }
7
-
8
- describe '#endpoint' do
9
- subject { super().endpoint }
10
- it { should == URI("http://blogsite.example.com/endpoint12") }
11
- end
12
-
13
- end
14
- end
@@ -1,29 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Document do
4
- context "with: two_bindings.wsdl" do
5
-
6
- subject { Wasabi::Document.new fixture(:two_bindings).read }
7
-
8
- describe '#element_form_default' do
9
- subject { super().element_form_default }
10
- it { should == :unqualified }
11
- end
12
-
13
- it 'has 3 operations' do
14
- expect(subject.operations.size).to eq(3)
15
- end
16
-
17
- describe '#operations' do
18
- subject { super().operations }
19
- it do
20
- should include(
21
- { :post => { :input => "Post", :action => "Post" } },
22
- { :post11only => { :input => "Post11only", :action => "Post11only" } },
23
- { :post12only => { :input => "Post12only", :action => "Post12only" } }
24
- )
25
- end
26
- end
27
-
28
- end
29
- end
@@ -1,58 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Document do
4
-
5
- subject { Wasabi::Document.new fixture(:authentication).read }
6
-
7
- it "accepts a URL" do
8
- expect(HTTPI).to receive(:get) { HTTPI::Response.new(200, {}, "wsdl") }
9
-
10
- document = Wasabi::Document.new("http://example.com?wsdl")
11
- expect(document.xml).to eq("wsdl")
12
- end
13
-
14
- it "accepts a path" do
15
- document = Wasabi::Document.new fixture(:authentication).path
16
- expect(document.xml).to eq(fixture(:authentication).read)
17
- end
18
-
19
- it "accepts raw XML" do
20
- document = Wasabi::Document.new fixture(:authentication).read
21
- expect(document.xml).to eq(fixture(:authentication).read)
22
- end
23
-
24
- describe ".validate_element_form_default!" do
25
- [:unqualified, :qualified].each do |value|
26
- it "does not raise for :#{value}" do
27
- expect { Wasabi::Document.validate_element_form_default!(value) }.to_not raise_error
28
- end
29
- end
30
-
31
- it "raises if given an invalid value" do
32
- error_msg = "Invalid value for elementFormDefault: invalid\n" +
33
- "Must be one of: [:unqualified, :qualified]"
34
-
35
- expect { Wasabi::Document.validate_element_form_default!(:invalid) }.
36
- to raise_error(ArgumentError, error_msg)
37
- end
38
- end
39
-
40
- describe "#element_form_default" do
41
- it "defaults to :unqualified" do
42
- expect(subject.element_form_default).to eq(:unqualified)
43
- end
44
-
45
- [:unqualified, :qualified].each do |value|
46
- it "accepts :#{value}" do
47
- subject.element_form_default = value
48
- expect(subject.element_form_default).to eq(value)
49
- end
50
- end
51
-
52
- it "raises if set to an invalid value" do
53
- expect { subject.element_form_default = :invalid }.
54
- to raise_error(ArgumentError, /Invalid value for elementFormDefault/)
55
- end
56
- end
57
-
58
- end
@@ -1,19 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Parser do
4
- context "with: geotrust.wsdl" do
5
-
6
- subject do
7
- parser = Wasabi::Parser.new Nokogiri::XML(xml)
8
- parser.parse
9
- parser
10
- end
11
-
12
- let(:xml) { fixture(:geotrust).read }
13
-
14
- it "returns the #service_name attribute" do
15
- expect(subject.service_name).to eq("queryDefinitions")
16
- end
17
-
18
- end
19
- end
@@ -1,22 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Parser do
4
- context "with: import_port_types.wsdl" do
5
-
6
- subject do
7
- parser = Wasabi::Parser.new Nokogiri::XML(xml)
8
- parser.parse
9
- parser
10
- end
11
-
12
- let(:xml) { fixture(:import_port_types).read }
13
-
14
- it "does blow up when portTypes are imported" do
15
- get_customer = subject.operations[:get_customer]
16
-
17
- expect(get_customer[:input]).to eq("GetCustomer")
18
- expect(get_customer[:namespace_identifier]).to be_nil
19
- end
20
-
21
- end
22
- end
@@ -1,23 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Wasabi::Parser do
4
- context 'with: juniper.wsdl' do
5
-
6
- subject do
7
- parser = Wasabi::Parser.new Nokogiri::XML(xml)
8
- parser.parse
9
- parser
10
- end
11
-
12
- let(:xml) { fixture(:juniper).read }
13
-
14
- it 'does not blow up when an extension base element is defined in an import' do
15
- request = subject.operations[:get_system_info_request]
16
-
17
- expect(request[:input]).to eq('GetSystemInfoRequest')
18
- expect(request[:action]).to eq('urn:#GetSystemInfoRequest')
19
- expect(request[:namespace_identifier]).to eq('impl')
20
- end
21
-
22
- end
23
- end
@@ -1,17 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Wasabi::Parser do
4
- context 'with: marketo.wsdl' do
5
- subject do
6
- parser = Wasabi::Parser.new Nokogiri::XML(xml)
7
- parser.parse
8
- parser
9
- end
10
-
11
- let(:xml) { fixture(:marketo).read }
12
-
13
- it 'parses the operations' do
14
- expect(subject.operations[:get_lead][:input]).to eq('paramsGetLead')
15
- end
16
- end
17
- end