soaspec 0.0.54 → 0.0.55

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a989b94a49f1bd84e619031834373e765c66b143
4
- data.tar.gz: 28fb2b5ea4a7dfd871c4c354049c4ec969f925e1
3
+ metadata.gz: e30d17380c5f1c56d221e8bfe691cb49cfbbff4f
4
+ data.tar.gz: dbebcc5454dd41d839084df03e35be3910c0cdfd
5
5
  SHA512:
6
- metadata.gz: f62f593a34c8065c71c1b23859e1e9df425c300420472b95a5bc68cba0967569ae2ef2184b9ee658320e79ca767cd9706149155179380f330d122e8824594a82
7
- data.tar.gz: 6ad9ca4d1435e026a1f9b7ce3d283625cf29f599e7df9d6f101bad7844f80601b9716cee3c0f1492eb959abe99e1080c1bfdbf002b8496ddb3299f6e3ab3da92
6
+ metadata.gz: 101c8c3aa9fa6c9fd67fb99b83b0ff5fd48b4f61c1f3702fab7fa11011efa6bc7a769acfb18ad5479a6604d242a0f08a909d3b653116dc061e96a470b5421af6
7
+ data.tar.gz: b1576e4284c9e92a61effd56f3aa8da325c61ac5170e8da24a2e8526436e39b46786be0acf01269570ac5e785a3c24690e5dab981145299751d54c67a6b4e195
data/ChangeLog CHANGED
@@ -1,3 +1,7 @@
1
+ Version 0.0.55
2
+ * Enhancements
3
+ * Made `soaspec-virtual-server` exe to handle self served test server. Will be used in wiki tutorial
4
+
1
5
  Version 0.0.54
2
6
  * Enhancements
3
7
  * Make 'headers' accessor for setting headers on RestHandler easier
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- soaspec (0.0.54)
4
+ soaspec (0.0.55)
5
5
  jsonpath
6
6
  rest-client (>= 2.0)
7
7
  rspec (~> 3.0)
data/Rakefile CHANGED
@@ -33,6 +33,7 @@ CLOBBER.include 'logs/*'
33
33
 
34
34
  desc 'Start virtual web service'
35
35
  task :start_test_server do
36
- ENV['test_server_pid'] = Process.spawn('ruby', 'spec/test_server.rb', err: %w[logs/test_server.log w]).to_s
36
+ ENV['test_server_pid'] = Process.spawn('ruby', 'exe/soaspec-virtual-server', err: %w[logs/test_server.log w]).to_s
37
+ sleep 1 # Wait a little for virtual server to start up
37
38
  puts 'Running test server at pid ' + ENV['test_server_pid']
38
39
  end
@@ -2,10 +2,10 @@ small_id:
2
2
  blz: 100
3
3
 
4
4
  pet:
5
- id: '11223344090'
5
+ id: '1122338409073'
6
6
  category:
7
- id: '1'
8
- name: 'string'
7
+ id: '5436'
8
+ name: 'soaspec_test'
9
9
  name: 'test_rest'
10
10
  photoUrls:
11
11
  - 'string'
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Used to run virtual web service on localhost. This makes tests more reliable and faster
4
+
5
+ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
6
+ require 'soaspec'
7
+ require 'sinatra'
8
+ require 'nokogiri'
9
+ require 'erb'
10
+ require 'json'
11
+ require 'faker'
12
+
13
+ set :port, 4999
14
+
15
+ # Used to test attributes
16
+ get '/test_attribute' do
17
+ Soaspec::TestServer::TestAttribute.note
18
+ end
19
+
20
+ # This is the one being hit by SOAP actions
21
+ post '/BLZService' do
22
+ Soaspec::TestServer::GetBank.response_for request
23
+ end
24
+
25
+ # This is returned when a query for the WSDL is made
26
+ get '/BLZService' do
27
+ [200, { 'Content-Type' => 'text/xml' }, Soaspec::TestServer::GetBank.test_wsdl]
28
+ end
29
+
30
+ # Used for testing storage of data
31
+ post '/test/id' do
32
+ # puts request.body.string
33
+ request_hash = JSON.parse(request.body.string)
34
+ # request_hash = JSON.parse('{ "id": "1" }')
35
+ # puts request_hash
36
+ uuid = SecureRandom.uuid
37
+ Soaspec::TestServer::PuppyService.data[uuid] = {}
38
+ Soaspec::TestServer::PuppyService.data[uuid][:id] = request_hash['id']
39
+ # puts PuppyService.data
40
+ 'Success'
41
+ end
42
+
43
+ # Used for testing retrieving storage of data
44
+ get '/test/id/:id' do |id|
45
+ # puts "ID is:#{id}:"
46
+ # puts id.class
47
+ # puts PuppyService.data
48
+ # puts PuppyService.data['id']
49
+ # puts PuppyService.data[id]
50
+ result = Soaspec::TestServer::PuppyService.data.select { |_key, hash| hash[:id] == id }
51
+
52
+ JSON.generate(result)
53
+ end
@@ -22,6 +22,9 @@ require 'soaspec/exchange_handlers/rest_handler'
22
22
  require 'soaspec/exchange_handlers/handler_accessors'
23
23
  require 'soaspec/interpreter'
24
24
  require 'soaspec/not_found_errors'
25
+ require 'soaspec/test_server/get_bank'
26
+ require 'soaspec/test_server/test_attribute'
27
+ require 'soaspec/test_server/puppy_service'
25
28
 
26
29
  # Gem for handling SOAP and REST api tests
27
30
  module Soaspec
@@ -4,6 +4,7 @@
4
4
  # Override Hash class with convience methods
5
5
  class Hash
6
6
 
7
+ # Transform each key in Hash to a symbol. Privately used by non-self method
7
8
  def self.transform_keys_to_symbols(value)
8
9
  return value if not value.is_a?(Hash)
9
10
  hash = value.inject({}){|memo,(k,v)| memo[k.to_sym] = Hash.transform_keys_to_symbols(v); memo}
@@ -15,6 +16,7 @@ class Hash
15
16
  inject({}){|memo, (k, v)| memo[k.to_sym] = Hash.transform_keys_to_symbols(v); memo}
16
17
  end
17
18
 
19
+ # Returns all keys that have a particular value within a nested Hash
18
20
  def find_all_values_for(key)
19
21
  result = []
20
22
  result << self[key]
@@ -58,7 +60,7 @@ class Hash
58
60
  end
59
61
 
60
62
  # Loop through each item within a key within a Hash if the key exists
61
- # @param [Key] Key within hash to iterate through
63
+ # @param [Key] key Key within hash to iterate through
62
64
  def each_if_not_null(key)
63
65
  case key.class.to_s
64
66
  when 'String'
