savon 0.6.8 → 0.7.0
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.
- data/CHANGELOG +30 -0
- data/README.textile +6 -2
- data/Rakefile +22 -4
- data/lib/savon.rb +1 -1
- data/lib/savon/client.rb +23 -28
- data/lib/savon/core_ext.rb +1 -1
- data/lib/savon/core_ext/hash.rb +33 -17
- data/lib/savon/core_ext/net_http.rb +20 -0
- data/lib/savon/request.rb +38 -40
- data/lib/savon/response.rb +13 -25
- data/lib/savon/soap.rb +5 -0
- data/lib/savon/wsdl.rb +8 -0
- data/spec/basic_spec_helper.rb +12 -0
- data/spec/fixtures/response/response_fixture.rb +5 -1
- data/spec/fixtures/response/xml/multi_ref.xml +39 -0
- data/spec/fixtures/response/xml/soap_fault12.xml +17 -17
- data/spec/fixtures/wsdl/wsdl_fixture.rb +2 -2
- data/spec/integration/http_basic_auth_spec.rb +12 -0
- data/spec/integration/server.rb +51 -0
- data/spec/savon/client_spec.rb +34 -54
- data/spec/savon/core_ext/hash_spec.rb +24 -20
- data/spec/savon/core_ext/net_http_spec.rb +38 -0
- data/spec/savon/core_ext/string_spec.rb +2 -2
- data/spec/savon/request_spec.rb +10 -56
- data/spec/savon/response_spec.rb +13 -5
- data/spec/savon/savon_spec.rb +3 -3
- data/spec/savon/soap_spec.rb +16 -8
- data/spec/savon/wsdl_spec.rb +7 -3
- data/spec/savon/wsse_spec.rb +12 -12
- data/spec/spec_helper.rb +1 -12
- metadata +12 -2
@@ -4,12 +4,12 @@ describe String do
|
|
4
4
|
|
5
5
|
describe "self.random" do
|
6
6
|
it "returns a random 100-character String" do
|
7
|
-
String.random.should be_a
|
7
|
+
String.random.should be_a(String)
|
8
8
|
String.random.length.should == 100
|
9
9
|
end
|
10
10
|
|
11
11
|
it "returns a random String of a given length" do
|
12
|
-
String.random(50).should be_a
|
12
|
+
String.random(50).should be_a(String)
|
13
13
|
String.random(50).length.should == 50
|
14
14
|
end
|
15
15
|
end
|
data/spec/savon/request_spec.rb
CHANGED
@@ -5,7 +5,7 @@ describe Savon::Request do
|
|
5
5
|
|
6
6
|
it "contains the ContentType for each supported SOAP version" do
|
7
7
|
Savon::SOAPVersions.each do |soap_version|
|
8
|
-
Savon::Request::ContentType[soap_version].should be_a
|
8
|
+
Savon::Request::ContentType[soap_version].should be_a(String)
|
9
9
|
Savon::Request::ContentType[soap_version].should_not be_empty
|
10
10
|
end
|
11
11
|
end
|
@@ -20,7 +20,7 @@ describe Savon::Request do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
it "defaults to use a Logger instance for logging" do
|
23
|
-
Savon::Request.logger.should be_a
|
23
|
+
Savon::Request.logger.should be_a(Logger)
|
24
24
|
end
|
25
25
|
|
26
26
|
it "has both getter and setter for the logger to use (global setting)" do
|
@@ -43,10 +43,6 @@ describe Savon::Request do
|
|
43
43
|
Savon::Request.new EndpointHelper.wsdl_endpoint
|
44
44
|
end
|
45
45
|
|
46
|
-
it "ccepts an optional proxy URI passed in via options" do
|
47
|
-
Savon::Request.new EndpointHelper.wsdl_endpoint, :proxy => "http://localhost:8080"
|
48
|
-
end
|
49
|
-
|
50
46
|
it "has a getter for the SOAP endpoint URI" do
|
51
47
|
@request.endpoint.should == URI(EndpointHelper.wsdl_endpoint)
|
52
48
|
end
|
@@ -55,70 +51,28 @@ describe Savon::Request do
|
|
55
51
|
@request.proxy.should == URI("")
|
56
52
|
end
|
57
53
|
|
58
|
-
it "
|
59
|
-
@request.
|
54
|
+
it "should return the Net::HTTP object" do
|
55
|
+
@request.http.should be_kind_of(Net::HTTP)
|
60
56
|
end
|
61
57
|
|
62
|
-
it "
|
63
|
-
@request.
|
58
|
+
it "should have a method for setting HTTP basic auth credentials" do
|
59
|
+
@request.basic_auth "user", "password"
|
64
60
|
end
|
65
61
|
|
66
|
-
it "retrieves the WSDL document and returns the Net::
|
62
|
+
it "retrieves the WSDL document and returns the Net::HTTP response" do
|
67
63
|
wsdl_response = @request.wsdl
|
68
64
|
|
69
|
-
wsdl_response.should be_a
|
65
|
+
wsdl_response.should be_a(Net::HTTPResponse)
|
70
66
|
wsdl_response.body.should == WSDLFixture.authentication
|
71
67
|
end
|
72
68
|
|
73
|
-
it "executes a SOAP request and returns the Net::
|
69
|
+
it "executes a SOAP request and returns the Net::HTTP response" do
|
74
70
|
soap = Savon::SOAP.new
|
75
71
|
soap.endpoint = URI EndpointHelper.wsdl_endpoint
|
76
72
|
soap_response = @request.soap soap
|
77
73
|
|
78
|
-
soap_response.should be_a
|
74
|
+
soap_response.should be_a(Net::HTTPResponse)
|
79
75
|
soap_response.body.should == ResponseFixture.authentication
|
80
76
|
end
|
81
|
-
|
82
|
-
describe "Savon::Request SSL" do
|
83
|
-
before { @request.class.class_eval { public "http" } }
|
84
|
-
|
85
|
-
it "defaults to not setting ssl parameters" do
|
86
|
-
http = @request.http
|
87
|
-
http.cert.should be_nil
|
88
|
-
http.key.should be_nil
|
89
|
-
http.ca_file.should be_nil
|
90
|
-
http.verify_mode.should == OpenSSL::SSL::VERIFY_NONE
|
91
|
-
end
|
92
|
-
|
93
|
-
it "sets client cert in http object when set in request constructor" do
|
94
|
-
request = Savon::Request.new(EndpointHelper.wsdl_endpoint, :ssl => {
|
95
|
-
:client_cert => "client cert"
|
96
|
-
})
|
97
|
-
request.http.cert.should == "client cert"
|
98
|
-
end
|
99
|
-
|
100
|
-
it "sets ca cert in http object when set in request constructor" do
|
101
|
-
request = Savon::Request.new(EndpointHelper.wsdl_endpoint, :ssl => {
|
102
|
-
:client_key => "client key"
|
103
|
-
})
|
104
|
-
request.http.key.should == "client key"
|
105
|
-
end
|
106
|
-
|
107
|
-
it "sets client cert in http object when set in request constructor" do
|
108
|
-
request = Savon::Request.new(EndpointHelper.wsdl_endpoint, :ssl => {
|
109
|
-
:ca_file => "ca file"
|
110
|
-
})
|
111
|
-
request.http.ca_file.should == "ca file"
|
112
|
-
end
|
113
77
|
|
114
|
-
it "sets client cert in http object when set in request constructor" do
|
115
|
-
request = Savon::Request.new(EndpointHelper.wsdl_endpoint, :ssl => {
|
116
|
-
:verify => OpenSSL::SSL::VERIFY_PEER
|
117
|
-
})
|
118
|
-
request.http.verify_mode.should == OpenSSL::SSL::VERIFY_PEER
|
119
|
-
end
|
120
|
-
|
121
|
-
after { @request.class.class_eval { private "http" } }
|
122
|
-
end
|
123
|
-
|
124
78
|
end
|
data/spec/savon/response_spec.rb
CHANGED
@@ -19,7 +19,7 @@ describe Savon::Response do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
it "raises a Savon::SOAPFault in case of a SOAP fault" do
|
22
|
-
lambda { savon_response_with :soap_fault }.should raise_error
|
22
|
+
lambda { savon_response_with :soap_fault }.should raise_error(Savon::SOAPFault)
|
23
23
|
end
|
24
24
|
|
25
25
|
it "does not raise a Savon::SOAPFault in case the default is turned off" do
|
@@ -29,7 +29,7 @@ describe Savon::Response do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "raises a Savon::HTTPError in case of an HTTP error" do
|
32
|
-
lambda { savon_response_with :http_error }.should raise_error
|
32
|
+
lambda { savon_response_with :http_error }.should raise_error(Savon::HTTPError)
|
33
33
|
end
|
34
34
|
|
35
35
|
it "does not raise a Savon::HTTPError in case the default is turned off" do
|
@@ -93,11 +93,19 @@ describe Savon::Response do
|
|
93
93
|
after { Savon::Response.raise_errors = true }
|
94
94
|
end
|
95
95
|
|
96
|
-
it "
|
97
|
-
@response.to_hash[:return].should ==
|
96
|
+
it "should return the SOAP response body as a Hash" do
|
97
|
+
@response.to_hash[:authenticate_response][:return].should ==
|
98
|
+
ResponseFixture.authentication(:to_hash)
|
98
99
|
end
|
99
100
|
|
100
|
-
it "
|
101
|
+
it "should return a Hash for a SOAP multiRef response" do
|
102
|
+
@response = Savon::Response.new http_response_mock(200, ResponseFixture.multi_ref, "OK")
|
103
|
+
|
104
|
+
@response.to_hash[:list_response].should be_a(Hash)
|
105
|
+
@response.to_hash[:multi_ref].should be_an(Array)
|
106
|
+
end
|
107
|
+
|
108
|
+
it "should return the raw SOAP response body" do
|
101
109
|
@response.to_xml.should == ResponseFixture.authentication
|
102
110
|
@response.to_s.should == ResponseFixture.authentication
|
103
111
|
end
|
data/spec/savon/savon_spec.rb
CHANGED
@@ -3,12 +3,12 @@ require "spec_helper"
|
|
3
3
|
describe Savon do
|
4
4
|
|
5
5
|
it "contains an Array of supported SOAP versions" do
|
6
|
-
Savon::SOAPVersions.should be_an
|
6
|
+
Savon::SOAPVersions.should be_an(Array)
|
7
7
|
Savon::SOAPVersions.should_not be_empty
|
8
8
|
end
|
9
9
|
|
10
10
|
it "contains the xs:dateTime format" do
|
11
|
-
Savon::SOAPDateTimeFormat.should be_a
|
11
|
+
Savon::SOAPDateTimeFormat.should be_a(String)
|
12
12
|
Savon::SOAPDateTimeFormat.should_not be_empty
|
13
13
|
|
14
14
|
DateTime.new(2012, 03, 22, 16, 22, 33).strftime(Savon::SOAPDateTimeFormat).
|
@@ -16,7 +16,7 @@ describe Savon do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
it "contains a Regexp matching the xs:dateTime format" do
|
19
|
-
Savon::SOAPDateTimeRegexp.should be_a
|
19
|
+
Savon::SOAPDateTimeRegexp.should be_a(Regexp)
|
20
20
|
(Savon::SOAPDateTimeRegexp === "2012-03-22T16:22:33").should be_true
|
21
21
|
end
|
22
22
|
|
data/spec/savon/soap_spec.rb
CHANGED
@@ -8,14 +8,14 @@ describe Savon::SOAP do
|
|
8
8
|
|
9
9
|
it "contains the SOAP namespace for each supported SOAP version" do
|
10
10
|
Savon::SOAPVersions.each do |soap_version|
|
11
|
-
Savon::SOAP::SOAPNamespace[soap_version].should be_a
|
11
|
+
Savon::SOAP::SOAPNamespace[soap_version].should be_a(String)
|
12
12
|
Savon::SOAP::SOAPNamespace[soap_version].should_not be_empty
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
it "contains the Content-Types for each supported SOAP version" do
|
17
17
|
Savon::SOAPVersions.each do |soap_version|
|
18
|
-
Savon::SOAP::ContentType[soap_version].should be_a
|
18
|
+
Savon::SOAP::ContentType[soap_version].should be_a(String)
|
19
19
|
Savon::SOAP::ContentType[soap_version].should_not be_empty
|
20
20
|
end
|
21
21
|
end
|
@@ -47,7 +47,7 @@ describe Savon::SOAP do
|
|
47
47
|
end
|
48
48
|
|
49
49
|
it "has both getter and setter for the SOAP header" do
|
50
|
-
@soap.header.should be_a
|
50
|
+
@soap.header.should be_a(Hash)
|
51
51
|
@soap.header.should be_empty
|
52
52
|
|
53
53
|
@soap.header = { "specialAuthKey" => "secret" }
|
@@ -76,6 +76,14 @@ describe Savon::SOAP do
|
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
|
+
it "has a convenience method for setting the 'xmlns:wsdl' namespace" do
|
80
|
+
@soap.namespaces.should == { "xmlns:env" => "http://schemas.xmlsoap.org/soap/envelope/" }
|
81
|
+
|
82
|
+
@soap.namespace = "http://example.com"
|
83
|
+
@soap.namespaces.should include("xmlns:env" => "http://schemas.xmlsoap.org/soap/envelope/")
|
84
|
+
@soap.namespaces.should include("xmlns:wsdl" => "http://example.com")
|
85
|
+
end
|
86
|
+
|
79
87
|
it "has both getter and setter for the SOAP endpoint" do
|
80
88
|
@soap.endpoint.should be_nil
|
81
89
|
|
@@ -100,9 +108,9 @@ describe Savon::SOAP do
|
|
100
108
|
@soap.namespaces["xmlns:wsdl"] = "http://v1_0.ws.auth.order.example.com/"
|
101
109
|
@soap.body = { :id => 666 }
|
102
110
|
|
103
|
-
@soap.to_xml.should include
|
104
|
-
@soap.to_xml.should include
|
105
|
-
@soap.to_xml.should include
|
111
|
+
@soap.to_xml.should include('xmlns:wsdl="http://v1_0.ws.auth.order.example.com/"')
|
112
|
+
@soap.to_xml.should include('xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"')
|
113
|
+
@soap.to_xml.should include('<wsdl:authenticate><id>666</id></wsdl:authenticate>')
|
106
114
|
end
|
107
115
|
|
108
116
|
it "caches the XML, returning the same Object every time" do
|
@@ -111,12 +119,12 @@ describe Savon::SOAP do
|
|
111
119
|
|
112
120
|
it "uses the SOAP namespace for the specified SOAP version" do
|
113
121
|
@soap.version = 2
|
114
|
-
@soap.to_xml.should include
|
122
|
+
@soap.to_xml.should include(Savon::SOAP::SOAPNamespace[2])
|
115
123
|
end
|
116
124
|
|
117
125
|
it "uses the SOAP namespace for the default SOAP version otherwise" do
|
118
126
|
Savon::SOAP.version = 2
|
119
|
-
@soap.to_xml.should include
|
127
|
+
@soap.to_xml.should include(Savon::SOAP::SOAPNamespace[2])
|
120
128
|
end
|
121
129
|
end
|
122
130
|
|
data/spec/savon/wsdl_spec.rb
CHANGED
@@ -8,13 +8,17 @@ describe Savon::WSDL do
|
|
8
8
|
Savon::WSDL.new Savon::Request.new(EndpointHelper.wsdl_endpoint)
|
9
9
|
end
|
10
10
|
|
11
|
+
it "is enabled by default" do
|
12
|
+
@wsdl.enabled?.should be_true
|
13
|
+
end
|
14
|
+
|
11
15
|
it "has a getter for the namespace URI" do
|
12
16
|
@wsdl.namespace_uri.should == WSDLFixture.authentication(:namespace_uri)
|
13
17
|
end
|
14
18
|
|
15
19
|
it "has a getter for returning an Array of available SOAP actions" do
|
16
20
|
WSDLFixture.authentication(:operations).keys.each do |soap_action|
|
17
|
-
@wsdl.soap_actions.should include
|
21
|
+
@wsdl.soap_actions.should include(soap_action)
|
18
22
|
end
|
19
23
|
end
|
20
24
|
|
@@ -45,7 +49,7 @@ describe Savon::WSDL do
|
|
45
49
|
|
46
50
|
it "returns an Array of available SOAP actions" do
|
47
51
|
WSDLFixture.no_namespace(:operations).keys.each do |soap_action|
|
48
|
-
@wsdl.soap_actions.should include
|
52
|
+
@wsdl.soap_actions.should include(soap_action)
|
49
53
|
end
|
50
54
|
end
|
51
55
|
|
@@ -63,7 +67,7 @@ describe Savon::WSDL do
|
|
63
67
|
|
64
68
|
it "returns an Array of available SOAP actions" do
|
65
69
|
WSDLFixture.namespaced_actions(:operations).keys.each do |soap_action|
|
66
|
-
@wsdl.soap_actions.should include
|
70
|
+
@wsdl.soap_actions.should include(soap_action)
|
67
71
|
end
|
68
72
|
end
|
69
73
|
|
data/spec/savon/wsse_spec.rb
CHANGED
@@ -11,12 +11,12 @@ describe Savon::WSSE do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
it "contains the namespace for WS Security Secext" do
|
14
|
-
Savon::WSSE::WSENamespace.should be_a
|
14
|
+
Savon::WSSE::WSENamespace.should be_a(String)
|
15
15
|
Savon::WSSE::WSENamespace.should_not be_empty
|
16
16
|
end
|
17
17
|
|
18
18
|
it "contains the namespace for WS Security Utility" do
|
19
|
-
Savon::WSSE::WSUNamespace.should be_a
|
19
|
+
Savon::WSSE::WSUNamespace.should be_a(String)
|
20
20
|
Savon::WSSE::WSUNamespace.should_not be_empty
|
21
21
|
end
|
22
22
|
|
@@ -82,8 +82,8 @@ describe Savon::WSSE do
|
|
82
82
|
header = @wsse.header
|
83
83
|
|
84
84
|
header.should include_security_namespaces
|
85
|
-
header.should include
|
86
|
-
header.should include
|
85
|
+
header.should include(@username)
|
86
|
+
header.should include(@password)
|
87
87
|
end
|
88
88
|
|
89
89
|
it "with WSSE credentials specified via defaults" do
|
@@ -92,8 +92,8 @@ describe Savon::WSSE do
|
|
92
92
|
header = @wsse.header
|
93
93
|
|
94
94
|
header.should include_security_namespaces
|
95
|
-
header.should include
|
96
|
-
header.should include
|
95
|
+
header.should include(@username)
|
96
|
+
header.should include(@password)
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
@@ -105,8 +105,8 @@ describe Savon::WSSE do
|
|
105
105
|
header = @wsse.header
|
106
106
|
|
107
107
|
header.should include_security_namespaces
|
108
|
-
header.should include
|
109
|
-
header.should_not include
|
108
|
+
header.should include(@username)
|
109
|
+
header.should_not include(@password)
|
110
110
|
end
|
111
111
|
|
112
112
|
it "via defaults" do
|
@@ -116,15 +116,15 @@ describe Savon::WSSE do
|
|
116
116
|
header = @wsse.header
|
117
117
|
|
118
118
|
header.should include_security_namespaces
|
119
|
-
header.should include
|
120
|
-
header.should_not include
|
119
|
+
header.should include(@username)
|
120
|
+
header.should_not include(@password)
|
121
121
|
end
|
122
122
|
end
|
123
123
|
|
124
124
|
def include_security_namespaces
|
125
125
|
simple_matcher("include security namespaces") do |given|
|
126
|
-
given.should include
|
127
|
-
given.should include
|
126
|
+
given.should include(Savon::WSSE::WSENamespace)
|
127
|
+
given.should include(Savon::WSSE::WSUNamespace)
|
128
128
|
end
|
129
129
|
end
|
130
130
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,15 +1,4 @@
|
|
1
|
-
require "
|
2
|
-
require "rake"
|
3
|
-
require "spec"
|
4
|
-
require "mocha"
|
5
|
-
require "fakeweb"
|
6
|
-
|
7
|
-
Spec::Runner.configure do |config|
|
8
|
-
config.mock_with :mocha
|
9
|
-
end
|
10
|
-
|
11
|
-
require "savon"
|
12
|
-
Savon::Request.log = false
|
1
|
+
require "basic_spec_helper"
|
13
2
|
|
14
3
|
FileList["spec/fixtures/**/*.rb"].each { |fixture| require fixture }
|
15
4
|
require "endpoint_helper"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: savon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Harrington
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-09 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -77,6 +77,7 @@ files:
|
|
77
77
|
- lib/savon/client.rb
|
78
78
|
- lib/savon/core_ext/datetime.rb
|
79
79
|
- lib/savon/core_ext/hash.rb
|
80
|
+
- lib/savon/core_ext/net_http.rb
|
80
81
|
- lib/savon/core_ext/object.rb
|
81
82
|
- lib/savon/core_ext/string.rb
|
82
83
|
- lib/savon/core_ext/symbol.rb
|
@@ -88,13 +89,17 @@ files:
|
|
88
89
|
- lib/savon/wsdl.rb
|
89
90
|
- lib/savon/wsse.rb
|
90
91
|
- lib/savon.rb
|
92
|
+
- spec/basic_spec_helper.rb
|
91
93
|
- spec/endpoint_helper.rb
|
92
94
|
- spec/fixtures/response/response_fixture.rb
|
93
95
|
- spec/fixtures/wsdl/wsdl_fixture.rb
|
94
96
|
- spec/http_stubs.rb
|
97
|
+
- spec/integration/http_basic_auth_spec.rb
|
98
|
+
- spec/integration/server.rb
|
95
99
|
- spec/savon/client_spec.rb
|
96
100
|
- spec/savon/core_ext/datetime_spec.rb
|
97
101
|
- spec/savon/core_ext/hash_spec.rb
|
102
|
+
- spec/savon/core_ext/net_http_spec.rb
|
98
103
|
- spec/savon/core_ext/object_spec.rb
|
99
104
|
- spec/savon/core_ext/string_spec.rb
|
100
105
|
- spec/savon/core_ext/symbol_spec.rb
|
@@ -107,6 +112,7 @@ files:
|
|
107
112
|
- spec/savon/wsse_spec.rb
|
108
113
|
- spec/spec_helper.rb
|
109
114
|
- spec/fixtures/response/xml/authentication.xml
|
115
|
+
- spec/fixtures/response/xml/multi_ref.xml
|
110
116
|
- spec/fixtures/response/xml/soap_fault.xml
|
111
117
|
- spec/fixtures/response/xml/soap_fault12.xml
|
112
118
|
- spec/fixtures/wsdl/xml/authentication.xml
|
@@ -145,13 +151,17 @@ signing_key:
|
|
145
151
|
specification_version: 3
|
146
152
|
summary: Heavy metal Ruby SOAP client library
|
147
153
|
test_files:
|
154
|
+
- spec/basic_spec_helper.rb
|
148
155
|
- spec/endpoint_helper.rb
|
149
156
|
- spec/fixtures/response/response_fixture.rb
|
150
157
|
- spec/fixtures/wsdl/wsdl_fixture.rb
|
151
158
|
- spec/http_stubs.rb
|
159
|
+
- spec/integration/http_basic_auth_spec.rb
|
160
|
+
- spec/integration/server.rb
|
152
161
|
- spec/savon/client_spec.rb
|
153
162
|
- spec/savon/core_ext/datetime_spec.rb
|
154
163
|
- spec/savon/core_ext/hash_spec.rb
|
164
|
+
- spec/savon/core_ext/net_http_spec.rb
|
155
165
|
- spec/savon/core_ext/object_spec.rb
|
156
166
|
- spec/savon/core_ext/string_spec.rb
|
157
167
|
- spec/savon/core_ext/symbol_spec.rb
|