soap-object 0.6.3 → 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.
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ describe SoapObject do
4
+ let(:client) { double('client') }
5
+ let(:platform) {double('savon')}
6
+
7
+ before do
8
+ allow(platform).to receive(:client).and_return(client)
9
+ end
10
+
11
+ context 'when setting client ssl options' do
12
+
13
+ it 'should allow one to enable SSL verification' do
14
+ expect(platform).to receive(:client).with(hash_including(ssl_verify_mode: :peer))
15
+
16
+ WithSslOptions.new(platform)
17
+ end
18
+
19
+ it 'should allow one to set SSL version' do
20
+ expect(platform).to receive(:client).with(hash_including(ssl_version: :SSLv2))
21
+
22
+ WithSslOptions.new(platform)
23
+ end
24
+ end
25
+
26
+
27
+ end
@@ -1,6 +1,45 @@
1
- # encoding: utf-8
2
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
-
4
- require 'rspec'
5
- require 'soap-object'
6
-
1
+ # encoding: utf-8
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+
4
+ require 'rspec'
5
+ require 'soap-object'
6
+
7
+ class TestWorld
8
+ include SoapObject::Factory
9
+ end
10
+
11
+ class TestSoapObjectWithProperties
12
+ include SoapObject
13
+
14
+ wsdl 'http://blah.com'
15
+ endpoint 'https://blah.com'
16
+ proxy 'http://proxy.com:8080'
17
+ open_timeout 10
18
+ read_timeout 20
19
+ soap_header 'Token' => 'secret'
20
+ encoding 'UTF-16'
21
+ basic_auth 'steve', 'secret'
22
+ digest_auth 'digest', 'auth'
23
+ log_level :error
24
+ soap_version 2
25
+ end
26
+
27
+ class WithoutClientProperties
28
+ include SoapObject
29
+ end
30
+
31
+ class TestSoapObject
32
+ include SoapObject
33
+
34
+ wsdl 'http://blah.com'
35
+ end
36
+
37
+ class WithSslOptions
38
+ include SoapObject
39
+
40
+ ssl_options do |opts|
41
+ opts.verify_mode = :peer
42
+ opts.version = :SSLv2
43
+ end
44
+
45
+ end
metadata CHANGED
@@ -1,56 +1,56 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soap-object
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeffrey S. Morgan
8
8
  - Doug Morgan
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-26 00:00:00.000000000 Z
12
+ date: 2020-09-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: savon
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ! '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: 2.2.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ! '>='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: 2.2.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rspec
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ! '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: 2.12.0
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ! '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: 2.12.0
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: cucumber
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ! '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: 1.2.0
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ! '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: 1.2.0
56
56
  description: Wrapper around SOAP service calls to make it easy to test
@@ -61,10 +61,10 @@ executables: []
61
61
  extensions: []
62
62
  extra_rdoc_files: []
63
63
  files:
64
- - .gitignore
65
- - .rspec
66
- - .ruby-gemset
67
- - .ruby-version
64
+ - ".gitignore"
65
+ - ".rspec"
66
+ - ".ruby-gemset"
67
+ - ".ruby-version"
68
68
  - ChangeLog
69
69
  - Gemfile
70
70
  - Guardfile
@@ -72,44 +72,62 @@ files:
72
72
  - README.md
73
73
  - Rakefile
74
74
  - cucumber.yml
75
- - features/basic_functionality.feature
76
- - features/step_definitions/basic_functionality_steps.rb
75
+ - features/core_functionality.feature
76
+ - features/response_functionality.feature
77
+ - features/step_definitions/core_functionality_steps.rb
78
+ - features/step_definitions/response_steps.rb
77
79
  - features/support/env.rb
80
+ - features/support/services/define_service.rb
81
+ - features/support/services/local_wsdl_service.rb
82
+ - features/support/services/zip_code_service.rb
78
83
  - features/wsdl/uszip.asmx.wsdl.xml
79
84
  - lib/soap-object.rb
80
85
  - lib/soap-object/class_methods.rb
81
86
  - lib/soap-object/factory.rb
87
+ - lib/soap-object/response.rb
88
+ - lib/soap-object/ssl_options.rb
82
89
  - lib/soap-object/version.rb
83
90
  - soap-object.gemspec
91
+ - spec/lib/client_options_spec.rb
92
+ - spec/lib/factory_spec.rb
84
93
  - spec/lib/soap_object_spec.rb
94
+ - spec/lib/ssl_options_spec.rb
85
95
  - spec/spec_helper.rb
86
96
  homepage: http://github.com/cheezy/soap-object
87
97
  licenses: []
88
98
  metadata: {}
89
- post_install_message:
99
+ post_install_message:
90
100
  rdoc_options: []
91
101
  require_paths:
92
102
  - lib
93
103
  required_ruby_version: !ruby/object:Gem::Requirement
94
104
  requirements:
95
- - - ! '>='
105
+ - - ">="
96
106
  - !ruby/object:Gem::Version
97
107
  version: '0'
98
108
  required_rubygems_version: !ruby/object:Gem::Requirement
99
109
  requirements:
100
- - - ! '>='
110
+ - - ">="
101
111
  - !ruby/object:Gem::Version
102
112
  version: '0'
103
113
  requirements: []