@@ -0,0 +1,91 @@
1
+ <?xml version="1.0"?>
2
+ <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tns="http://thomas-bayer.com/blz/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://thomas-bayer.com/blz/">
3
+ <wsdl:documentation>BLZService</wsdl:documentation>
4
+ <wsdl:types>
5
+ <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://thomas-bayer.com/blz/">
6
+ <xsd:element name="getBank" type="tns:getBankType"/>
7
+ <xsd:element name="getBankResponse" type="tns:getBankResponseType"/>
8
+ <xsd:complexType name="getBankType">
9
+ <xsd:sequence>
10
+ <xsd:element name="blz" type="xsd:string"/>
11
+ </xsd:sequence>
12
+ </xsd:complexType>
13
+ <xsd:complexType name="getBankResponseType">
14
+ <xsd:sequence>
15
+ <xsd:element name="details" type="tns:detailsType"/>
16
+ </xsd:sequence>
17
+ </xsd:complexType>
18
+ <xsd:complexType name="detailsType">
19
+ <xsd:sequence>
20
+ <xsd:element minOccurs="0" name="bezeichnung" type="xsd:string"/>
21
+ <xsd:element minOccurs="0" name="bic" type="xsd:string"/>
22
+ <xsd:element minOccurs="0" name="ort" type="xsd:string"/>
23
+ <xsd:element minOccurs="0" name="plz" type="xsd:string"/>
24
+ </xsd:sequence>
25
+ </xsd:complexType>
26
+ </xsd:schema>
27
+ </wsdl:types>
28
+ <wsdl:message name="getBank">
29
+ <wsdl:part name="parameters" element="tns:getBank"/>
30
+ </wsdl:message>
31
+ <wsdl:message name="getBankResponse">
32
+ <wsdl:part name="parameters" element="tns:getBankResponse"/>
33
+ </wsdl:message>
34
+ <wsdl:portType name="BLZServicePortType">
35
+ <wsdl:operation name="getBank">
36
+ <wsdl:input message="tns:getBank"/>
37
+ <!--<wsdl:output message="tns:getBankResponse" wsaw:Action="http://thomas-bayer.com/blz/BLZService/getBankResponse"/>-->
38
+ <wsdl:output message="tns:getBankResponse" wsaw:Action="http://localhost:4567/BLZService/getBankResponse"/>
39
+ </wsdl:operation>
40
+ </wsdl:portType>
41
+ <wsdl:binding name="BLZServiceSOAP11Binding" type="tns:BLZServicePortType">
42
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
43
+ <wsdl:operation name="getBank">
44
+ <soap:operation style="document" soapAction=""/>
45
+ <wsdl:input>
46
+ <soap:body use="literal"/>
47
+ </wsdl:input>
48
+ <wsdl:output>
49
+ <soap:body use="literal"/>
50
+ </wsdl:output>
51
+ </wsdl:operation>
52
+ </wsdl:binding>
53
+ <wsdl:binding name="BLZServiceSOAP12Binding" type="tns:BLZServicePortType">
54
+ <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
55
+ <wsdl:operation name="getBank">
56
+ <soap12:operation style="document" soapAction=""/>
57
+ <wsdl:input>
58
+ <soap12:body use="literal"/>
59
+ </wsdl:input>
60
+ <wsdl:output>
61
+ <soap12:body use="literal"/>
62
+ </wsdl:output>
63
+ </wsdl:operation>
64
+ </wsdl:binding>
65
+ <wsdl:binding name="BLZServiceHttpBinding" type="tns:BLZServicePortType">
66
+ <http:binding verb="POST"/>
67
+ <wsdl:operation name="getBank">
68
+ <http:operation location="BLZService/getBank"/>
69
+ <wsdl:input>
70
+ <mime:content part="getBank" type="text/xml"/>
71
+ </wsdl:input>
72
+ <wsdl:output>
73
+ <mime:content part="getBank" type="text/xml"/>
74
+ </wsdl:output>
75
+ </wsdl:operation>
76
+ </wsdl:binding>
77
+ <wsdl:service name="BLZService">
78
+ <wsdl:port name="BLZServiceSOAP11port_http" binding="tns:BLZServiceSOAP11Binding">
79
+ <!-- <soap:address location="http://www.thomas-bayer.com/axis2/services/BLZService"/> -->
80
+ <soap:address location="http://localhost:4999/BLZService"/>
81
+ </wsdl:port>
82
+ <wsdl:port name="BLZServiceSOAP12port_http" binding="tns:BLZServiceSOAP12Binding">
83
+ <!--<soap12:address location="http://www.thomas-bayer.com/axis2/services/BLZService"/>-->
84
+ <soap12:address location="http://localhost:4999/BLZService"/>
85
+ </wsdl:port>
86
+ <wsdl:port name="BLZServiceHttpport" binding="tns:BLZServiceHttpBinding">
87
+ <!--<http:address location="http://www.thomas-bayer.com/axis2/services/BLZService"/>-->
88
+ <soap:address location="http://localhost:4999/BLZService"/>
89
+ </wsdl:port>
90
+ </wsdl:service>
91
+ </wsdl:definitions>
@@ -0,0 +1,155 @@
1
+
2
+ require 'erb'
3
+
4
+ module Soaspec
5
+ module TestServer
6
+ # Representing a GetBank SOAP service
7
+ class GetBank
8
+
9
+ class << self
10
+
11
+ def test_wsdl
12
+ ERB.new(File.read(File.join(File.dirname(__FILE__), 'bank.wsdl'))).result(binding)
13
+ end
14
+
15
+ def success_response_template
16
+ <<-EOF
17
+ <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
18
+ <soapenv:Body>
19
+ <ns1:getBankResponse xmlns:ns1="http://thomas-bayer.com/blz/">
20
+ <ns1:details unique_id="50">
21
+ <ns1:bezeichnung lang="German"><%= @title %></ns1:bezeichnung>
22
+ <ns1:bic>DEUTDEMMXXX <%= soap_action %></ns1:bic>
23
+ <ns1:ort>München</ns1:ort>
24
+ <ns1:plz><%= @bank_name %></ns1:plz>
25
+ </ns1:details>
26
+ </ns1:getBankResponse>
27
+ </soapenv:Body>
28
+ </soapenv:Envelope>
29
+ EOF
30
+ end
31
+
32
+ def bank_not_found
33
+ <<-EOF
34
+ <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
35
+ <soapenv:Body>
36
+ <soapenv:Fault>
37
+ <soapenv:Code>
38
+ <soapenv:Value>soapenv:Receiver</soapenv:Value>
39
+ </soapenv:Code>
40
+ <soapenv:Reason>
41
+ <soapenv:Text xml:lang="en-US">Keine Bank zur BLZ <%= @bank_name %> gefunden!</soapenv:Text>
42
+ </soapenv:Reason>
43
+ <soapenv:Detail>
44
+ <Exception>org.apache.axis2.AxisFault: Keine Bank zur BLZ test string gefunden!
45
+ at com.thomas_bayer.blz.BLZService.getBank(BLZService.java:41)
46
+ at com.thomas_bayer.blz.BLZServiceMessageReceiverInOut.invokeBusinessLogic(BLZServiceMessageReceiverInOut.java:49)
47
+ at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:42)
48
+ at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
49
+ at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
50
+ at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
51
+ at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
52
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
53
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
54
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
55
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
56
+ at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
57
+ at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
58
+ at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
59
+ at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
60
+ at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
61
+ at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
62
+ at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
63
+ at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:683)
64
+ at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
65
+ at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
66
+ at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
67
+ at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
68
+ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
69
+ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
70
+ at java.lang.Thread.run(Thread.java:745)
71
+ </Exception>
72
+ </soapenv:Detail>
73
+ </soapenv:Fault>
74
+ </soapenv:Body>
75
+ </soapenv:Envelope>
76
+ EOF
77
+ end
78
+
79
+ def error_response_template
80
+ <<-EOF
81
+ <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
82
+ <soapenv:Body>
83
+ <soapenv:Fault>
84
+ <soapenv:Code>
85
+ <soapenv:Value>soapenv:Receiver</soapenv:Value>
86
+ </soapenv:Code>
87
+ <soapenv:Reason>
88
+ <soapenv:Text xml:lang="en-US">org.apache.axis2.databinding.ADBException: Unexpected subelement getBank</soapenv:Text>
89
+ </soapenv:Reason>
90
+ <soapenv:Detail>
91
+ <Exception>org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement getBank
92
+ at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
93
+ at com.thomas_bayer.blz.BLZServiceMessageReceiverInOut.fromOM(BLZServiceMessageReceiverInOut.java:124)
94
+ at com.thomas_bayer.blz.BLZServiceMessageReceiverInOut.invokeBusinessLogic(BLZServiceMessageReceiverInOut.java:43)
95
+ at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:42)
96
+ at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
97
+ at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
98
+ at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
99
+ at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
100
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
101
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
102
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
103
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
104
+ at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
105
+ at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
106
+ at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
107
+ at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
108
+ at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
109
+ at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
110
+ at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
111
+ at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:683)
112
+ at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
113
+ at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
114
+ at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
115
+ at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
116
+ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
117
+ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
118
+ at java.lang.Thread.run(Thread.java:745)
119
+ Caused by: java.lang.Exception: org.apache.axis2.databinding.ADBException: Unexpected subelement getBank
120
+ at com.thomas_bayer.adb.GetBankType$Factory.parse(GetBankType.java:423)
121
+ at com.thomas_bayer.adb.GetBank$Factory.parse(GetBank.java:304)
122
+ at com.thomas_bayer.blz.BLZServiceMessageReceiverInOut.fromOM(BLZServiceMessageReceiverInOut.java:117)
123
+ ... 25 more
124
+ Caused by: org.apache.axis2.databinding.ADBException: Unexpected subelement getBank
125
+ at com.thomas_bayer.adb.GetBankType$Factory.parse(GetBankType.java:410)
126
+ ... 27 more
127
+ </Exception>
128
+ </soapenv:Detail>
129
+ </soapenv:Fault>
130
+ </soapenv:Body>
131
+ </soapenv:Envelope>
132
+ EOF
133
+ end
134
+
135
+ # Return a response based upon the SOAP request
136
+ # @param [String] request XML in request
137
+ def response_for(request)
138
+ @title = 'Deutsche Bank'
139
+ soap_action = request.env['HTTP_SOAPACTION']
140
+ return 500, 'Not valid SOAP' unless soap_action
141
+ request_body = request.body
142
+ doc = Nokogiri::XML(request_body)
143
+ soap_action = soap_action.strip # Used in ERB
144
+ blz_element = doc.at_xpath('//tns:blz')
145
+ return 500, error_response_template unless blz_element
146
+ @bank_name = blz_element.inner_text
147
+ return 500, ERB.new(bank_not_found).result(binding) if @bank_name.to_i == 0
148
+ @title = 'DAB Bank' if @bank_id == '500'
149
+ ERB.new(success_response_template).result(binding)
150
+ end
151
+
152
+ end
153
+ end
154
+ end
155
+ end
@@ -0,0 +1,4 @@
1
+ <note date="2008-01-10">
2
+ <to>Tove</to>
3
+ <from>Jani</from>
4
+ </note>
@@ -0,0 +1,10 @@
1
+ module Soaspec
2
+ module TestServer
3
+ class PuppyService
4
+ @data = {}
5
+ class << self
6
+ attr_accessor :data
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,13 @@
1
+
2
+ module Soaspec
3
+ module TestServer
4
+ # Helps tests attribute methods
5
+ class TestAttribute
6
+ class << self
7
+ def note
8
+ File.read(File.join(File.dirname(__FILE__), 'note.xml'))
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module Soaspec
2
- VERSION = '0.0.54'.freeze
2
+ VERSION = '0.0.55'.freeze
3
3
  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.0.54
