soaspec 0.2.23 → 0.2.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +15 -15
  3. data/.gitlab-ci.yml +33 -33
  4. data/.rspec +3 -3
  5. data/.rubocop.yml +2 -2
  6. data/CODE_OF_CONDUCT.md +74 -74
  7. data/ChangeLog +577 -573
  8. data/Gemfile +6 -6
  9. data/LICENSE.txt +21 -21
  10. data/README.md +230 -230
  11. data/Rakefile +42 -42
  12. data/Todo.md +15 -15
  13. data/exe/soaspec +123 -123
  14. data/exe/xml_to_yaml_file +42 -42
  15. data/lib/soaspec.rb +101 -101
  16. data/lib/soaspec/core_ext/hash.rb +35 -35
  17. data/lib/soaspec/cucumber/generic_steps.rb +85 -85
  18. data/lib/soaspec/demo.rb +4 -4
  19. data/lib/soaspec/exchange/exchange.rb +111 -111
  20. data/lib/soaspec/exchange/exchange_extractor.rb +83 -83
  21. data/lib/soaspec/exchange/exchange_properties.rb +26 -26
  22. data/lib/soaspec/exchange/exchange_repeater.rb +19 -19
  23. data/lib/soaspec/exchange/request_builder.rb +68 -68
  24. data/lib/soaspec/exchange/variable_storer.rb +22 -22
  25. data/lib/soaspec/exchange_handlers/exchange_handler.rb +126 -126
  26. data/lib/soaspec/exchange_handlers/handler_accessors.rb +130 -130
  27. data/lib/soaspec/exchange_handlers/response_extractor.rb +82 -82
  28. data/lib/soaspec/exchange_handlers/rest_exchanger_factory.rb +109 -109
  29. data/lib/soaspec/exchange_handlers/rest_handler.rb +259 -259
  30. data/lib/soaspec/exchange_handlers/rest_methods.rb +44 -44
  31. data/lib/soaspec/exchange_handlers/rest_parameters.rb +86 -86
  32. data/lib/soaspec/exchange_handlers/rest_parameters_defaults.rb +21 -21
  33. data/lib/soaspec/exchange_handlers/soap_handler.rb +235 -235
  34. data/lib/soaspec/exe_helpers.rb +92 -92
  35. data/lib/soaspec/generate_server.rb +37 -37
  36. data/lib/soaspec/generator/.rspec.erb +5 -5
  37. data/lib/soaspec/generator/.travis.yml.erb +5 -5
  38. data/lib/soaspec/generator/Gemfile.erb +8 -8
  39. data/lib/soaspec/generator/README.md.erb +29 -29
  40. data/lib/soaspec/generator/Rakefile.erb +19 -19
  41. data/lib/soaspec/generator/config/data/default.yml.erb +2 -2
  42. data/lib/soaspec/generator/css/bootstrap.css +6833 -6833
  43. data/lib/soaspec/generator/generate_exchange.html.erb +35 -35
  44. data/lib/soaspec/generator/lib/blz_service.rb.erb +26 -26
  45. data/lib/soaspec/generator/lib/dynamic_class_content.rb.erb +12 -12
  46. data/lib/soaspec/generator/lib/new_rest_service.rb.erb +51 -51
  47. data/lib/soaspec/generator/lib/new_soap_service.rb.erb +29 -29
  48. data/lib/soaspec/generator/lib/package_service.rb.erb +2 -2
  49. data/lib/soaspec/generator/lib/shared_example.rb.erb +8 -8
  50. data/lib/soaspec/generator/spec/dynamic_soap_spec.rb.erb +12 -12
  51. data/lib/soaspec/generator/spec/rest_spec.rb.erb +9 -9
  52. data/lib/soaspec/generator/spec/soap_spec.rb.erb +51 -51
  53. data/lib/soaspec/generator/spec/spec_helper.rb.erb +23 -23
  54. data/lib/soaspec/generator/template/soap_template.xml +6 -6
  55. data/lib/soaspec/indifferent_hash.rb +7 -7
  56. data/lib/soaspec/interpreter.rb +39 -39
  57. data/lib/soaspec/matchers.rb +114 -114
  58. data/lib/soaspec/not_found_errors.rb +13 -13
  59. data/lib/soaspec/o_auth2.rb +128 -128
  60. data/lib/soaspec/soaspec_shared_examples.rb +24 -24
  61. data/lib/soaspec/spec_logger.rb +121 -121
  62. data/lib/soaspec/template_reader.rb +28 -28
  63. data/lib/soaspec/test_server/bank.wsdl +90 -90
  64. data/lib/soaspec/test_server/get_bank.rb +164 -164
  65. data/lib/soaspec/test_server/id_manager.rb +39 -39
  66. data/lib/soaspec/test_server/invoices.rb +27 -27
  67. data/lib/soaspec/test_server/namespace.xml +14 -14
  68. data/lib/soaspec/test_server/note.xml +5 -5
  69. data/lib/soaspec/test_server/puppy_service.rb +19 -19
  70. data/lib/soaspec/test_server/test_attribute.rb +12 -12
  71. data/lib/soaspec/test_server/test_namespace.rb +12 -12
  72. data/lib/soaspec/version.rb +4 -3
  73. data/lib/soaspec/virtual_server.rb +174 -174
  74. data/lib/soaspec/wait.rb +41 -41
  75. data/lib/soaspec/wsdl_generator.rb +215 -215
  76. data/soaspec.gemspec +53 -53
  77. data/test.wsdl +116 -116
  78. data/test.xml +10 -10
  79. data/test_wsdl.rb +41 -41
  80. metadata +3 -4
