soaspec 0.2.24 → 0.2.25

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 (83) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +15 -15
  3. data/.gitlab-ci.yml +51 -33
  4. data/.rspec +3 -3
  5. data/.rubocop.yml +2 -2
  6. data/CODE_OF_CONDUCT.md +74 -74
  7. data/ChangeLog +588 -577
  8. data/Gemfile +6 -6
  9. data/LICENSE.txt +21 -21
  10. data/README.md +230 -230
  11. data/Rakefile +50 -42
  12. data/Todo.md +15 -15
  13. data/exe/soaspec +137 -123
  14. data/exe/xml_to_yaml_file +42 -42
  15. data/lib/soaspec.rb +103 -101
  16. data/lib/soaspec/core_ext/hash.rb +42 -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 +117 -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 +130 -126
  26. data/lib/soaspec/exchange_handlers/handler_accessors.rb +130 -130
  27. data/lib/soaspec/exchange_handlers/request/rest_request.rb +49 -0
  28. data/lib/soaspec/exchange_handlers/request/soap_request.rb +39 -0
  29. data/lib/soaspec/exchange_handlers/response_extractor.rb +82 -82
  30. data/lib/soaspec/exchange_handlers/rest_exchanger_factory.rb +109 -109
  31. data/lib/soaspec/exchange_handlers/rest_handler.rb +287 -259
  32. data/lib/soaspec/exchange_handlers/rest_methods.rb +63 -44
  33. data/lib/soaspec/exchange_handlers/rest_parameters.rb +90 -86
  34. data/lib/soaspec/exchange_handlers/rest_parameters_defaults.rb +40 -21
  35. data/lib/soaspec/exchange_handlers/soap_handler.rb +239 -235
  36. data/lib/soaspec/exe_helpers.rb +92 -92
  37. data/lib/soaspec/generate_server.rb +46 -37
  38. data/lib/soaspec/generator/.rspec.erb +5 -5
  39. data/lib/soaspec/generator/.travis.yml.erb +5 -5
  40. data/lib/soaspec/generator/Gemfile.erb +8 -8
  41. data/lib/soaspec/generator/README.md.erb +29 -29
  42. data/lib/soaspec/generator/Rakefile.erb +19 -19
  43. data/lib/soaspec/generator/config/data/default.yml.erb +2 -2
  44. data/lib/soaspec/generator/css/bootstrap.css +6833 -6833
  45. data/lib/soaspec/generator/features/support/env.rb.erb +3 -0
  46. data/lib/soaspec/generator/generate_exchange.html.erb +47 -35
  47. data/lib/soaspec/generator/lib/blz_service.rb.erb +26 -26
  48. data/lib/soaspec/generator/lib/dynamic_class_content.rb.erb +12 -12
  49. data/lib/soaspec/generator/lib/new_rest_service.rb.erb +56 -51
  50. data/lib/soaspec/generator/lib/new_soap_service.rb.erb +29 -29
  51. data/lib/soaspec/generator/lib/package_service.rb.erb +2 -2
  52. data/lib/soaspec/generator/lib/shared_example.rb.erb +8 -8
  53. data/lib/soaspec/generator/spec/dynamic_soap_spec.rb.erb +12 -12
  54. data/lib/soaspec/generator/spec/rest_spec.rb.erb +9 -9
  55. data/lib/soaspec/generator/spec/soap_spec.rb.erb +51 -51
  56. data/lib/soaspec/generator/spec/spec_helper.rb.erb +23 -23
  57. data/lib/soaspec/generator/template/soap_template.xml +6 -6
  58. data/lib/soaspec/indifferent_hash.rb +7 -7
  59. data/lib/soaspec/interpreter.rb +39 -39
  60. data/lib/soaspec/matchers.rb +114 -114
  61. data/lib/soaspec/not_found_errors.rb +13 -13
  62. data/lib/soaspec/o_auth2.rb +128 -128
  63. data/lib/soaspec/soaspec_shared_examples.rb +24 -24
  64. data/lib/soaspec/spec_logger.rb +122 -121
  65. data/lib/soaspec/template_reader.rb +28 -28
  66. data/lib/soaspec/test_server/bank.wsdl +90 -90
  67. data/lib/soaspec/test_server/get_bank.rb +164 -164
  68. data/lib/soaspec/test_server/id_manager.rb +39 -39
  69. data/lib/soaspec/test_server/invoices.rb +27 -27
  70. data/lib/soaspec/test_server/namespace.xml +14 -14
  71. data/lib/soaspec/test_server/note.xml +5 -5
  72. data/lib/soaspec/test_server/puppy_service.rb +19 -19
  73. data/lib/soaspec/test_server/test_attribute.rb +12 -12
  74. data/lib/soaspec/test_server/test_namespace.rb +12 -12
  75. data/lib/soaspec/version.rb +4 -4
  76. data/lib/soaspec/virtual_server.rb +174 -174
  77. data/lib/soaspec/wait.rb +41 -41
  78. data/lib/soaspec/wsdl_generator.rb +215 -215
  79. data/soaspec.gemspec +56 -53
  80. data/test.wsdl +116 -116
  81. data/test.xml +10 -10
  82. data/test_wsdl.rb +41 -41
  83. metadata +38 -6
