julianmorrison-savon 0.6.8

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 (42) hide show
  1. data/CHANGELOG +92 -0
  2. data/README.textile +71 -0
  3. data/Rakefile +27 -0
  4. data/lib/savon.rb +34 -0
  5. data/lib/savon/client.rb +84 -0
  6. data/lib/savon/core_ext.rb +3 -0
  7. data/lib/savon/core_ext/datetime.rb +8 -0
  8. data/lib/savon/core_ext/hash.rb +78 -0
  9. data/lib/savon/core_ext/object.rb +21 -0
  10. data/lib/savon/core_ext/string.rb +47 -0
  11. data/lib/savon/core_ext/symbol.rb +8 -0
  12. data/lib/savon/core_ext/uri.rb +10 -0
  13. data/lib/savon/request.rb +159 -0
  14. data/lib/savon/response.rb +108 -0
  15. data/lib/savon/soap.rb +138 -0
  16. data/lib/savon/wsdl.rb +122 -0
  17. data/lib/savon/wsse.rb +122 -0
  18. data/spec/endpoint_helper.rb +22 -0
  19. data/spec/fixtures/response/response_fixture.rb +32 -0
  20. data/spec/fixtures/response/xml/authentication.xml +14 -0
  21. data/spec/fixtures/response/xml/soap_fault.xml +8 -0
  22. data/spec/fixtures/response/xml/soap_fault12.xml +18 -0
  23. data/spec/fixtures/wsdl/wsdl_fixture.rb +37 -0
  24. data/spec/fixtures/wsdl/xml/authentication.xml +63 -0
  25. data/spec/fixtures/wsdl/xml/namespaced_actions.xml +307 -0
  26. data/spec/fixtures/wsdl/xml/no_namespace.xml +115 -0
  27. data/spec/http_stubs.rb +23 -0
  28. data/spec/savon/client_spec.rb +83 -0
  29. data/spec/savon/core_ext/datetime_spec.rb +12 -0
  30. data/spec/savon/core_ext/hash_spec.rb +134 -0
  31. data/spec/savon/core_ext/object_spec.rb +40 -0
  32. data/spec/savon/core_ext/string_spec.rb +68 -0
  33. data/spec/savon/core_ext/symbol_spec.rb +11 -0
  34. data/spec/savon/core_ext/uri_spec.rb +15 -0
  35. data/spec/savon/request_spec.rb +124 -0
  36. data/spec/savon/response_spec.rb +122 -0
  37. data/spec/savon/savon_spec.rb +23 -0
  38. data/spec/savon/soap_spec.rb +131 -0
  39. data/spec/savon/wsdl_spec.rb +84 -0
  40. data/spec/savon/wsse_spec.rb +132 -0
  41. data/spec/spec_helper.rb +16 -0
  42. metadata +166 -0