104
- rubyforge_project:
105
- rubygems_version: 2.3.0
106
- signing_key:
114
+ rubyforge_project:
115
+ rubygems_version: 2.6.14.1
116
+ signing_key:
107
117
  specification_version: 4
108
118
  summary: Wrapper around SOAP service calls to make it easy to test
109
119
  test_files:
110
- - features/basic_functionality.feature
111
- - features/step_definitions/basic_functionality_steps.rb
120
+ - features/core_functionality.feature
121
+ - features/response_functionality.feature
122
+ - features/step_definitions/core_functionality_steps.rb
123
+ - features/step_definitions/response_steps.rb
112
124
  - features/support/env.rb
125
+ - features/support/services/define_service.rb
126
+ - features/support/services/local_wsdl_service.rb
127
+ - features/support/services/zip_code_service.rb
113
128
  - features/wsdl/uszip.asmx.wsdl.xml
129
+ - spec/lib/client_options_spec.rb
130
+ - spec/lib/factory_spec.rb
114
131
  - spec/lib/soap_object_spec.rb
132
+ - spec/lib/ssl_options_spec.rb
115
133
  - spec/spec_helper.rb
@@ -1,40 +0,0 @@
1
- @focus
2
- Feature: This describes the core functionality of the SoapObject object
3
-
4
- Scenario: Establishing communications with remote wsdl
5
- Given I have the url for a remote wsdl
6
- When I create an instance of the SoapObject class
7
- Then I should have a connection
8
-
9
- Scenario: Establishing communications with a local wsdl
10
- Given I have a wsdl file residing locally
11
- When I create an instance of the SoapObject class
12
- Then I should have a connection
13
-
14
- Scenario: Providing operations when using wsdl
15
- Given I have the url for a remote wsdl
16
- When I create an instance of the SoapObject class
17
- Then I should be able to determine the operations
18
-
19
- Scenario: Calling a service when using wsdl
20
- Given I have the url for a remote wsdl
21
- When I create an instance of the SoapObject class
22
- Then I should be able to make a call and receive the correct results
23
-
24
- Scenario: Getting the xml from a response
25
- Given I have the url for a remote wsdl
26
- When I create an instance of the SoapObject class
27
- Then I should be able to make a call and receive the correct results
28
- And the results xml should contain "<STATE>CA"
29
-
30
- Scenario: Getting the doc from a response as a Nokogiri object
31
- Given I have the url for a remote wsdl
32
- When I create an instance of the SoapObject class
33
- Then I should be able to make a call and receive the correct results
34
- And the results doc should be a Nokogiri XML object
35
-
36
- Scenario: Calling another service with wsdl
37
- Given I am calling the Define service
38
- When I create an instance of the SoapObject class
39
- Then I should be able to get the correct definition results
40
-
@@ -1,89 +0,0 @@
1
- class TestServiceWithWsdl
2
- include SoapObject
3
-
4
- wsdl 'http://www.webservicex.net/uszip.asmx?WSDL'
5
- log_level :error
6
-
7
- def get_zip_code_info(zip_code)
8
- get_info_by_zip 'USZip' => zip_code
9
- end
10
-
11
- def state
12
- message[:state]
13
- end
14
-
15
- def city
16
- message[:city]
17
- end
18
-
19
- def area_code
20
- message[:area_code]
21
- end
22
-
23
- private
24
-
25
- def message
26
- body[:get_info_by_zip_response][:get_info_by_zip_result][:new_data_set][:table]
27
- end
28
- end
29
-
30
- class TestServiceWithLocalWsdl
31
- include SoapObject
32
-
33
- wsdl "#{File.dirname(__FILE__)}/../wsdl/uszip.asmx.wsdl"
34
- end
35
-
36
- class TestDefineService
37
- include SoapObject
38
-
39
- wsdl "http://services.aonaware.com/DictService/DictService.asmx?WSDL"
40
- log_level :error
41
-
42
- def definition_for(word)
43
- define word: word
44
- end
45
- end
46
-
47
-
48
- Given /^I have the url for a remote wsdl$/ do
49
- @cls = TestServiceWithWsdl
50
- end
51
-
52
- Given /^I have a wsdl file residing locally$/ do
53
- @cls = TestServiceWithLocalWsdl
54
- end
55
-
56
- When /^I create an instance of the SoapObject class$/ do
57
- @so = @cls.new
58
- end
59
-
60
- Then /^I should have a connection$/ do
61
- expect(@so).to be_connected
62
- end
63
-
64
- Then /^I should be able to determine the operations$/ do
65
- expect(@so.operations).to include :get_info_by_zip
66
- end
67
-
68
- Then /^I should be able to make a call and receive the correct results$/ do
69
- @so.get_zip_code_info(90210)
70
- expect(@so.state).to eq('CA')
71
- expect(@so.city).to eq('Beverly Hills')
72
- expect(@so.area_code).to eq('310')
73
- end
74
-
75
- Then /^the results xml should contain "(.*?)"$/ do |xml|
76
- expect(@so.to_xml).to include xml
77
- end
78
-
79
- Then /^the results doc should be a Nokogiri XML object$/ do
80
- expect(@so.doc).to be_instance_of Nokogiri::XML::Document
81
- end
82
-
83
- Given /^I am calling the Define service$/ do
84
- @cls = TestDefineService
85
- end
86
-
87
- Then /^I should be able to get the correct definition results$/ do
88
- @so.definition_for 'Cheese'
89
- end