@@ -1,53 +1,53 @@
1
- lib = File.expand_path('lib', __dir__)
2
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
- require 'soaspec/version'
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = 'soaspec'
7
- spec.version = Soaspec::VERSION
8
- spec.authors = ['SamuelGarrattIQA']
9
- spec.email = ['samuel.garratt@integrationqa.com']
10
-
11
- spec.summary = "Helps to create tests for 'SOAP' or 'REST' apis "
12
- spec.description = "Helps to create tests for 'SOAP' or 'REST' apis. Easily represent multiple requests with
13
- the same configuration. Examples designed for RSpec and Cucumber."
14
- spec.homepage = 'https://gitlab.com/samuel-garratt/soaspec'
15
- spec.license = 'MIT'
16
-
17
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
- f.match(%r{^(test|spec|features|bin|config|templates|credentials|images|demo)/})
19
- end
20
- spec.bindir = 'exe'
21
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
- spec.require_paths = ['lib']
23
-
24
- spec.add_development_dependency 'bundler'
25
- spec.add_development_dependency 'cucumber'
26
- spec.add_development_dependency 'data_magic'
27
- spec.add_development_dependency 'factory_bot'
28
- spec.add_development_dependency 'parallel_tests'
29
- spec.add_development_dependency 'rack'
30
- spec.add_development_dependency 'rack-test'
31
- spec.add_development_dependency 'rake', '~> 12.0'
32
- spec.add_development_dependency 'rspec', '~> 3.0'
33
- spec.add_development_dependency 'simplecov'
34
- spec.add_development_dependency 'yard-cucumber'
35
- spec.add_dependency 'activesupport'
36
- spec.add_dependency 'colorize'
37
- spec.add_dependency 'faker'
38
- spec.add_dependency 'hashie'
39
- spec.add_dependency 'jsonpath'
40
- spec.add_dependency 'launchy'
41
- spec.add_dependency 'nokogiri'
42
- spec.add_dependency 'pry'
43
- spec.add_dependency 'require_all', '>= 1.5.0'
44
- spec.add_dependency 'rest-client', '>= 2.0' # REST
45
- spec.add_dependency 'rspec', '~> 3.0' # This framework is designed to work with RSpec
46
- spec.add_dependency 'rspec-its'
47
- spec.add_dependency 'savon', '>= 2' # SOAP
48
- spec.add_dependency 'sinatra', '>= 2.0.4'
49
- spec.add_dependency 'sinatra-basic-auth'
50
- spec.add_dependency 'sinatra-docdsl'
51
- spec.add_dependency 'thor'
52
- spec.add_dependency 'xml-simple', '>= 1.1.5'
53
- end
1
+ lib = File.expand_path('lib', __dir__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'soaspec/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'soaspec'
7
+ spec.version = Soaspec::VERSION
8
+ spec.authors = ['SamuelGarrattIQA']
9
+ spec.email = ['samuel.garratt@integrationqa.com']
10
+
11
+ spec.summary = "Helps to create tests for 'SOAP' or 'REST' apis "
12
+ spec.description = "Helps to create tests for 'SOAP' or 'REST' apis. Easily represent multiple requests with
13
+ the same configuration. Examples designed for RSpec and Cucumber."
14
+ spec.homepage = 'https://gitlab.com/samuel-garratt/soaspec'
15
+ spec.license = 'MIT'
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
+ f.match(%r{^(test|spec|features|bin|config|templates|credentials|images|demo)/})
19
+ end
20
+ spec.bindir = 'exe'
21
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
+ spec.require_paths = ['lib']
23
+
24
+ spec.add_development_dependency 'bundler'
25
+ spec.add_development_dependency 'cucumber'
26
+ spec.add_development_dependency 'data_magic'
27
+ spec.add_development_dependency 'factory_bot'
28
+ spec.add_development_dependency 'parallel_tests'
29
+ spec.add_development_dependency 'rack'
30
+ spec.add_development_dependency 'rack-test'
31
+ spec.add_development_dependency 'rake', '~> 12.0'
32
+ spec.add_development_dependency 'rspec', '~> 3.0'
33
+ spec.add_development_dependency 'simplecov'
34
+ spec.add_development_dependency 'yard-cucumber'
35
+ spec.add_dependency 'activesupport'
36
+ spec.add_dependency 'colorize'
37
+ spec.add_dependency 'faker'
38
+ spec.add_dependency 'hashie'
39
+ spec.add_dependency 'jsonpath'
40
+ spec.add_dependency 'launchy'
41
+ spec.add_dependency 'nokogiri'
42
+ spec.add_dependency 'pry'
43
+ spec.add_dependency 'require_all', '>= 1.5.0'
44
+ spec.add_dependency 'rest-client', '>= 2.0' # REST
45
+ spec.add_dependency 'rspec', '~> 3.0' # This framework is designed to work with RSpec
46
+ spec.add_dependency 'rspec-its'
47
+ spec.add_dependency 'savon', '>= 2' # SOAP
48
+ spec.add_dependency 'sinatra', '>= 2.0.4'
49
+ spec.add_dependency 'sinatra-basic-auth'
50
+ spec.add_dependency 'sinatra-docdsl'
51
+ spec.add_dependency 'thor'
52
+ spec.add_dependency 'xml-simple', '>= 1.1.5'
53
+ end
data/test.wsdl CHANGED
@@ -1,116 +1,116 @@
1
- <wsdl:definitions
2
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
3
- xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
4
- xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
5
- xmlns:tns="http://Example.org"
6
- xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
7
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
8
- xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy"
9
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
10
- xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract"
11
- xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
12
- xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
13
- xmlns:wsa10="http://www.w3.org/2005/08/addressing"
14
- xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" targetNamespace="http://Example.org"
15
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
16
- <wsdl:types>
17
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
18
- targetNamespace="https://www.w3schools.com"
19
- xmlns="https://www.w3schools.com"
20
- elementFormDefault="qualified">
21
-
22
- <xs:element name="note">
23
- <xs:complexType>
24
- <xs:sequence>
25
- <xs:element name="to" type="xs:string"/>
26
- <xs:element name="from" type="xs:string"/>
27
- <xs:element name="heading" type="xs:string"/>
28
- <xs:element name="body" type="xs:string"/>
29
- </xs:sequence>
30
- </xs:complexType>
31
- </xs:element>
32
-
33
- </xs:schema>
34
- <s:schema xmlns:s="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET">
35
- <s:element name="GetWeather">
36
- <s:complexType>
37
- <s:sequence>
38
- <s:element minOccurs="0" maxOccurs="1" name="CityName" type="s:string"/>
39
- <s:element minOccurs="0" maxOccurs="1" name="CountryName" type="s:string"/>
40
- </s:sequence>
41
- </s:complexType>
42
- </s:element>
43
- <s:element name="GetWeatherResponse">
44
- <s:complexType>
45
- <s:sequence>
46
- <s:element minOccurs="0" maxOccurs="1" name="GetWeatherResult" type="s:string"/>
47
- </s:sequence>
48
- </s:complexType>
49
- </s:element>
50
- <s:element name="GetCitiesByCountry">
51
- <s:complexType>
52
- <s:sequence>
53
- <s:element minOccurs="0" maxOccurs="1" name="CountryName" type="s:string"/>
54
- </s:sequence>
55
- </s:complexType>
56
- </s:element>
57
- <s:element name="GetCitiesByCountryResponse">
58
- <s:complexType>
59
- <s:sequence>
60
- <s:element minOccurs="0" maxOccurs="1" name="GetCitiesByCountryResult" type="s:string"/>
61
- </s:sequence>
62
- </s:complexType>
63
- </s:element>
64
- <s:element name="string" nillable="true" type="s:string"/>
65
- </s:schema>
66
-
67
- </wsdl:types>
68
- <wsdl:message name="ICalculator_Add_InputMessage">
69
- <wsdl:part name="parameters" element="tns:Add" />
70
- </wsdl:message>
71
- <wsdl:message name="ICalculator_Add_OutputMessage">
72
- <wsdl:part name="parameters" element="tns:AddResponse" />
73
- </wsdl:message>
74
- <wsdl:message name="ICalculator_Subtract_InputMessage">
75
- <wsdl:part name="parameters" element="tns:Subtract" />
76
- </wsdl:message>
77
- <wsdl:message name="ICalculator_Subtract_OutputMessage">
78
- <wsdl:part name="parameters" element="tns:SubtractResponse" />
79
- </wsdl:message>
80
- <wsdl:portType name="ICalculator">
81
- <wsdl:operation name="Add">
82
- <wsdl:input wsaw:Action="http://Example.org/ICalculator/Add" message="tns:ICalculator_Add_InputMessage" />
83
- <wsdl:output wsaw:Action="http://Example.org/ICalculator/AddResponse" message="tns:ICalculator_Add_OutputMessage" />
84
- </wsdl:operation>
85
- <wsdl:operation name="Subtract">
86
- <wsdl:input wsaw:Action="http://Example.org/ICalculator/Subtract" message="tns:ICalculator_Subtract_InputMessage" />
87
- <wsdl:output wsaw:Action="http://Example.org/ICalculator/SubtractResponse" message="tns:ICalculator_Subtract_OutputMessage" />
88
- </wsdl:operation>
89
- </wsdl:portType>
90
- <wsdl:binding name="DefaultBinding_ICalculator" type="tns:ICalculator">
91
- <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
92
- <wsdl:operation name="Add">
93
- <soap:operation soapAction="http://Example.org/ICalculator/Add" style="document" />
94
- <wsdl:input>
95
- <soap:body use="literal" />
96
- </wsdl:input>
97
- <wsdl:output>
98
- <soap:body use="literal" />
99
- </wsdl:output>
100
- </wsdl:operation>
101
- <wsdl:operation name="Subtract">
102
- <soap:operation soapAction="http://Example.org/ICalculator/Subtract" style="document" />
103
- <wsdl:input>
104
- <soap:body use="literal" />
105
- </wsdl:input>
106
- <wsdl:output>
107
- <soap:body use="literal" />
108
- </wsdl:output>
109
- </wsdl:operation>
110
- </wsdl:binding>
111
- <wsdl:service name="CalculatorService">
112
- <wsdl:port name="ICalculator" binding="tns:DefaultBinding_ICalculator">
113
- <soap:address location="http://Example.org/ICalculator" />
114
- </wsdl:port>
115
- </wsdl:service>
116
- </wsdl:definitions>
1
+ <wsdl:definitions
2
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
3
+ xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
4
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
5
+ xmlns:tns="http://Example.org"
6
+ xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
7
+ xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
8
+ xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy"
9
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
10
+ xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract"
11
+ xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
12
+ xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
13
+ xmlns:wsa10="http://www.w3.org/2005/08/addressing"
14
+ xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" targetNamespace="http://Example.org"
15
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
16
+ <wsdl:types>
17
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
18
+ targetNamespace="https://www.w3schools.com"
19
+ xmlns="https://www.w3schools.com"
20
+ elementFormDefault="qualified">
21
+
22
+ <xs:element name="note">
23
+ <xs:complexType>
24
+ <xs:sequence>
25
+ <xs:element name="to" type="xs:string"/>
26
+ <xs:element name="from" type="xs:string"/>
27
+ <xs:element name="heading" type="xs:string"/>
28
+ <xs:element name="body" type="xs:string"/>
29
+ </xs:sequence>
30
+ </xs:complexType>
31
+ </xs:element>
32
+
33
+ </xs:schema>
34
+ <s:schema xmlns:s="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET">
35
+ <s:element name="GetWeather">
36
+ <s:complexType>
37
+ <s:sequence>
38
+ <s:element minOccurs="0" maxOccurs="1" name="CityName" type="s:string"/>
39
+ <s:element minOccurs="0" maxOccurs="1" name="CountryName" type="s:string"/>
40
+ </s:sequence>
41
+ </s:complexType>
42
+ </s:element>
43
+ <s:element name="GetWeatherResponse">
44
+ <s:complexType>
45
+ <s:sequence>
46
+ <s:element minOccurs="0" maxOccurs="1" name="GetWeatherResult" type="s:string"/>
47
+ </s:sequence>
48
+ </s:complexType>
49
+ </s:element>
50
+ <s:element name="GetCitiesByCountry">
51
+ <s:complexType>
52
+ <s:sequence>
53
+ <s:element minOccurs="0" maxOccurs="1" name="CountryName" type="s:string"/>
54
+ </s:sequence>
55
+ </s:complexType>
56
+ </s:element>
57
+ <s:element name="GetCitiesByCountryResponse">
58
+ <s:complexType>
59
+ <s:sequence>
60
+ <s:element minOccurs="0" maxOccurs="1" name="GetCitiesByCountryResult" type="s:string"/>
61
+ </s:sequence>
62
+ </s:complexType>
63
+ </s:element>
64
+ <s:element name="string" nillable="true" type="s:string"/>
65
+ </s:schema>
66
+
67
+ </wsdl:types>
68
+ <wsdl:message name="ICalculator_Add_InputMessage">
69
+ <wsdl:part name="parameters" element="tns:Add" />
70
+ </wsdl:message>
71
+ <wsdl:message name="ICalculator_Add_OutputMessage">
72
+ <wsdl:part name="parameters" element="tns:AddResponse" />
73
+ </wsdl:message>
74
+ <wsdl:message name="ICalculator_Subtract_InputMessage">
75
+ <wsdl:part name="parameters" element="tns:Subtract" />
76
+ </wsdl:message>
77
+ <wsdl:message name="ICalculator_Subtract_OutputMessage">
78
+ <wsdl:part name="parameters" element="tns:SubtractResponse" />
79
+ </wsdl:message>
80
+ <wsdl:portType name="ICalculator">
81
+ <wsdl:operation name="Add">
82
+ <wsdl:input wsaw:Action="http://Example.org/ICalculator/Add" message="tns:ICalculator_Add_InputMessage" />
83
+ <wsdl:output wsaw:Action="http://Example.org/ICalculator/AddResponse" message="tns:ICalculator_Add_OutputMessage" />
84
+ </wsdl:operation>
85
+ <wsdl:operation name="Subtract">
86
+ <wsdl:input wsaw:Action="http://Example.org/ICalculator/Subtract" message="tns:ICalculator_Subtract_InputMessage" />
87
+ <wsdl:output wsaw:Action="http://Example.org/ICalculator/SubtractResponse" message="tns:ICalculator_Subtract_OutputMessage" />
88
+ </wsdl:operation>
89
+ </wsdl:portType>
90
+ <wsdl:binding name="DefaultBinding_ICalculator" type="tns:ICalculator">
91
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
92
+ <wsdl:operation name="Add">
93
+ <soap:operation soapAction="http://Example.org/ICalculator/Add" style="document" />
94
+ <wsdl:input>
95
+ <soap:body use="literal" />
96
+ </wsdl:input>
97
+ <wsdl:output>
98
+ <soap:body use="literal" />
99
+ </wsdl:output>
100
+ </wsdl:operation>
101
+ <wsdl:operation name="Subtract">
102
+ <soap:operation soapAction="http://Example.org/ICalculator/Subtract" style="document" />
103
+ <wsdl:input>
104
+ <soap:body use="literal" />
105
+ </wsdl:input>
106
+ <wsdl:output>
107
+ <soap:body use="literal" />
108
+ </wsdl:output>
109
+ </wsdl:operation>
110
+ </wsdl:binding>
111
+ <wsdl:service name="CalculatorService">
112
+ <wsdl:port name="ICalculator" binding="tns:DefaultBinding_ICalculator">
113
+ <soap:address location="http://Example.org/ICalculator" />
114
+ </wsdl:port>
115
+ </wsdl:service>
116
+ </wsdl:definitions>
data/test.xml CHANGED
@@ -1,11 +1,11 @@
1
- <?xml version="1.0"?>
2
-
3
- <note
4
- xmlns="https://www.w3schools.com"
5
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6
- xsi:schemaLocation="https://www.w3schools.com/xml/note.xsd">
7
- <to>Tove</to>
8
- <from>123.2</from>
9
- <heading>Reminder</heading>
10
- <body>Don't forget me this weekend!</body>
1
+ <?xml version="1.0"?>
2
+
3
+ <note
4
+ xmlns="https://www.w3schools.com"
5
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6
+ xsi:schemaLocation="https://www.w3schools.com/xml/note.xsd">
7
+ <to>Tove</to>
8
+ <from>123.2</from>
9
+ <heading>Reminder</heading>
10
+ <body>Don't forget me this weekend!</body>
11
11
  </note>
@@ -1,41 +1,41 @@
1
- require 'wasabi'
2
- require 'savon'
3
-
4
- # document = Savon.client(wsdl: 'test.wsdl').wsdl
5
- # document = Savon.client(wsdl: 'http://www.webservicex.com/globalweather.asmx?wsdl').wsdl
6
- # document = Wasabi.document File.read('test.wsdl')
7
- document = Wasabi.document 'http://www.webservicex.net/ConvertTemperature.asmx?WSDL'
8
- parser = document.parser
9
-
10
- # TEST SCHEMA
11
- #
12
- # parser.schemas.each do |schema|
13
- # puts 'SCHEMA * '
14
- # puts schema
15
- #
16
- # xsd = Nokogiri::XML::Schema(schema.to_s)
17
- #
18
- # doc = Nokogiri::XML(File.read('test.xml'))
19
- #
20
- # xsd.validate(doc).each do |error|
21
- # puts error.message
22
- # end
23
- # end
24
- #
25
-
26
- schemes = parser.schemas
27
- puts schemes
28
- custom_type = schemes.xpath("//*[@name='TemperatureUnit']")
29
- if custom_type.first
30
- puts 'CUST' + custom_type.to_s
31
- prefix = custom_type.first.namespace.prefix
32
- puts prefix
33
-
34
- enumerations = custom_type.xpath("//#{prefix}:enumeration")
35
-
36
- puts 'ENUM' + enumerations.to_s
37
-
38
- enumerations.each do |enum_value|
39
- puts enum_value['value']
40
- end
41
- end
1
+ require 'wasabi'
2
+ require 'savon'
3
+
4
+ # document = Savon.client(wsdl: 'test.wsdl').wsdl
5
+ # document = Savon.client(wsdl: 'http://www.webservicex.com/globalweather.asmx?wsdl').wsdl
6
+ # document = Wasabi.document File.read('test.wsdl')
7
+ document = Wasabi.document 'http://www.webservicex.net/ConvertTemperature.asmx?WSDL'
8
+ parser = document.parser
9
+
10
+ # TEST SCHEMA
11
+ #
12
+ # parser.schemas.each do |schema|
13
+ # puts 'SCHEMA * '
14
+ # puts schema
15
+ #
16
+ # xsd = Nokogiri::XML::Schema(schema.to_s)
17
+ #
18
+ # doc = Nokogiri::XML(File.read('test.xml'))
19
+ #
20
+ # xsd.validate(doc).each do |error|
21
+ # puts error.message
22
+ # end
23
+ # end
24
+ #
25
+
26
+ schemes = parser.schemas
27
+ puts schemes
28
+ custom_type = schemes.xpath("//*[@name='TemperatureUnit']")
29
+ if custom_type.first
30
+ puts 'CUST' + custom_type.to_s
31
+ prefix = custom_type.first.namespace.prefix
32
+ puts prefix
33
+
34
+ enumerations = custom_type.xpath("//#{prefix}:enumeration")
35
+
36
+ puts 'ENUM' + enumerations.to_s
37
+
38
+ enumerations.each do |enum_value|
39
+ puts enum_value['value']
40
+ end
41
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soaspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.23
4
+ version: 0.2.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - SamuelGarrattIQA
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-03 00:00:00.000000000 Z
11
+ date: 2019-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -524,8 +524,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
524
524
  - !ruby/object:Gem::Version
525
525
  version: '0'
526
526
  requirements: []
527
- rubyforge_project:
528
- rubygems_version: 2.7.3
527
+ rubygems_version: 3.0.3
529
528
  signing_key:
530
529
  specification_version: 4
531
530
  summary: Helps to create tests for 'SOAP' or 'REST' apis