wash_out 0.5.6 → 0.6.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.md +5 -0
- data/Gemfile +13 -0
- data/Gemfile.lock +21 -19
- data/lib/wash_out/dispatcher.rb +10 -22
- data/lib/wash_out/param.rb +1 -1
- data/lib/wash_out/version.rb +1 -1
- data/lib/wash_out/wsse.rb +3 -3
- data/spec/lib/wash_out/dispatcher_spec.rb +19 -23
- data/spec/lib/wash_out_spec.rb +446 -538
- data/spec/spec_helper.rb +4 -16
- data/wash_out.gemspec +1 -11
- metadata +20 -125
- data/spec/support/httpi-rack.rb +0 -46
data/spec/spec_helper.rb
CHANGED
@@ -13,14 +13,10 @@ Rails.backtrace_cleaner.remove_silencers!
|
|
13
13
|
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
14
14
|
|
15
15
|
RSpec.configure do |config|
|
16
|
-
# Remove this line if you don't want RSpec's should and should_not
|
17
|
-
# methods or matchers
|
18
16
|
require 'rspec/expectations'
|
19
17
|
config.include RSpec::Matchers
|
20
18
|
|
21
|
-
# == Mock Framework
|
22
19
|
config.mock_with :rspec
|
23
|
-
|
24
20
|
config.before(:all) do
|
25
21
|
WashOut::Engine.snakecase_input = false
|
26
22
|
WashOut::Engine.camelize_wsdl = false
|
@@ -28,25 +24,14 @@ RSpec.configure do |config|
|
|
28
24
|
end
|
29
25
|
end
|
30
26
|
|
31
|
-
Savon.configure do |config|
|
32
|
-
config.log = false # disable logging
|
33
|
-
end
|
34
|
-
|
35
27
|
HTTPI.logger = Logger.new(open("/dev/null", 'w'))
|
36
28
|
HTTPI.adapter = :rack
|
37
29
|
|
38
|
-
HTTPI::
|
39
|
-
|
30
|
+
HTTPI::Adapter::Rack.mount 'app', Dummy::Application
|
40
31
|
Dummy::Application.routes.draw do
|
41
32
|
wash_out :api
|
42
33
|
end
|
43
34
|
|
44
|
-
def client
|
45
|
-
Savon::Client.new do
|
46
|
-
wsdl.document = 'http://app/api/wsdl'
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
35
|
def mock_controller(&block)
|
51
36
|
Object.send :remove_const, :ApiController if defined?(ApiController)
|
52
37
|
Object.send :const_set, :ApiController, Class.new(ApplicationController) {
|
@@ -54,4 +39,7 @@ def mock_controller(&block)
|
|
54
39
|
|
55
40
|
class_exec &block if block
|
56
41
|
}
|
42
|
+
|
43
|
+
Rails.application.routes.routes.named_routes['api_wsdl'].app.
|
44
|
+
instance_variable_get("@controllers")['api'].try(:'clear!')
|
57
45
|
end
|
data/wash_out.gemspec
CHANGED
@@ -13,15 +13,5 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.files = `git ls-files`.split("\n")
|
14
14
|
s.require_paths = ["lib"]
|
15
15
|
|
16
|
-
s.add_dependency("nori", "~>
|
17
|
-
s.add_development_dependency("wasabi", "= 2.1.0")
|
18
|
-
s.add_development_dependency("savon", "= 0.9.9")
|
19
|
-
%w(
|
20
|
-
rspec-rails guard guard-rspec rb-inotify rb-fsevent
|
21
|
-
appraisal
|
22
|
-
tzinfo
|
23
|
-
pry
|
24
|
-
).each do |dep|
|
25
|
-
s.add_development_dependency(dep)
|
26
|
-
end
|
16
|
+
s.add_dependency("nori", "~> 2.0.0")
|
27
17
|
end
|
metadata
CHANGED
@@ -1,138 +1,33 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wash_out
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
4
|
+
prerelease:
|
5
|
+
version: 0.6.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Boris Staal
|
9
9
|
- Peter Zotov
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2013-01-03 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: nori
|
17
|
-
|
18
|
-
none: false
|
17
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
18
|
requirements:
|
20
19
|
- - ~>
|
21
20
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
23
|
-
type: :runtime
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: *70304481328780
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: wasabi
|
28
|
-
requirement: &70304481328280 !ruby/object:Gem::Requirement
|
29
|
-
none: false
|
30
|
-
requirements:
|
31
|
-
- - =
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 2.1.0
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: *70304481328280
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: savon
|
39
|
-
requirement: &70304481327820 !ruby/object:Gem::Requirement
|
40
|
-
none: false
|
41
|
-
requirements:
|
42
|
-
- - =
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: 0.9.9
|
45
|
-
type: :development
|
46
|
-
prerelease: false
|
47
|
-
version_requirements: *70304481327820
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: rspec-rails
|
50
|
-
requirement: &70304481327280 !ruby/object:Gem::Requirement
|
51
|
-
none: false
|
52
|
-
requirements:
|
53
|
-
- - ! '>='
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: '0'
|
56
|
-
type: :development
|
57
|
-
prerelease: false
|
58
|
-
version_requirements: *70304481327280
|
59
|
-
- !ruby/object:Gem::Dependency
|
60
|
-
name: guard
|
61
|
-
requirement: &70304481326840 !ruby/object:Gem::Requirement
|
62
|
-
none: false
|
63
|
-
requirements:
|
64
|
-
- - ! '>='
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: '0'
|
67
|
-
type: :development
|
68
|
-
prerelease: false
|
69
|
-
version_requirements: *70304481326840
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: guard-rspec
|
72
|
-
requirement: &70304481326440 !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
|
-
type: :development
|
79
|
-
prerelease: false
|
80
|
-
version_requirements: *70304481326440
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: rb-inotify
|
83
|
-
requirement: &70304481326040 !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
|
-
requirements:
|
86
|
-
- - ! '>='
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '0'
|
89
|
-
type: :development
|
90
|
-
prerelease: false
|
91
|
-
version_requirements: *70304481326040
|
92
|
-
- !ruby/object:Gem::Dependency
|
93
|
-
name: rb-fsevent
|
94
|
-
requirement: &70304481325640 !ruby/object:Gem::Requirement
|
21
|
+
version: 2.0.0
|
95
22
|
none: false
|
23
|
+
requirement: !ruby/object:Gem::Requirement
|
96
24
|
requirements:
|
97
|
-
- -
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: '0'
|
100
|
-
type: :development
|
101
|
-
prerelease: false
|
102
|
-
version_requirements: *70304481325640
|
103
|
-
- !ruby/object:Gem::Dependency
|
104
|
-
name: appraisal
|
105
|
-
requirement: &70304481325240 !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
|
-
requirements:
|
108
|
-
- - ! '>='
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
type: :development
|
112
|
-
prerelease: false
|
113
|
-
version_requirements: *70304481325240
|
114
|
-
- !ruby/object:Gem::Dependency
|
115
|
-
name: tzinfo
|
116
|
-
requirement: &70304481324840 !ruby/object:Gem::Requirement
|
117
|
-
none: false
|
118
|
-
requirements:
|
119
|
-
- - ! '>='
|
25
|
+
- - ~>
|
120
26
|
- !ruby/object:Gem::Version
|
121
|
-
version:
|
122
|
-
type: :development
|
123
|
-
prerelease: false
|
124
|
-
version_requirements: *70304481324840
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: pry
|
127
|
-
requirement: &70304481340800 !ruby/object:Gem::Requirement
|
27
|
+
version: 2.0.0
|
128
28
|
none: false
|
129
|
-
requirements:
|
130
|
-
- - ! '>='
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: '0'
|
133
|
-
type: :development
|
134
29
|
prerelease: false
|
135
|
-
|
30
|
+
type: :runtime
|
136
31
|
description: Dead simple Rails 3 SOAP server library
|
137
32
|
email: boris@roundlake.ru
|
138
33
|
executables: []
|
@@ -199,31 +94,31 @@ files:
|
|
199
94
|
- spec/lib/wash_out/type_spec.rb
|
200
95
|
- spec/lib/wash_out_spec.rb
|
201
96
|
- spec/spec_helper.rb
|
202
|
-
- spec/support/httpi-rack.rb
|
203
97
|
- wash_out.gemspec
|
204
98
|
homepage: http://github.com/inossidabile/wash_out/
|
205
99
|
licenses: []
|
206
|
-
post_install_message:
|
100
|
+
post_install_message:
|
207
101
|
rdoc_options: []
|
208
102
|
require_paths:
|
209
103
|
- lib
|
210
104
|
required_ruby_version: !ruby/object:Gem::Requirement
|
211
|
-
none: false
|
212
105
|
requirements:
|
213
106
|
- - ! '>='
|
214
107
|
- !ruby/object:Gem::Version
|
215
|
-
version:
|
216
|
-
|
108
|
+
version: !binary |-
|
109
|
+
MA==
|
217
110
|
none: false
|
111
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
218
112
|
requirements:
|
219
113
|
- - ! '>='
|
220
114
|
- !ruby/object:Gem::Version
|
221
|
-
version:
|
115
|
+
version: !binary |-
|
116
|
+
MA==
|
117
|
+
none: false
|
222
118
|
requirements: []
|
223
|
-
rubyforge_project:
|
224
|
-
rubygems_version: 1.8.
|
225
|
-
signing_key:
|
119
|
+
rubyforge_project:
|
120
|
+
rubygems_version: 1.8.24
|
121
|
+
signing_key:
|
226
122
|
specification_version: 3
|
227
123
|
summary: Dead simple Rails 3 SOAP server library
|
228
124
|
test_files: []
|
229
|
-
has_rdoc:
|
data/spec/support/httpi-rack.rb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'httpi'
|
2
|
-
require 'httpi/response'
|
3
|
-
|
4
|
-
module HTTPI
|
5
|
-
module Adapters
|
6
|
-
# This is an adapter for testing the Rack applications with HTTPI-capable
|
7
|
-
# clients.
|
8
|
-
class Rack
|
9
|
-
class << self
|
10
|
-
attr_accessor :mounted_apps
|
11
|
-
end
|
12
|
-
|
13
|
-
self.mounted_apps = {}
|
14
|
-
|
15
|
-
def self.mount(host, application)
|
16
|
-
self.mounted_apps[host] = application
|
17
|
-
end
|
18
|
-
|
19
|
-
def initialize(request=nil)
|
20
|
-
end
|
21
|
-
|
22
|
-
def method_missing(method, *args)
|
23
|
-
if %w{get post head put delete}.include?(method.to_s)
|
24
|
-
request, = args
|
25
|
-
|
26
|
-
app = self.class.mounted_apps[request.url.host]
|
27
|
-
mock_req = ::Rack::MockRequest.new(app)
|
28
|
-
|
29
|
-
env = {}
|
30
|
-
request.headers.each do |header, value|
|
31
|
-
env["HTTP_#{header.gsub('-', '_').upcase}"] = value
|
32
|
-
end
|
33
|
-
|
34
|
-
mock_resp = mock_req.request(method.to_s.upcase, request.url.to_s,
|
35
|
-
{ :fatal => true, :input => request.body.to_s }.merge(env))
|
36
|
-
|
37
|
-
HTTPI::Response.new(mock_resp.status, mock_resp.headers, mock_resp.body)
|
38
|
-
else
|
39
|
-
super
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
Adapter::ADAPTERS[:rack] = { :class => Adapters::Rack, :require => 'rack/mock' }
|
46
|
-
end
|