serverspec 0.3.0 → 0.3.1
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/.gitignore +1 -0
- data/lib/serverspec/backend/exec.rb +19 -0
- data/lib/serverspec/commands/base.rb +4 -0
- data/lib/serverspec/matchers.rb +2 -0
- data/lib/serverspec/matchers/be_default_gateway.rb +15 -0
- data/lib/serverspec/matchers/have_entry.rb +5 -0
- data/lib/serverspec/version.rb +1 -1
- data/spec/darwin/commands_spec.rb +5 -0
- data/spec/darwin/matchers_spec.rb +3 -0
- data/spec/debian/commands_spec.rb +5 -0
- data/spec/debian/matchers_spec.rb +3 -0
- data/spec/gentoo/commands_spec.rb +5 -0
- data/spec/gentoo/matchers_spec.rb +3 -0
- data/spec/redhat/commands_spec.rb +5 -0
- data/spec/redhat/matchers_spec.rb +3 -0
- data/spec/solaris/commands_spec.rb +5 -0
- data/spec/solaris/matchers_spec.rb +3 -0
- data/spec/support/shared_matcher_examples.rb +153 -0
- metadata +100 -90
data/.gitignore
CHANGED
@@ -145,6 +145,25 @@ module Serverspec
|
|
145
145
|
end
|
146
146
|
end
|
147
147
|
|
148
|
+
def check_routing_table(example, expected_attr)
|
149
|
+
@example = example
|
150
|
+
return false if ! expected_attr[:destination]
|
151
|
+
ret = run_command(commands.check_routing_table(expected_attr[:destination]))
|
152
|
+
return false if ret[:exit_status] != 0
|
153
|
+
|
154
|
+
ret[:stdout] =~ /^(\S+)(?: via (\S+))? dev (\S+).+\r\n(?:default via (\S+))?/
|
155
|
+
actual_attr = {
|
156
|
+
:destination => $1,
|
157
|
+
:gateway => $2 ? $2 : $4,
|
158
|
+
:interface => expected_attr[:interface] ? $3 : nil
|
159
|
+
}
|
160
|
+
|
161
|
+
expected_attr.each do |key, val|
|
162
|
+
return false if actual_attr[key] != val
|
163
|
+
end
|
164
|
+
true
|
165
|
+
end
|
166
|
+
|
148
167
|
def check_os
|
149
168
|
if run_command('ls /etc/redhat-release')[:exit_status] == 0
|
150
169
|
'RedHat'
|
@@ -18,6 +18,10 @@ module Serverspec
|
|
18
18
|
"mount | grep -w -- #{escape(regexp)}"
|
19
19
|
end
|
20
20
|
|
21
|
+
def check_routing_table destination
|
22
|
+
"ip route | grep -E '^#{destination} |^default '"
|
23
|
+
end
|
24
|
+
|
21
25
|
def check_reachable host, port, proto, timeout
|
22
26
|
if port.nil?
|
23
27
|
"ping -n #{escape(host)} -w #{escape(timeout)} -c 2"
|
data/lib/serverspec/matchers.rb
CHANGED
@@ -3,6 +3,7 @@ require 'serverspec/matchers/be_resolvable'
|
|
3
3
|
require 'serverspec/matchers/be_enabled'
|
4
4
|
require 'serverspec/matchers/be_file'
|
5
5
|
require 'serverspec/matchers/be_reachable'
|
6
|
+
require 'serverspec/matchers/be_default_gateway'
|
6
7
|
require 'serverspec/matchers/be_directory'
|
7
8
|
require 'serverspec/matchers/be_installed'
|
8
9
|
require 'serverspec/matchers/be_listening'
|
@@ -13,6 +14,7 @@ require 'serverspec/matchers/be_group'
|
|
13
14
|
require 'serverspec/matchers/be_mode'
|
14
15
|
require 'serverspec/matchers/be_owned_by'
|
15
16
|
require 'serverspec/matchers/be_grouped_into'
|
17
|
+
require 'serverspec/matchers/have_entry'
|
16
18
|
require 'serverspec/matchers/have_cron_entry'
|
17
19
|
require 'serverspec/matchers/be_linked_to'
|
18
20
|
require 'serverspec/matchers/be_installed_by_gem'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
RSpec::Matchers.define :be_default_gateway do
|
2
|
+
match do |ip_address|
|
3
|
+
backend.check_routing_table(
|
4
|
+
example,
|
5
|
+
{
|
6
|
+
:destination => 'default',
|
7
|
+
:gateway => ip_address,
|
8
|
+
:interface => @interface
|
9
|
+
}
|
10
|
+
)
|
11
|
+
end
|
12
|
+
chain :with_interface do |interface|
|
13
|
+
@interface = interface
|
14
|
+
end
|
15
|
+
end
|
data/lib/serverspec/version.rb
CHANGED
@@ -25,6 +25,11 @@ describe 'check_reachable', :os => :darwin do
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
describe 'check_routing_table', :os => :darwin do
|
29
|
+
subject { commands.check_routing_table('192.168.100.0/24') }
|
30
|
+
it { should eq "ip route | grep -E '^192.168.100.0/24 |^default '" }
|
31
|
+
end
|
32
|
+
|
28
33
|
describe 'check_resolvable', :os => :darwin do
|
29
34
|
context "resolve localhost by hosts" do
|
30
35
|
subject { commands.check_resolvable('localhost', 'hosts') }
|
@@ -79,4 +79,7 @@ describe 'Serverspec matchers of Darwin', :os => :darwin do
|
|
79
79
|
it_behaves_like 'support linux kernel parameter checking with integer', 'net.ipv4.tcp_syncookies', 1
|
80
80
|
it_behaves_like 'support linux kernel parameter checking with string', 'kernel.osrelease', '2.6.32-131.0.15.el6.x86_64'
|
81
81
|
it_behaves_like 'support linux kernel parameter checking with regexp', 'net.ipv4.tcp_wmem', /4096\t16384\t4194304/
|
82
|
+
|
83
|
+
it_behaves_like 'support have_entry matcher'
|
84
|
+
it_behaves_like 'support be_default_gateway matcher'
|
82
85
|
end
|
@@ -15,6 +15,11 @@ describe 'check_mounted', :os => :debian do
|
|
15
15
|
it { should eq "mount | grep -w -- on\\ /" }
|
16
16
|
end
|
17
17
|
|
18
|
+
describe 'check_routing_table', :os => :debian do
|
19
|
+
subject { commands.check_routing_table('192.168.100.0/24') }
|
20
|
+
it { should eq "ip route | grep -E '^192.168.100.0/24 |^default '" }
|
21
|
+
end
|
22
|
+
|
18
23
|
describe 'check_reachable', :os => :debian do
|
19
24
|
context "connect with name from /etc/services to localhost" do
|
20
25
|
subject { commands.check_reachable('localhost', 'ssh', 'tcp', 1) }
|
@@ -82,4 +82,7 @@ describe 'Serverspec matchers of Debian family', :os => :debian do
|
|
82
82
|
it_behaves_like 'support linux kernel parameter checking with integer', 'net.ipv4.tcp_syncookies', 1
|
83
83
|
it_behaves_like 'support linux kernel parameter checking with string', 'kernel.osrelease', '2.6.32-131.0.15.el6.x86_64'
|
84
84
|
it_behaves_like 'support linux kernel parameter checking with regexp', 'net.ipv4.tcp_wmem', /4096\t16384\t4194304/
|
85
|
+
|
86
|
+
it_behaves_like 'support have_entry matcher'
|
87
|
+
it_behaves_like 'support be_default_gateway matcher'
|
85
88
|
end
|
@@ -15,6 +15,11 @@ describe 'check_mounted', :os => :gentoo do
|
|
15
15
|
it { should eq "mount | grep -w -- on\\ /" }
|
16
16
|
end
|
17
17
|
|
18
|
+
describe 'check_routing_table', :os => :gentoo do
|
19
|
+
subject { commands.check_routing_table('192.168.100.0/24') }
|
20
|
+
it { should eq "ip route | grep -E '^192.168.100.0/24 |^default '" }
|
21
|
+
end
|
22
|
+
|
18
23
|
describe 'check_reachable', :os => :gentoo do
|
19
24
|
context "connect with name from /etc/services to localhost" do
|
20
25
|
subject { commands.check_reachable('localhost', 'ssh', 'tcp', 1) }
|
@@ -83,4 +83,7 @@ describe 'Serverspec matchers of Gentoo family', :os => :gentoo do
|
|
83
83
|
it_behaves_like 'support linux kernel parameter checking with integer', 'net.ipv4.tcp_syncookies', 1
|
84
84
|
it_behaves_like 'support linux kernel parameter checking with string', 'kernel.osrelease', '2.6.32-131.0.15.el6.x86_64'
|
85
85
|
it_behaves_like 'support linux kernel parameter checking with regexp', 'net.ipv4.tcp_wmem', /4096\t16384\t4194304/
|
86
|
+
|
87
|
+
it_behaves_like 'support have_entry matcher'
|
88
|
+
it_behaves_like 'support be_default_gateway matcher'
|
86
89
|
end
|
@@ -15,6 +15,11 @@ describe 'check_mounted', :os => :redhat do
|
|
15
15
|
it { should eq "mount | grep -w -- on\\ /" }
|
16
16
|
end
|
17
17
|
|
18
|
+
describe 'check_routing_table', :os => :redhat do
|
19
|
+
subject { commands.check_routing_table('192.168.100.0/24') }
|
20
|
+
it { should eq "ip route | grep -E '^192.168.100.0/24 |^default '" }
|
21
|
+
end
|
22
|
+
|
18
23
|
describe 'check_reachable', :os => :redhat do
|
19
24
|
context "connect with name from /etc/services to localhost" do
|
20
25
|
subject { commands.check_reachable('localhost', 'ssh', 'tcp', 1) }
|
@@ -88,4 +88,7 @@ describe 'Serverspec matchers of Red Hat family', :os => :redhat do
|
|
88
88
|
it_behaves_like 'support linux kernel parameter checking with integer', 'net.ipv4.tcp_syncookies', 1
|
89
89
|
it_behaves_like 'support linux kernel parameter checking with string', 'kernel.osrelease', '2.6.32-131.0.15.el6.x86_64'
|
90
90
|
it_behaves_like 'support linux kernel parameter checking with regexp', 'net.ipv4.tcp_wmem', /4096\t16384\t4194304/
|
91
|
+
|
92
|
+
it_behaves_like 'support have_entry matcher'
|
93
|
+
it_behaves_like 'support be_default_gateway matcher'
|
91
94
|
end
|
@@ -15,6 +15,11 @@ describe 'check_mounted', :os => :solaris do
|
|
15
15
|
it { should eq "mount | grep -w -- on\\ /" }
|
16
16
|
end
|
17
17
|
|
18
|
+
describe 'check_routing_table', :os => :solaris do
|
19
|
+
subject { commands.check_routing_table('192.168.100.0/24') }
|
20
|
+
it { should eq "ip route | grep -E '^192.168.100.0/24 |^default '" }
|
21
|
+
end
|
22
|
+
|
18
23
|
describe 'check_reachable', :os => :solaris do
|
19
24
|
context "connect with name from /etc/services to localhost" do
|
20
25
|
subject { commands.check_reachable('localhost', 'ssh', 'tcp', 1) }
|
@@ -82,4 +82,7 @@ describe 'Serverspec matchers of Solaris family', :os => :solaris do
|
|
82
82
|
|
83
83
|
it_behaves_like 'support return_stderr matcher', 'cat /foo', 'cat: /foo: No such file or directory'
|
84
84
|
it_behaves_like 'support return_stderr matcher with regexp', 'cat /foo', /No such file or directory/
|
85
|
+
|
86
|
+
it_behaves_like 'support have_entry matcher'
|
87
|
+
it_behaves_like 'support be_default_gateway matcher'
|
85
88
|
end
|
@@ -253,6 +253,159 @@ shared_examples_for 'support be_mounted.only_with matcher' do |valid_mount|
|
|
253
253
|
end
|
254
254
|
|
255
255
|
|
256
|
+
shared_examples_for 'support be_default_gateway matcher' do
|
257
|
+
describe 'be_default_gateway' do
|
258
|
+
before :all do
|
259
|
+
RSpec.configure do |c|
|
260
|
+
c.stdout = "default via 192.168.1.1 dev eth1 \r\n"
|
261
|
+
end
|
262
|
+
end
|
263
|
+
|
264
|
+
describe '192.168.1.1' do
|
265
|
+
it { should be_default_gateway }
|
266
|
+
it { should be_default_gateway.with_interface('eth1') }
|
267
|
+
it { should_not be_default_gateway.with_interface('eth0') }
|
268
|
+
end
|
269
|
+
|
270
|
+
describe '192.168.1.100' do
|
271
|
+
it { should_not be_default_gateway }
|
272
|
+
it { should_not be_default_gateway.with_interface('eth1') }
|
273
|
+
end
|
274
|
+
end
|
275
|
+
end
|
276
|
+
|
277
|
+
shared_examples_for 'support have_entry matcher' do
|
278
|
+
describe 'have_entry' do
|
279
|
+
before :all do
|
280
|
+
RSpec.configure do |c|
|
281
|
+
c.stdout = "192.168.100.0/24 dev eth1 proto kernel scope link src 192.168.100.10 \r\ndefault via 192.168.100.1 dev eth0 \r\n"
|
282
|
+
end
|
283
|
+
end
|
284
|
+
|
285
|
+
describe 'routing table' do
|
286
|
+
it { should have_entry( :destination => '192.168.100.0/24' ) }
|
287
|
+
it { should_not have_entry( :destination => '192.168.100.100/24' ) }
|
288
|
+
|
289
|
+
it do
|
290
|
+
should have_entry(
|
291
|
+
:destination => '192.168.100.0/24',
|
292
|
+
:gateway => '192.168.100.1'
|
293
|
+
)
|
294
|
+
end
|
295
|
+
|
296
|
+
it do
|
297
|
+
should have_entry(
|
298
|
+
:destination => '192.168.100.0/24',
|
299
|
+
:gateway => '192.168.100.1',
|
300
|
+
:interface => 'eth1'
|
301
|
+
)
|
302
|
+
end
|
303
|
+
|
304
|
+
it do
|
305
|
+
should_not have_entry(
|
306
|
+
:gateway => '192.168.100.1',
|
307
|
+
:interface => 'eth1'
|
308
|
+
)
|
309
|
+
end
|
310
|
+
|
311
|
+
it do
|
312
|
+
should_not have_entry(
|
313
|
+
:destination => '192.168.100.0/32',
|
314
|
+
:gateway => '192.168.100.1',
|
315
|
+
:interface => 'eth1'
|
316
|
+
)
|
317
|
+
end
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
describe 'have_entry' do
|
322
|
+
before :all do
|
323
|
+
RSpec.configure do |c|
|
324
|
+
c.stdout = "192.168.200.0/24 via 192.168.200.1 dev eth0 \r\ndefault via 192.168.100.1 dev eth0 \r\n"
|
325
|
+
end
|
326
|
+
end
|
327
|
+
|
328
|
+
describe 'routing table' do
|
329
|
+
it { should have_entry( :destination => '192.168.200.0/24' ) }
|
330
|
+
it { should_not have_entry( :destination => '192.168.200.200/24' ) }
|
331
|
+
|
332
|
+
it do
|
333
|
+
should have_entry(
|
334
|
+
:destination => '192.168.200.0/24',
|
335
|
+
:gateway => '192.168.200.1'
|
336
|
+
)
|
337
|
+
end
|
338
|
+
|
339
|
+
it do
|
340
|
+
should have_entry(
|
341
|
+
:destination => '192.168.200.0/24',
|
342
|
+
:gateway => '192.168.200.1',
|
343
|
+
:interface => 'eth0'
|
344
|
+
)
|
345
|
+
end
|
346
|
+
|
347
|
+
it do
|
348
|
+
should_not have_entry(
|
349
|
+
:gateway => '192.168.200.1',
|
350
|
+
:interface => 'eth0'
|
351
|
+
)
|
352
|
+
end
|
353
|
+
|
354
|
+
it do
|
355
|
+
should_not have_entry(
|
356
|
+
:destination => '192.168.200.0/32',
|
357
|
+
:gateway => '192.168.200.1',
|
358
|
+
:interface => 'eth0'
|
359
|
+
)
|
360
|
+
end
|
361
|
+
end
|
362
|
+
end
|
363
|
+
|
364
|
+
describe 'have_entry' do
|
365
|
+
before :all do
|
366
|
+
RSpec.configure do |c|
|
367
|
+
c.stdout = "default via 10.0.2.2 dev eth0 \r\n"
|
368
|
+
end
|
369
|
+
end
|
370
|
+
|
371
|
+
describe 'routing table' do
|
372
|
+
it { should have_entry( :destination => 'default' ) }
|
373
|
+
it { should_not have_entry( :destination => 'defaulth' ) }
|
374
|
+
|
375
|
+
it do
|
376
|
+
should have_entry(
|
377
|
+
:destination => 'default',
|
378
|
+
:gateway => '10.0.2.2'
|
379
|
+
)
|
380
|
+
end
|
381
|
+
|
382
|
+
it do
|
383
|
+
should have_entry(
|
384
|
+
:destination => 'default',
|
385
|
+
:gateway => '10.0.2.2',
|
386
|
+
:interface => 'eth0'
|
387
|
+
)
|
388
|
+
end
|
389
|
+
|
390
|
+
it do
|
391
|
+
should_not have_entry(
|
392
|
+
:gateway => '10.0.2.2',
|
393
|
+
:interface => 'eth0'
|
394
|
+
)
|
395
|
+
end
|
396
|
+
|
397
|
+
it do
|
398
|
+
should_not have_entry(
|
399
|
+
:destination => 'default',
|
400
|
+
:gateway => '10.0.2.1',
|
401
|
+
:interface => 'eth0'
|
402
|
+
)
|
403
|
+
end
|
404
|
+
end
|
405
|
+
end
|
406
|
+
end
|
407
|
+
|
408
|
+
|
256
409
|
shared_examples_for 'support be_resolvable matcher' do |valid_name|
|
257
410
|
describe 'be_resolvable' do
|
258
411
|
describe valid_name do
|
metadata
CHANGED
@@ -1,105 +1,104 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: serverspec
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 17
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
- 1
|
10
|
+
version: 0.3.1
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Gosuke Miyashita
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2013-05-14 00:00:00 +09:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
15
22
|
name: net-ssh
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: rspec
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
33
25
|
none: false
|
34
|
-
requirements:
|
35
|
-
- -
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
version: "0"
|
38
33
|
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: rspec
|
39
37
|
prerelease: false
|
40
|
-
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: highline
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
49
39
|
none: false
|
50
|
-
requirements:
|
51
|
-
- -
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
version: "0"
|
54
47
|
type: :runtime
|
48
|
+
version_requirements: *id002
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: highline
|
55
51
|
prerelease: false
|
56
|
-
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
53
|
none: false
|
58
|
-
requirements:
|
59
|
-
- -
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
|
62
|
-
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
58
|
+
segments:
|
59
|
+
- 0
|
60
|
+
version: "0"
|
61
|
+
type: :runtime
|
62
|
+
version_requirements: *id003
|
63
|
+
- !ruby/object:Gem::Dependency
|
63
64
|
name: bundler
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ~>
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '1.3'
|
70
|
-
type: :development
|
71
65
|
prerelease: false
|
72
|
-
|
66
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
73
67
|
none: false
|
74
|
-
requirements:
|
68
|
+
requirements:
|
75
69
|
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
requirements:
|
83
|
-
- - ! '>='
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: '0'
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
hash: 9
|
72
|
+
segments:
|
73
|
+
- 1
|
74
|
+
- 3
|
75
|
+
version: "1.3"
|
86
76
|
type: :development
|
77
|
+
version_requirements: *id004
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rake
|
87
80
|
prerelease: false
|
88
|
-
|
81
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
89
82
|
none: false
|
90
|
-
requirements:
|
91
|
-
- -
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
hash: 3
|
87
|
+
segments:
|
88
|
+
- 0
|
89
|
+
version: "0"
|
90
|
+
type: :development
|
91
|
+
version_requirements: *id005
|
92
|
+
description: RSpec tests for your servers provisioned by Puppet, Chef or anything else
|
93
|
+
email:
|
97
94
|
- gosukenator@gmail.com
|
98
|
-
executables:
|
95
|
+
executables:
|
99
96
|
- serverspec-init
|
100
97
|
extensions: []
|
98
|
+
|
101
99
|
extra_rdoc_files: []
|
102
|
-
|
100
|
+
|
101
|
+
files:
|
103
102
|
- .gitignore
|
104
103
|
- .travis.yml
|
105
104
|
- Gemfile
|
@@ -134,6 +133,7 @@ files:
|
|
134
133
|
- lib/serverspec/helper/solaris.rb
|
135
134
|
- lib/serverspec/helper/ssh.rb
|
136
135
|
- lib/serverspec/matchers.rb
|
136
|
+
- lib/serverspec/matchers/be_default_gateway.rb
|
137
137
|
- lib/serverspec/matchers/be_directory.rb
|
138
138
|
- lib/serverspec/matchers/be_disabled.rb
|
139
139
|
- lib/serverspec/matchers/be_enabled.rb
|
@@ -162,6 +162,7 @@ files:
|
|
162
162
|
- lib/serverspec/matchers/get_stdout.rb
|
163
163
|
- lib/serverspec/matchers/have_authorized_key.rb
|
164
164
|
- lib/serverspec/matchers/have_cron_entry.rb
|
165
|
+
- lib/serverspec/matchers/have_entry.rb
|
165
166
|
- lib/serverspec/matchers/have_gid.rb
|
166
167
|
- lib/serverspec/matchers/have_home_directory.rb
|
167
168
|
- lib/serverspec/matchers/have_ipfilter_rule.rb
|
@@ -192,32 +193,41 @@ files:
|
|
192
193
|
- spec/solaris/matchers_spec.rb
|
193
194
|
- spec/spec_helper.rb
|
194
195
|
- spec/support/shared_matcher_examples.rb
|
196
|
+
has_rdoc: true
|
195
197
|
homepage: http://serverspec.org/
|
196
|
-
licenses:
|
198
|
+
licenses:
|
197
199
|
- MIT
|
198
200
|
post_install_message:
|
199
201
|
rdoc_options: []
|
200
|
-
|
202
|
+
|
203
|
+
require_paths:
|
201
204
|
- lib
|
202
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
205
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
203
206
|
none: false
|
204
|
-
requirements:
|
205
|
-
- -
|
206
|
-
- !ruby/object:Gem::Version
|
207
|
-
|
208
|
-
|
207
|
+
requirements:
|
208
|
+
- - ">="
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
hash: 3
|
211
|
+
segments:
|
212
|
+
- 0
|
213
|
+
version: "0"
|
214
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
215
|
none: false
|
210
|
-
requirements:
|
211
|
-
- -
|
212
|
-
- !ruby/object:Gem::Version
|
213
|
-
|
216
|
+
requirements:
|
217
|
+
- - ">="
|
218
|
+
- !ruby/object:Gem::Version
|
219
|
+
hash: 3
|
220
|
+
segments:
|
221
|
+
- 0
|
222
|
+
version: "0"
|
214
223
|
requirements: []
|
224
|
+
|
215
225
|
rubyforge_project:
|
216
|
-
rubygems_version: 1.
|
226
|
+
rubygems_version: 1.3.7
|
217
227
|
signing_key:
|
218
228
|
specification_version: 3
|
219
229
|
summary: RSpec tests for your servers provisioned by Puppet, Chef or anything else
|
220
|
-
test_files:
|
230
|
+
test_files:
|
221
231
|
- spec/darwin/commands_spec.rb
|
222
232
|
- spec/darwin/matchers_spec.rb
|
223
233
|
- spec/debian/commands_spec.rb
|