lbspec 0.2.5 → 0.2.6
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/README.md +15 -0
- data/lib/lbspec/respond.rb +8 -7
- data/lib/lbspec/transfer.rb +15 -10
- data/lib/lbspec/util.rb +15 -1
- data/lib/lbspec/version.rb +1 -1
- data/spec/lbspec_util_spec.rb +21 -0
- metadata +33 -7
- checksums.yaml +0 -7
data/README.md
CHANGED
@@ -73,6 +73,21 @@ You can use following chains with `#respond`.
|
|
73
73
|
- Options which can be used in http or https request commands.
|
74
74
|
- You can use `options` if you configure request commands or capture commands.
|
75
75
|
|
76
|
+
## Using Logger
|
77
|
+
You can use Logger to analyze.
|
78
|
+
You can use Logger if you put codes in spec files or spec_helpers like this:
|
79
|
+
|
80
|
+
```ruby
|
81
|
+
Lbspec::Util.log_level = Logger::WARN
|
82
|
+
```
|
83
|
+
|
84
|
+
or
|
85
|
+
|
86
|
+
```ruby
|
87
|
+
Lbspec::Util.logger = Logger.new('test.log')
|
88
|
+
```
|
89
|
+
|
90
|
+
The default Logger show Logger::ERROR level on STDOUT.
|
76
91
|
|
77
92
|
## Requires
|
78
93
|
* Users need to be able to login with ssh to the target nodes.
|
data/lib/lbspec/respond.rb
CHANGED
@@ -59,21 +59,22 @@ RSpec::Matchers.define :respond do |expect|
|
|
59
59
|
end
|
60
60
|
|
61
61
|
description do
|
62
|
-
"respond #{@expect}
|
62
|
+
"respond #{@expect}#{@chain_str}."
|
63
63
|
end
|
64
64
|
|
65
65
|
failure_message_for_should do |vhost|
|
66
|
-
|
67
|
-
result << result_string
|
66
|
+
result_string(vhost, @expect)
|
68
67
|
end
|
69
68
|
|
70
69
|
failure_message_for_should_not do |vhost|
|
71
|
-
|
72
|
-
|
70
|
+
negative = true
|
71
|
+
result_string(vhost, @expect, negative)
|
73
72
|
end
|
74
73
|
|
75
|
-
def result_string
|
76
|
-
|
74
|
+
def result_string(vhost, expect, negative = false)
|
75
|
+
negation = negative ? ' not' : ''
|
76
|
+
result = "expected #{vhost}#{negation} to respond #{expect}"
|
77
|
+
result << ", but did#{negation}.\n" + "requested:\n"
|
77
78
|
result << request_str.gsub(/^/, ' ')
|
78
79
|
end
|
79
80
|
end
|
data/lib/lbspec/transfer.rb
CHANGED
@@ -71,26 +71,31 @@ RSpec::Matchers.define :transfer do |nodes|
|
|
71
71
|
end
|
72
72
|
|
73
73
|
failure_message_for_should do |vhost|
|
74
|
-
|
75
|
-
result <<
|
76
|
-
result_string(nodes, @chain_str, @output_request, @output_capture)
|
74
|
+
result_string(nodes, @chain_str, @output_request, @output_capture)
|
77
75
|
end
|
78
76
|
|
79
77
|
failure_message_for_should_not do |vhost|
|
80
|
-
|
81
|
-
|
82
|
-
|
78
|
+
negative = true
|
79
|
+
result_string(nodes, @chain_str, @output_request, @output_capture,
|
80
|
+
negative)
|
83
81
|
end
|
84
82
|
|
85
|
-
def result_string(nodes, chain_str,
|
86
|
-
|
87
|
-
|
83
|
+
def result_string(nodes, chain_str,
|
84
|
+
request_str, capture_str, negative = false)
|
85
|
+
negation = negative ? ' not' : ''
|
86
|
+
result = "expected #{vhost}#{negation} to transfer requests to"
|
87
|
+
result << nodes.to_s + chain_str
|
88
|
+
result << ", but did#{negation}.\n" + "requested:\n"
|
88
89
|
result << request_str.gsub(/^/, ' ')
|
89
90
|
result << "\ncaptured:\n"
|
91
|
+
result << result_capture
|
92
|
+
result
|
93
|
+
end
|
94
|
+
|
95
|
+
def result_capture
|
90
96
|
@output_capture.each do |o|
|
91
97
|
result << o[:node].gsub(/^/, ' ') + "\n"
|
92
98
|
result << o[:output].gsub(/^/, ' ') + "\n"
|
93
99
|
end
|
94
|
-
result
|
95
100
|
end
|
96
101
|
end
|
data/lib/lbspec/util.rb
CHANGED
@@ -3,6 +3,20 @@
|
|
3
3
|
module Lbspec
|
4
4
|
# Lbspec::Util provides some utilities
|
5
5
|
class Util
|
6
|
+
class << self
|
7
|
+
@logger = nil
|
8
|
+
@log_level = Logger::ERROR
|
9
|
+
attr_accessor :logger, :log_level
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.log
|
13
|
+
unless logger
|
14
|
+
logger = Logger.new(STDOUT)
|
15
|
+
logger.level = log_level
|
16
|
+
end
|
17
|
+
logger
|
18
|
+
end
|
19
|
+
|
6
20
|
def self.add_string(target, addition)
|
7
21
|
if target.nil?
|
8
22
|
target = addition
|
@@ -27,7 +41,7 @@ module Lbspec
|
|
27
41
|
def self.exec_command(command, node = nil)
|
28
42
|
output = command + "\n"
|
29
43
|
if node
|
30
|
-
options = { config: true, verbose:
|
44
|
+
options = { config: true, verbose: log_level }
|
31
45
|
Net::SSH.start(node, ssh_user(node), options) do |ssh|
|
32
46
|
output << ssh.exec!(command).to_s
|
33
47
|
end
|
data/lib/lbspec/version.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require 'spec_helper'
|
3
|
+
require 'net/ssh'
|
4
|
+
require 'logger'
|
5
|
+
|
6
|
+
describe Lbspec::Util do
|
7
|
+
describe '#logger' do
|
8
|
+
it 'should set/get logger' do
|
9
|
+
Lbspec::Util.logger = 'test'
|
10
|
+
Lbspec::Util.logger.should eql('test')
|
11
|
+
end
|
12
|
+
end
|
13
|
+
describe '#log' do
|
14
|
+
before :each do
|
15
|
+
Lbspec::Util.logger = nil
|
16
|
+
end
|
17
|
+
it 'should return Logger instance' do
|
18
|
+
Lbspec::Util.log.should be_instance_of(Logger)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lbspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- OTA Hiroshi
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
12
|
+
date: 2014-04-22 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: bundler
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :development
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: rake
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ~>
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: rubocop
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: coveralls
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ~>
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,6 +70,7 @@ dependencies:
|
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ~>
|
67
76
|
- !ruby/object:Gem::Version
|
@@ -69,6 +78,7 @@ dependencies:
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: debugger
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
83
|
- - ~>
|
74
84
|
- !ruby/object:Gem::Version
|
@@ -76,6 +86,7 @@ dependencies:
|
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
91
|
- - ~>
|
81
92
|
- !ruby/object:Gem::Version
|
@@ -83,6 +94,7 @@ dependencies:
|
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: highline
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
99
|
- - ~>
|
88
100
|
- !ruby/object:Gem::Version
|
@@ -90,6 +102,7 @@ dependencies:
|
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
107
|
- - ~>
|
95
108
|
- !ruby/object:Gem::Version
|
@@ -97,6 +110,7 @@ dependencies:
|
|
97
110
|
- !ruby/object:Gem::Dependency
|
98
111
|
name: rspec
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
100
114
|
requirements:
|
101
115
|
- - ~>
|
102
116
|
- !ruby/object:Gem::Version
|
@@ -104,6 +118,7 @@ dependencies:
|
|
104
118
|
type: :runtime
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
107
122
|
requirements:
|
108
123
|
- - ~>
|
109
124
|
- !ruby/object:Gem::Version
|
@@ -111,6 +126,7 @@ dependencies:
|
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: net-ssh
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
114
130
|
requirements:
|
115
131
|
- - ~>
|
116
132
|
- !ruby/object:Gem::Version
|
@@ -118,6 +134,7 @@ dependencies:
|
|
118
134
|
type: :runtime
|
119
135
|
prerelease: false
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
121
138
|
requirements:
|
122
139
|
- - ~>
|
123
140
|
- !ruby/object:Gem::Version
|
@@ -155,33 +172,42 @@ files:
|
|
155
172
|
- spec/lbspec_respond_spec.rb
|
156
173
|
- spec/lbspec_spec.rb
|
157
174
|
- spec/lbspec_transfer_spec.rb
|
175
|
+
- spec/lbspec_util_spec.rb
|
158
176
|
- spec/spec_helper.rb
|
159
177
|
homepage: https://github.com/otahi/lbspec
|
160
178
|
licenses:
|
161
179
|
- MIT
|
162
|
-
metadata: {}
|
163
180
|
post_install_message:
|
164
181
|
rdoc_options: []
|
165
182
|
require_paths:
|
166
183
|
- lib
|
167
184
|
required_ruby_version: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
168
186
|
requirements:
|
169
|
-
- - '>='
|
187
|
+
- - ! '>='
|
170
188
|
- !ruby/object:Gem::Version
|
171
189
|
version: '0'
|
190
|
+
segments:
|
191
|
+
- 0
|
192
|
+
hash: -1965399059659681873
|
172
193
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
194
|
+
none: false
|
173
195
|
requirements:
|
174
|
-
- - '>='
|
196
|
+
- - ! '>='
|
175
197
|
- !ruby/object:Gem::Version
|
176
198
|
version: '0'
|
199
|
+
segments:
|
200
|
+
- 0
|
201
|
+
hash: -1965399059659681873
|
177
202
|
requirements: []
|
178
203
|
rubyforge_project:
|
179
|
-
rubygems_version:
|
204
|
+
rubygems_version: 1.8.21
|
180
205
|
signing_key:
|
181
|
-
specification_version:
|
206
|
+
specification_version: 3
|
182
207
|
summary: Easily test your Loadbalancers with RSpec.
|
183
208
|
test_files:
|
184
209
|
- spec/lbspec_respond_spec.rb
|
185
210
|
- spec/lbspec_spec.rb
|
186
211
|
- spec/lbspec_transfer_spec.rb
|
212
|
+
- spec/lbspec_util_spec.rb
|
187
213
|
- spec/spec_helper.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 93f355e3671d56ec229d2ad4e814dd8cd7d98d8e
|
4
|
-
data.tar.gz: 8a45b859a64813cc73b9a96deae90ec0a158f517
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: aa0a866e698ee4262b61ea5058f7679e86cb87b3cb8973a8ed1f4247b023352dff602d829b32a5c79946257cfb32648bc3aa5d648f68794236ca31bdd6459668
|
7
|
-
data.tar.gz: 87df8bf8bcb595cc928235f704d04f88d9a41ed904eeb5398bb1d2e7104e02ca8b02fa15d95e53d8e5cb23c81d8e55d641043c0a19e0c215ad0486a2869c2539
|