@@ -0,0 +1,132 @@
1
+ require "spec_helper"
2
+
3
+ describe Savon::WSSE do
4
+ before do
5
+ Savon::WSSE.username = nil
6
+ Savon::WSSE.password = nil
7
+ Savon::WSSE.digest = false
8
+
9
+ @wsse = Savon::WSSE.new
10
+ @username, @password = "gorilla", "secret"
11
+ end
12
+
13
+ it "contains the namespace for WS Security Secext" do
14
+ Savon::WSSE::WSENamespace.should be_a(String)
15
+ Savon::WSSE::WSENamespace.should_not be_empty
16
+ end
17
+
18
+ it "contains the namespace for WS Security Utility" do
19
+ Savon::WSSE::WSUNamespace.should be_a(String)
20
+ Savon::WSSE::WSUNamespace.should_not be_empty
21
+ end
22
+
23
+ it "defaults to nil for the WSSE username (global setting)" do
24
+ Savon::WSSE.username.should be_nil
25
+ end
26
+
27
+ it "has both getter and setter for the WSSE username (global setting)" do
28
+ Savon::WSSE.username = "gorilla"
29
+ Savon::WSSE.username.should == "gorilla"
30
+ end
31
+
32
+ it "defaults to nil for the WSSE password (global setting)" do
33
+ Savon::WSSE.password.should be_nil
34
+ end
35
+
36
+ it "has both getter and setter for the WSSE password (global setting)" do
37
+ Savon::WSSE.password = "secret"
38
+ Savon::WSSE.password.should == "secret"
39
+ end
40
+
41
+ it "defaults to nil for whether to use WSSE digest (global setting)" do
42
+ Savon::WSSE.digest?.should be_false
43
+ end
44
+
45
+ it "has both getter and setter for whether to use WSSE digest (global setting)" do
46
+ Savon::WSSE.digest = true
47
+ Savon::WSSE.digest?.should == true
48
+ end
49
+
50
+ it "defaults to nil for the WSSE username" do
51
+ @wsse.username.should be_nil
52
+ end
53
+
54
+ it "has both getter and setter for the WSSE username" do
55
+ @wsse.username = "gorilla"
56
+ @wsse.username.should == "gorilla"
57
+ end
58
+
59
+ it "defaults to nil for the WSSE password" do
60
+ @wsse.password.should be_nil
61
+ end
62
+
63
+ it "has both getter and setter for the WSSE password" do
64
+ @wsse.password = "secret"
65
+ @wsse.password.should == "secret"
66
+ end
67
+
68
+ it "defaults to nil for whether to use WSSE digest" do
69
+ @wsse.digest?.should be_false
70
+ end
71
+
72
+ it "has both getter and setter for whether to use WSSE digest" do
73
+ @wsse.digest = true
74
+ @wsse.digest?.should == true
75
+ end
76
+
77
+ describe "header" do
78
+ describe "returns the XML for a WSSE authentication header" do
79
+ it "with WSSE credentials specified" do
80
+ @wsse.username = @username
81
+ @wsse.password = @password
82
+ header = @wsse.header
83
+
84
+ header.should include_security_namespaces
85
+ header.should include(@username)
86
+ header.should include(@password)
87
+ end
88
+
89
+ it "with WSSE credentials specified via defaults" do
90
+ Savon::WSSE.username = @username
91
+ Savon::WSSE.password = @password
92
+ header = @wsse.header
93
+
94
+ header.should include_security_namespaces
95
+ header.should include(@username)
96
+ header.should include(@password)
97
+ end
98
+ end
99
+
100
+ describe "returns the XML for a WSSE digest header if specified" do
101
+ it "via accessors" do
102
+ @wsse.username = @username
103
+ @wsse.password = @password
104
+ @wsse.digest = true
105
+ header = @wsse.header
106
+
107
+ header.should include_security_namespaces
108
+ header.should include(@username)
109
+ header.should_not include(@password)
110
+ end
111
+
112
+ it "via defaults" do
113
+ @wsse.username = @username
114
+ @wsse.password = @password
115
+ Savon::WSSE.digest = true
116
+ header = @wsse.header
117
+
118
+ header.should include_security_namespaces
119
+ header.should include(@username)
120
+ header.should_not include(@password)
121
+ end
122
+ end
123
+
124
+ def include_security_namespaces
125
+ simple_matcher("include security namespaces") do |given|
126
+ given.should include(Savon::WSSE::WSENamespace)
127
+ given.should include(Savon::WSSE::WSUNamespace)
128
+ end
129
+ end
130
+ end
131
+
132
+ end
@@ -0,0 +1,16 @@
1
+ require "rubygems"
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
13
+
14
+ FileList["spec/fixtures/**/*.rb"].each { |fixture| require fixture }
15
+ require "endpoint_helper"
16
+ require "http_stubs"
metadata ADDED
@@ -0,0 +1,166 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: julianmorrison-savon
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.8
5
+ platform: ruby
6
+ authors:
7
+ - Daniel Harrington
8
+ - Juliano Morrison
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2010-01-01 00:00:00 -02:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: builder
18
+ type: :runtime
19
+ version_requirement:
20
+ version_requirements: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: 2.1.2
25
+ version:
26
+ - !ruby/object:Gem::Dependency
27
+ name: crack
28
+ type: :runtime
29
+ version_requirement:
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 0.1.4
35
+ version:
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ type: :development
39
+ version_requirement:
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 1.2.8
45
+ version:
46
+ - !ruby/object:Gem::Dependency
47
+ name: mocha
48
+ type: :development
49
+ version_requirement:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.9.7
55
+ version:
56
+ - !ruby/object:Gem::Dependency
57
+ name: fakeweb
58
+ type: :development
59
+ version_requirement:
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 1.2.7
65
+ version:
66
+ description:
67
+ email: me@rubiii.com
68
+ executables: []
69
+
70
+ extensions: []
71
+
72
+ extra_rdoc_files:
73
+ - README.textile
74
+ files:
75
+ - CHANGELOG
76
+ - Rakefile
77
+ - README.textile
78
+ - lib/savon/client.rb
79
+ - lib/savon/core_ext/datetime.rb
80
+ - lib/savon/core_ext/hash.rb
81
+ - lib/savon/core_ext/object.rb
82
+ - lib/savon/core_ext/string.rb
83
+ - lib/savon/core_ext/symbol.rb
84
+ - lib/savon/core_ext/uri.rb
85
+ - lib/savon/core_ext.rb
86
+ - lib/savon/request.rb
87
+ - lib/savon/response.rb
88
+ - lib/savon/soap.rb
89
+ - lib/savon/wsdl.rb
90
+ - lib/savon/wsse.rb
91
+ - lib/savon.rb
92
+ - spec/endpoint_helper.rb
93
+ - spec/fixtures/response/response_fixture.rb
94
+ - spec/fixtures/wsdl/wsdl_fixture.rb
95
+ - spec/http_stubs.rb
96
+ - spec/savon/client_spec.rb
97
+ - spec/savon/core_ext/datetime_spec.rb
98
+ - spec/savon/core_ext/hash_spec.rb
99
+ - spec/savon/core_ext/object_spec.rb
100
+ - spec/savon/core_ext/string_spec.rb
101
+ - spec/savon/core_ext/symbol_spec.rb
102
+ - spec/savon/core_ext/uri_spec.rb
103
+ - spec/savon/request_spec.rb
104
+ - spec/savon/response_spec.rb
105
+ - spec/savon/savon_spec.rb
106
+ - spec/savon/soap_spec.rb
107
+ - spec/savon/wsdl_spec.rb
108
+ - spec/savon/wsse_spec.rb
109
+ - spec/spec_helper.rb
110
+ - spec/fixtures/response/xml/authentication.xml
111
+ - spec/fixtures/response/xml/soap_fault.xml
112
+ - spec/fixtures/response/xml/soap_fault12.xml
113
+ - spec/fixtures/wsdl/xml/authentication.xml
114
+ - spec/fixtures/wsdl/xml/namespaced_actions.xml
115
+ - spec/fixtures/wsdl/xml/no_namespace.xml
116
+ has_rdoc: true
117
+ homepage: http://github.com/JulianMorrison/savon
118
+ licenses: []
119
+
120
+ post_install_message:
121
+ rdoc_options:
122
+ - --charset=UTF-8
123
+ - --title
124
+ - Savon
125
+ - --line-numbers
126
+ - --inline-source
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: "0"
134
+ version:
135
+ required_rubygems_version: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: "0"
140
+ version:
141
+ requirements: []
142
+
143
+ rubyforge_project:
144
+ rubygems_version: 1.3.5
145
+ signing_key:
146
+ specification_version: 3
147
+ summary: Heavy metal Ruby SOAP client library
148
+ test_files:
149
+ - spec/endpoint_helper.rb
150
+ - spec/fixtures/response/response_fixture.rb
151
+ - spec/fixtures/wsdl/wsdl_fixture.rb
152
+ - spec/http_stubs.rb
153
+ - spec/savon/client_spec.rb
154
+ - spec/savon/core_ext/datetime_spec.rb
155
+ - spec/savon/core_ext/hash_spec.rb
156
+ - spec/savon/core_ext/object_spec.rb
157
+ - spec/savon/core_ext/string_spec.rb
158
+ - spec/savon/core_ext/symbol_spec.rb
159
+ - spec/savon/core_ext/uri_spec.rb
160
+ - spec/savon/request_spec.rb
161
+ - spec/savon/response_spec.rb
162
+ - spec/savon/savon_spec.rb
163
+ - spec/savon/soap_spec.rb
164
+ - spec/savon/wsdl_spec.rb
165
+ - spec/savon/wsse_spec.rb
166
+ - spec/spec_helper.rb