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 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.
@@ -59,21 +59,22 @@ RSpec::Matchers.define :respond do |expect|
59
59
  end
60
60
 
61
61
  description do
62
- "respond #{@expect} #{@chain_str}"
62
+ "respond #{@expect}#{@chain_str}."
63
63
  end
64
64
 
65
65
  failure_message_for_should do |vhost|
66
- result = "expected #{vhost} to respond #{@expect}"
67
- result << result_string
66
+ result_string(vhost, @expect)
68
67
  end
69
68
 
70
69
  failure_message_for_should_not do |vhost|
71
- result = "expected #{vhost} not to respond #{@expect}"
72
- result << result_string
70
+ negative = true
71
+ result_string(vhost, @expect, negative)
73
72
  end
74
73
 
75
- def result_string
76
- result = ", but did.\n" + "requested:\n"
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
@@ -71,26 +71,31 @@ RSpec::Matchers.define :transfer do |nodes|
71
71
  end
72
72
 
73
73
  failure_message_for_should do |vhost|
74
- result = "expected #{vhost} to transfer requests to"
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
- result = "expected #{vhost} not to transfer requests to"
81
- result <<
82
- result_string(nodes, @chain_str, @output_request, @output_capture)
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, request_str, capture_str)
86
- result = nodes.to_s + chain_str
87
- result << ", but did.\n" + "requested:\n"
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: Logger::WARN }
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
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  # Lbspec is an RSpec plugin for easy Loadbalancer testing.
3
3
  module Lbspec
4
- VERSION = '0.2.5'
4
+ VERSION = '0.2.6'
5
5
  end
@@ -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.5
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 00:00:00.000000000 Z
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: 2.2.2
204
+ rubygems_version: 1.8.21
180
205
  signing_key:
181
- specification_version: 4
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