lbspec 0.1.1 → 0.1.2
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/lib/lbspec/transfer.rb +11 -5
- data/lib/lbspec/version.rb +1 -1
- data/spec/lbspec_transfer_spec.rb +32 -0
- metadata +4 -4
data/lib/lbspec/transfer.rb
CHANGED
@@ -41,13 +41,16 @@ RSpec::Matchers.define :transfer do |nodes|
|
|
41
41
|
@http_request_command = lambda do |addr, port, path, prove|
|
42
42
|
env, opt = '', ''
|
43
43
|
opt << (@options[:timeout] ? " -m #{@options[:timeout]}" : '')
|
44
|
-
opt << (@options[:proxy] ? %Q(-x "#{@options[:proxy]}") : '')
|
44
|
+
opt << (@options[:proxy] ? %Q( -x "#{@options[:proxy]}") : '')
|
45
45
|
if @options[:noproxy]
|
46
|
-
opt << %Q( --noproxy "#{@options[:noproxy]}")
|
47
46
|
env << %Q( no_proxy="#{@options[:noproxy]}")
|
48
47
|
env << %Q( NO_PROXY="#{@options[:noproxy]}")
|
49
48
|
end
|
50
|
-
|
49
|
+
if @options[:header]
|
50
|
+
header = @options[:header]
|
51
|
+
header = [header] unless header.respond_to? :each
|
52
|
+
header.each { |h| opt << %Q( -H '#{h}') }
|
53
|
+
end
|
51
54
|
uri = 'http://' + "#{addr}:#{port}#{path}?#{prove}"
|
52
55
|
Lbspec::Util
|
53
56
|
.exec_command(%Q(#{env} curl -o /dev/null -s #{opt} '#{uri}'),
|
@@ -59,11 +62,14 @@ RSpec::Matchers.define :transfer do |nodes|
|
|
59
62
|
opt << (@options[:ignore_valid_ssl] ? ' -k' : '')
|
60
63
|
opt << (@options[:proxy] ? %Q( -x "#{@options[:proxy]}") : '')
|
61
64
|
if @options[:noproxy]
|
62
|
-
opt << %Q( --noproxy "#{@options[:noproxy]}")
|
63
65
|
env << %Q( no_proxy="#{@options[:noproxy]}")
|
64
66
|
env << %Q( NO_PROXY="#{@options[:noproxy]}")
|
65
67
|
end
|
66
|
-
|
68
|
+
if @options[:header]
|
69
|
+
header = @options[:header]
|
70
|
+
header = [header] unless header.respond_to? :each
|
71
|
+
header.each { |h| opt << %Q( -H '#{h}') }
|
72
|
+
end
|
67
73
|
uri = 'https://' + "#{addr}:#{port}#{path}?#{prove}"
|
68
74
|
Lbspec::Util
|
69
75
|
.exec_command(%Q(#{env} curl -o /dev/null -s #{opt} '#{uri}'),
|
data/lib/lbspec/version.rb
CHANGED
@@ -60,5 +60,37 @@ describe Lbspec do
|
|
60
60
|
'vhost_a:443'.should transfer('node_a')
|
61
61
|
.https.path('/test').from('node_a')
|
62
62
|
end
|
63
|
+
|
64
|
+
describe 'request_command' do
|
65
|
+
it 'should create single header options for http' do
|
66
|
+
Lbspec::Util.should_receive(:exec_command)
|
67
|
+
.with(/ -H.*/, nil)
|
68
|
+
Lbspec::Util.should_not_receive(:exec_command)
|
69
|
+
.with(/ -H.* -H/, nil)
|
70
|
+
'vhost_a:443'.should transfer('node_a').http
|
71
|
+
.options({ header: 'X-Test1:1' })
|
72
|
+
end
|
73
|
+
it 'should create single header options for https' do
|
74
|
+
Lbspec::Util.should_receive(:exec_command)
|
75
|
+
.with(/ -H.*/, nil)
|
76
|
+
Lbspec::Util.should_not_receive(:exec_command)
|
77
|
+
.with(/ -H.* -H/, nil)
|
78
|
+
'vhost_a:443'.should transfer('node_a').https
|
79
|
+
.options({ header: 'X-Test1:1' })
|
80
|
+
end
|
81
|
+
it 'should create multi header options for http' do
|
82
|
+
Lbspec::Util.should_receive(:exec_command)
|
83
|
+
.with(/ -H.* -H/, nil)
|
84
|
+
'vhost_a:443'.should transfer('node_a').http
|
85
|
+
.options({ header: %w(X-Test1:1 X-Test2:2) })
|
86
|
+
end
|
87
|
+
it 'should create multi header options for https' do
|
88
|
+
Lbspec::Util.should_receive(:exec_command)
|
89
|
+
.with(/ -H.* -H/, nil)
|
90
|
+
'vhost_a:443'.should transfer('node_a').https
|
91
|
+
.options({ header: %w(X-Test1:1 X-Test2:2) })
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
63
95
|
end
|
64
96
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lbspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-03-
|
12
|
+
date: 2014-03-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -184,7 +184,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
184
184
|
version: '0'
|
185
185
|
segments:
|
186
186
|
- 0
|
187
|
-
hash: -
|
187
|
+
hash: -3855103968202962501
|
188
188
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
189
189
|
none: false
|
190
190
|
requirements:
|
@@ -193,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
193
|
version: '0'
|
194
194
|
segments:
|
195
195
|
- 0
|
196
|
-
hash: -
|
196
|
+
hash: -3855103968202962501
|
197
197
|
requirements: []
|
198
198
|
rubyforge_project:
|
199
199
|
rubygems_version: 1.8.21
|