data/soaspec.gemspec CHANGED
@@ -1,53 +1,56 @@
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|support)/})
19
+ end
20
+ spec.bindir = 'exe'
21
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
+ spec.require_paths = ['lib']
23
+ spec.required_ruby_version = '>= 2.3.0'
24
+
25
+ spec.add_development_dependency 'bundler'
26
+ spec.add_development_dependency 'cucumber'
27
+ spec.add_development_dependency 'data_magic'
28
+ spec.add_development_dependency 'factory_bot'
29
+ spec.add_development_dependency 'parallel_tests'
30
+ spec.add_development_dependency 'rack'
31
+ spec.add_development_dependency 'rack-test'
32
+ spec.add_development_dependency 'rake', '~> 12.0'
33
+ spec.add_development_dependency 'rspec', '~> 3.0'
34
+ spec.add_development_dependency 'simplecov'
35
+ spec.add_development_dependency 'yard-cucumber'
36
+ spec.add_development_dependency 'yard-doctest'
37
+ spec.add_dependency 'activesupport'
38
+ spec.add_dependency 'colorize'
39
+ spec.add_dependency 'faker'
40
+ spec.add_dependency 'hashie'
41
+ spec.add_dependency 'jsonpath'
42
+ spec.add_dependency 'launchy'
43
+ spec.add_dependency 'nokogiri'
44
+ spec.add_dependency 'pry'
45
+ spec.add_dependency 'random-port'
46
+ spec.add_dependency 'require_all', '>= 1.5.0'
47
+ spec.add_dependency 'rest-client', '>= 2.0' # REST
48
+ spec.add_dependency 'rspec', '~> 3.0' # This framework is designed to work with RSpec
49
+ spec.add_dependency 'rspec-its'
50
+ spec.add_dependency 'savon', '>= 2' # SOAP
51
+ spec.add_dependency 'sinatra', '2.0.4'
52
+ spec.add_dependency 'sinatra-basic-auth'
53
+ spec.add_dependency 'sinatra-docdsl'
54
+ spec.add_dependency 'thor'
55
+ spec.add_dependency 'xml-simple', '>= 1.1.5'
56
+ 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>
data/test_wsdl.rb CHANGED
@@ -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.24
4
+ version: 0.2.25
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-11 00:00:00.000000000 Z
11
+ date: 2019-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -164,6 +164,20 @@ dependencies:
164
164
  - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: yard-doctest
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
167
181
  - !ruby/object:Gem::Dependency
168
182
  name: activesupport
169
183
  requirement: !ruby/object:Gem::Requirement
@@ -276,6 +290,20 @@ dependencies:
276
290
  - - ">="
277
291
  - !ruby/object:Gem::Version
278
292
  version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: random-port
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
300
+ type: :runtime
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - ">="
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
279
307
  - !ruby/object:Gem::Dependency
280
308
  name: require_all
281
309
  requirement: !ruby/object:Gem::Requirement
@@ -350,14 +378,14 @@ dependencies:
350
378
  name: sinatra
351
379
  requirement: !ruby/object:Gem::Requirement
352
380
  requirements:
353
- - - ">="
381
+ - - '='
354
382
  - !ruby/object:Gem::Version
355
383
  version: 2.0.4
356
384
  type: :runtime
357
385
  prerelease: false
358
386
  version_requirements: !ruby/object:Gem::Requirement
359
387
  requirements:
360
- - - ">="
388
+ - - '='
361
389
  - !ruby/object:Gem::Version
362
390
  version: 2.0.4
363
391
  - !ruby/object:Gem::Dependency
@@ -452,6 +480,8 @@ files:
452
480
  - lib/soaspec/exchange/variable_storer.rb
453
481
  - lib/soaspec/exchange_handlers/exchange_handler.rb
454
482
  - lib/soaspec/exchange_handlers/handler_accessors.rb
483
+ - lib/soaspec/exchange_handlers/request/rest_request.rb
484
+ - lib/soaspec/exchange_handlers/request/soap_request.rb
455
485
  - lib/soaspec/exchange_handlers/response_extractor.rb
456
486
  - lib/soaspec/exchange_handlers/rest_exchanger_factory.rb
457
487
  - lib/soaspec/exchange_handlers/rest_handler.rb
@@ -468,6 +498,7 @@ files:
468
498
  - lib/soaspec/generator/Rakefile.erb
469
499
  - lib/soaspec/generator/config/data/default.yml.erb
470
500
  - lib/soaspec/generator/css/bootstrap.css
501
+ - lib/soaspec/generator/features/support/env.rb.erb
471
502
  - lib/soaspec/generator/generate_exchange.html.erb
472
503
  - lib/soaspec/generator/lib/blz_service.rb.erb
473
504
  - lib/soaspec/generator/lib/dynamic_class_content.rb.erb
@@ -517,14 +548,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
517
548
  requirements:
518
549
  - - ">="
519
550
  - !ruby/object:Gem::Version
520
- version: '0'
551
+ version: 2.3.0
521
552
  required_rubygems_version: !ruby/object:Gem::Requirement
522
553
  requirements:
523
554
  - - ">="
524
555
  - !ruby/object:Gem::Version
525
556
  version: '0'
526
557
  requirements: []
527
- rubygems_version: 3.0.3
558
+ rubyforge_project:
559
+ rubygems_version: 2.6.14
528
560
  signing_key:
529
561
  specification_version: 4
530
562
  summary: Helps to create tests for 'SOAP' or 'REST' apis