4
+ version: 0.0.55
5
5
  platform: ruby
6
6
  authors:
7
7
  - SamuelGarrattIQA
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-05-06 00:00:00.000000000 Z
11
+ date: 2018-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -143,6 +143,7 @@ email:
143
143
  executables:
144
144
  - soaspec-generate
145
145
  - soaspec-init
146
+ - soaspec-virtual-server
146
147
  - xml_to_yaml_file
147
148
  extensions: []
148
149
  extra_rdoc_files: []
@@ -165,6 +166,7 @@ files:
165
166
  - config/data/default.yml
166
167
  - exe/soaspec-generate
167
168
  - exe/soaspec-init
169
+ - exe/soaspec-virtual-server
168
170
  - exe/xml_to_yaml_file
169
171
  - lib/soaspec.rb
170
172
  - lib/soaspec/core_ext/hash.rb
@@ -180,6 +182,11 @@ files:
180
182
  - lib/soaspec/not_found_errors.rb
181
183
  - lib/soaspec/soaspec_shared_examples.rb
182
184
  - lib/soaspec/spec_logger.rb
185
+ - lib/soaspec/test_server/bank.wsdl
186
+ - lib/soaspec/test_server/get_bank.rb
187
+ - lib/soaspec/test_server/note.xml
188
+ - lib/soaspec/test_server/puppy_service.rb
189
+ - lib/soaspec/test_server/test_attribute.rb
183
190
  - lib/soaspec/version.rb
184
191
  - soaspec.gemspec
185
192
  - template/soap_template.xml