serverspec 0.2.16 → 0.2.17
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/serverspec/commands/base.rb +16 -0
- data/lib/serverspec/commands/solaris.rb +11 -0
- data/lib/serverspec/matchers.rb +4 -0
- data/lib/serverspec/matchers/have_gid.rb +6 -0
- data/lib/serverspec/matchers/have_home_directory.rb +6 -0
- data/lib/serverspec/matchers/have_login_shell.rb +6 -0
- data/lib/serverspec/matchers/have_uid.rb +6 -0
- data/lib/serverspec/version.rb +1 -1
- data/spec/debian/commands_spec.rb +20 -0
- data/spec/debian/matchers_spec.rb +4 -0
- data/spec/gentoo/commands_spec.rb +20 -0
- data/spec/gentoo/matchers_spec.rb +4 -0
- data/spec/redhat/commands_spec.rb +20 -0
- data/spec/redhat/matchers_spec.rb +4 -0
- data/spec/solaris/commands_spec.rb +24 -5
- data/spec/solaris/matchers_spec.rb +4 -0
- data/spec/support/shared_matcher_examples.rb +48 -0
- metadata +102 -90
@@ -83,6 +83,22 @@ module Serverspec
|
|
83
83
|
"id #{user} | awk '{print $3}' | grep #{group}"
|
84
84
|
end
|
85
85
|
|
86
|
+
def check_gid group, gid
|
87
|
+
"getent group | grep -w ^#{group} | cut -f 3 -d ':' | grep -w #{gid}"
|
88
|
+
end
|
89
|
+
|
90
|
+
def check_uid user, uid
|
91
|
+
"id #{user} | grep uid=#{uid}("
|
92
|
+
end
|
93
|
+
|
94
|
+
def check_login_shell user, path_to_shell
|
95
|
+
"grep -w ^#{user} /etc/passwd | cut -f 7 -d ':' | grep -w #{path_to_shell}"
|
96
|
+
end
|
97
|
+
|
98
|
+
def check_home_directory user, path_to_home
|
99
|
+
"grep -w ^#{user} /etc/passwd | cut -f 6 -d ':' | grep -w #{path_to_home}"
|
100
|
+
end
|
101
|
+
|
86
102
|
def check_iptables_rule rule, table=nil, chain=nil
|
87
103
|
cmd = "iptables"
|
88
104
|
cmd += " -t #{table}" if table
|
@@ -53,6 +53,17 @@ module Serverspec
|
|
53
53
|
end
|
54
54
|
commands.join(' && ')
|
55
55
|
end
|
56
|
+
|
57
|
+
def check_file_contain_within file, expected_pattern, from=nil, to=nil
|
58
|
+
from ||= '1'
|
59
|
+
to ||= '$'
|
60
|
+
checker = check_file_contain("/dev/stdin", expected_pattern)
|
61
|
+
"sed -n '#{from},#{to}p' #{file} | #{checker}"
|
62
|
+
end
|
63
|
+
|
64
|
+
def check_belonging_group user, group
|
65
|
+
"id -Gn #{user} | grep #{group}"
|
66
|
+
end
|
56
67
|
end
|
57
68
|
end
|
58
69
|
end
|
data/lib/serverspec/matchers.rb
CHANGED
@@ -14,6 +14,10 @@ require 'serverspec/matchers/have_cron_entry'
|
|
14
14
|
require 'serverspec/matchers/be_linked_to'
|
15
15
|
require 'serverspec/matchers/be_installed_by_gem'
|
16
16
|
require 'serverspec/matchers/belong_to_group'
|
17
|
+
require 'serverspec/matchers/have_gid'
|
18
|
+
require 'serverspec/matchers/have_uid'
|
19
|
+
require 'serverspec/matchers/have_login_shell'
|
20
|
+
require 'serverspec/matchers/have_home_directory'
|
17
21
|
require 'serverspec/matchers/have_iptables_rule'
|
18
22
|
require 'serverspec/matchers/get_stdout'
|
19
23
|
require 'serverspec/matchers/be_zfs'
|
data/lib/serverspec/version.rb
CHANGED
@@ -113,6 +113,26 @@ describe 'check_belonging_group', :os => :debian do
|
|
113
113
|
it { should eq "id root | awk '{print $3}' | grep wheel" }
|
114
114
|
end
|
115
115
|
|
116
|
+
describe 'have_gid', :os => :debian do
|
117
|
+
subject { commands.check_gid('root', 0) }
|
118
|
+
it { should eq "getent group | grep -w ^root | cut -f 3 -d ':' | grep -w 0" }
|
119
|
+
end
|
120
|
+
|
121
|
+
describe 'have_uid', :os => :debian do
|
122
|
+
subject { commands.check_uid('root', 0) }
|
123
|
+
it { should eq "id root | grep uid=0(" }
|
124
|
+
end
|
125
|
+
|
126
|
+
describe 'have_login_shell', :os => :debian do
|
127
|
+
subject { commands.check_login_shell('root', '/bin/bash') }
|
128
|
+
it { should eq "grep -w ^root /etc/passwd | cut -f 7 -d ':' | grep -w /bin/bash" }
|
129
|
+
end
|
130
|
+
|
131
|
+
describe 'have_home_directory', :os => :debian do
|
132
|
+
subject { commands.check_home_directory('root', '/root') }
|
133
|
+
it { should eq "grep -w ^root /etc/passwd | cut -f 6 -d ':' | grep -w /root" }
|
134
|
+
end
|
135
|
+
|
116
136
|
describe 'check_ipatbles', :os => :debian do
|
117
137
|
context 'check a rule without a table and a chain' do
|
118
138
|
subject { commands.check_iptables_rule('-P INPUT ACCEPT') }
|
@@ -31,6 +31,10 @@ describe 'Serverspec matchers of Debian family', :os => :debian do
|
|
31
31
|
it_behaves_like 'support be_installed.by(gem).with_version matcher', 'jekyll', '1.0.0'
|
32
32
|
|
33
33
|
it_behaves_like 'support belong_to_group matcher', 'root', 'root'
|
34
|
+
it_behaves_like 'support have_gid matcher', 'root', 0
|
35
|
+
it_behaves_like 'support have_uid matcher', 'root', 0
|
36
|
+
it_behaves_like 'support have_login_shell matcher', 'root', '/bin/bash'
|
37
|
+
it_behaves_like 'support have_home_directory matcher', 'root', '/root'
|
34
38
|
|
35
39
|
it_behaves_like 'support have_iptables_rule matcher', '-P INPUT ACCEPT'
|
36
40
|
it_behaves_like 'support have_iptables_rule.with_table.with_chain matcher', '-P INPUT ACCEPT', 'mangle', 'INPUT'
|
@@ -112,6 +112,26 @@ describe 'check_belonging_group', :os => :gentoo do
|
|
112
112
|
it { should eq "id root | awk '{print $3}' | grep wheel" }
|
113
113
|
end
|
114
114
|
|
115
|
+
describe 'have_gid', :os => :gentoo do
|
116
|
+
subject { commands.check_gid('root', 0) }
|
117
|
+
it { should eq "getent group | grep -w ^root | cut -f 3 -d ':' | grep -w 0" }
|
118
|
+
end
|
119
|
+
|
120
|
+
describe 'have_uid', :os => :gentoo do
|
121
|
+
subject { commands.check_uid('root', 0) }
|
122
|
+
it { should eq "id root | grep uid=0(" }
|
123
|
+
end
|
124
|
+
|
125
|
+
describe 'have_login_shell', :os => :gentoo do
|
126
|
+
subject { commands.check_login_shell('root', '/bin/bash') }
|
127
|
+
it { should eq "grep -w ^root /etc/passwd | cut -f 7 -d ':' | grep -w /bin/bash" }
|
128
|
+
end
|
129
|
+
|
130
|
+
describe 'have_home_directory', :os => :gentoo do
|
131
|
+
subject { commands.check_home_directory('root', '/root') }
|
132
|
+
it { should eq "grep -w ^root /etc/passwd | cut -f 6 -d ':' | grep -w /root" }
|
133
|
+
end
|
134
|
+
|
115
135
|
describe 'check_ipatbles', :os => :gentoo do
|
116
136
|
context 'check a rule without a table and a chain' do
|
117
137
|
subject { commands.check_iptables_rule('-P INPUT ACCEPT') }
|
@@ -32,6 +32,10 @@ describe 'Serverspec matchers of Gentoo family', :os => :gentoo do
|
|
32
32
|
it_behaves_like 'support be_installed.by(gem).with_version matcher', 'jekyll', '1.0.0'
|
33
33
|
|
34
34
|
it_behaves_like 'support belong_to_group matcher', 'root', 'root'
|
35
|
+
it_behaves_like 'support have_gid matcher', 'root', 0
|
36
|
+
it_behaves_like 'support have_uid matcher', 'root', 0
|
37
|
+
it_behaves_like 'support have_login_shell matcher', 'root', '/bin/bash'
|
38
|
+
it_behaves_like 'support have_home_directory matcher', 'root', '/root'
|
35
39
|
|
36
40
|
it_behaves_like 'support have_iptables_rule matcher', '-P INPUT ACCEPT'
|
37
41
|
it_behaves_like 'support have_iptables_rule.with_table.with_chain matcher', '-P INPUT ACCEPT', 'mangle', 'INPUT'
|
@@ -112,6 +112,26 @@ describe 'check_belonging_group', :os => :redhat do
|
|
112
112
|
it { should eq "id root | awk '{print $3}' | grep wheel" }
|
113
113
|
end
|
114
114
|
|
115
|
+
describe 'have_gid', :os => :redhat do
|
116
|
+
subject { commands.check_gid('root', 0) }
|
117
|
+
it { should eq "getent group | grep -w ^root | cut -f 3 -d ':' | grep -w 0" }
|
118
|
+
end
|
119
|
+
|
120
|
+
describe 'have_uid', :os => :redhat do
|
121
|
+
subject { commands.check_uid('root', 0) }
|
122
|
+
it { should eq "id root | grep uid=0(" }
|
123
|
+
end
|
124
|
+
|
125
|
+
describe 'have_login_shell', :os => :redhat do
|
126
|
+
subject { commands.check_login_shell('root', '/bin/bash') }
|
127
|
+
it { should eq "grep -w ^root /etc/passwd | cut -f 7 -d ':' | grep -w /bin/bash" }
|
128
|
+
end
|
129
|
+
|
130
|
+
describe 'have_home_directory', :os => :redhat do
|
131
|
+
subject { commands.check_home_directory('root', '/root') }
|
132
|
+
it { should eq "grep -w ^root /etc/passwd | cut -f 6 -d ':' | grep -w /root" }
|
133
|
+
end
|
134
|
+
|
115
135
|
describe 'check_ipatbles', :os => :redhat do
|
116
136
|
context 'check a rule without a table and a chain' do
|
117
137
|
subject { commands.check_iptables_rule('-P INPUT ACCEPT') }
|
@@ -33,6 +33,10 @@ describe 'Serverspec matchers of Red Hat family', :os => :redhat do
|
|
33
33
|
it_behaves_like 'support be_installed.by(gem).with_version matcher', 'jekyll', '1.0.0'
|
34
34
|
|
35
35
|
it_behaves_like 'support belong_to_group matcher', 'root', 'root'
|
36
|
+
it_behaves_like 'support have_gid matcher', 'root', 0
|
37
|
+
it_behaves_like 'support have_uid matcher', 'root', 0
|
38
|
+
it_behaves_like 'support have_login_shell matcher', 'root', '/bin/bash'
|
39
|
+
it_behaves_like 'support have_home_directory matcher', 'root', '/root'
|
36
40
|
|
37
41
|
it_behaves_like 'support have_iptables_rule matcher', '-P INPUT ACCEPT'
|
38
42
|
it_behaves_like 'support have_iptables_rule.with_table.with_chain matcher', '-P INPUT ACCEPT', 'mangle', 'INPUT'
|
@@ -58,22 +58,22 @@ end
|
|
58
58
|
describe 'check_file_contain_within', :os => :solaris do
|
59
59
|
context 'contain a pattern in the file' do
|
60
60
|
subject { commands.check_file_contain_within('Gemfile', 'rspec') }
|
61
|
-
it { should eq "sed -n '1,$p' Gemfile | grep -q 'rspec'
|
61
|
+
it { should eq "sed -n '1,$p' Gemfile | grep -q 'rspec' /dev/stdin" }
|
62
62
|
end
|
63
63
|
|
64
64
|
context 'contain a pattern after a line in a file' do
|
65
65
|
subject { commands.check_file_contain_within('Gemfile', 'rspec', '/^group :test do/') }
|
66
|
-
it { should eq "sed -n '/^group :test do/,$p' Gemfile | grep -q 'rspec'
|
66
|
+
it { should eq "sed -n '/^group :test do/,$p' Gemfile | grep -q 'rspec' /dev/stdin" }
|
67
67
|
end
|
68
68
|
|
69
69
|
context 'contain a pattern before a line in a file' do
|
70
70
|
subject {commands.check_file_contain_within('Gemfile', 'rspec', nil, '/^end/') }
|
71
|
-
it { should eq "sed -n '1,/^end/p' Gemfile | grep -q 'rspec'
|
71
|
+
it { should eq "sed -n '1,/^end/p' Gemfile | grep -q 'rspec' /dev/stdin" }
|
72
72
|
end
|
73
73
|
|
74
74
|
context 'contain a pattern from within a line and another line in a file' do
|
75
75
|
subject { commands.check_file_contain_within('Gemfile', 'rspec', '/^group :test do/', '/^end/') }
|
76
|
-
it { should eq "sed -n '/^group :test do/,/^end/p' Gemfile | grep -q 'rspec'
|
76
|
+
it { should eq "sed -n '/^group :test do/,/^end/p' Gemfile | grep -q 'rspec' /dev/stdin" }
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
@@ -109,9 +109,28 @@ end
|
|
109
109
|
|
110
110
|
describe 'check_belonging_group', :os => :solaris do
|
111
111
|
subject { commands.check_belonging_group('root', 'wheel') }
|
112
|
-
it { should eq "id root |
|
112
|
+
it { should eq "id -Gn root | grep wheel" }
|
113
113
|
end
|
114
114
|
|
115
|
+
describe 'have_gid', :os => :solaris do
|
116
|
+
subject { commands.check_gid('root', 0) }
|
117
|
+
it { should eq "getent group | grep -w ^root | cut -f 3 -d ':' | grep -w 0" }
|
118
|
+
end
|
119
|
+
|
120
|
+
describe 'have_uid', :os => :solaris do
|
121
|
+
subject { commands.check_uid('root', 0) }
|
122
|
+
it { should eq "id root | grep uid=0(" }
|
123
|
+
end
|
124
|
+
|
125
|
+
describe 'have_login_shell', :os => :solaris do
|
126
|
+
subject { commands.check_login_shell('root', '/bin/bash') }
|
127
|
+
it { should eq "grep -w ^root /etc/passwd | cut -f 7 -d ':' | grep -w /bin/bash" }
|
128
|
+
end
|
129
|
+
|
130
|
+
describe 'have_home_directory', :os => :solaris do
|
131
|
+
subject { commands.check_home_directory('root', '/root') }
|
132
|
+
it { should eq "grep -w ^root /etc/passwd | cut -f 6 -d ':' | grep -w /root" }
|
133
|
+
end
|
115
134
|
|
116
135
|
describe 'check_zfs', :os => :solaris do
|
117
136
|
context 'check without properties' do
|
@@ -32,6 +32,10 @@ describe 'Serverspec matchers of Solaris family', :os => :solaris do
|
|
32
32
|
it_behaves_like 'support be_installed.by(gem).with_version matcher', 'jekyll', '1.0.0'
|
33
33
|
|
34
34
|
it_behaves_like 'support belong_to_group matcher', 'root', 'root'
|
35
|
+
it_behaves_like 'support have_gid matcher', 'root', 0
|
36
|
+
it_behaves_like 'support have_uid matcher', 'root', 0
|
37
|
+
it_behaves_like 'support have_login_shell matcher', 'root', '/bin/bash'
|
38
|
+
it_behaves_like 'support have_home_directory matcher', 'root', '/root'
|
35
39
|
|
36
40
|
it_behaves_like 'support be_zfs matcher', 'rpool'
|
37
41
|
it_behaves_like 'support be_zfs.property matcher', 'rpool', { 'mountpoint' => '/rpool' }
|
@@ -322,6 +322,54 @@ shared_examples_for 'support belong_to_group matcher' do |user, group|
|
|
322
322
|
end
|
323
323
|
end
|
324
324
|
|
325
|
+
shared_examples_for 'support have_gid matcher' do |group, gid|
|
326
|
+
describe 'have_gid' do
|
327
|
+
describe group do
|
328
|
+
it { should have_gid gid }
|
329
|
+
end
|
330
|
+
|
331
|
+
describe 'dummygroup' do
|
332
|
+
it { should_not have_gid 'invalid-gid' }
|
333
|
+
end
|
334
|
+
end
|
335
|
+
end
|
336
|
+
|
337
|
+
shared_examples_for 'support have_uid matcher' do |user, uid|
|
338
|
+
describe 'have_uid' do
|
339
|
+
describe user do
|
340
|
+
it { should have_uid uid }
|
341
|
+
end
|
342
|
+
|
343
|
+
describe 'dummyuser' do
|
344
|
+
it { should_not have_uid 'invalid-uid' }
|
345
|
+
end
|
346
|
+
end
|
347
|
+
end
|
348
|
+
|
349
|
+
shared_examples_for 'support have_login_shell matcher' do |user, path_to_shell|
|
350
|
+
describe 'have_login_shell' do
|
351
|
+
describe user do
|
352
|
+
it { should have_login_shell path_to_shell }
|
353
|
+
end
|
354
|
+
|
355
|
+
describe 'dummyuser' do
|
356
|
+
it { should_not have_login_shell 'invalid-login-shell' }
|
357
|
+
end
|
358
|
+
end
|
359
|
+
end
|
360
|
+
|
361
|
+
shared_examples_for 'support have_home_directory matcher' do |user, path_to_home|
|
362
|
+
describe 'have_home_directory' do
|
363
|
+
describe user do
|
364
|
+
it { should have_home_directory path_to_home }
|
365
|
+
end
|
366
|
+
|
367
|
+
describe 'dummyuser' do
|
368
|
+
it { should_not have_home_directory 'invalid-home-directory' }
|
369
|
+
end
|
370
|
+
end
|
371
|
+
end
|
372
|
+
|
325
373
|
shared_examples_for 'support have_iptables_rule matcher' do |rule|
|
326
374
|
describe 'have_iptables_rule' do
|
327
375
|
describe 'iptables' 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: 53
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 17
|
10
|
+
version: 0.2.17
|
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-01 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
|
@@ -153,11 +152,15 @@ files:
|
|
153
152
|
- lib/serverspec/matchers/contain.rb
|
154
153
|
- lib/serverspec/matchers/get_stdout.rb
|
155
154
|
- lib/serverspec/matchers/have_cron_entry.rb
|
155
|
+
- lib/serverspec/matchers/have_gid.rb
|
156
|
+
- lib/serverspec/matchers/have_home_directory.rb
|
156
157
|
- lib/serverspec/matchers/have_ipfilter_rule.rb
|
157
158
|
- lib/serverspec/matchers/have_ipnat_rule.rb
|
158
159
|
- lib/serverspec/matchers/have_iptables_rule.rb
|
160
|
+
- lib/serverspec/matchers/have_login_shell.rb
|
159
161
|
- lib/serverspec/matchers/have_svcprop.rb
|
160
162
|
- lib/serverspec/matchers/have_svcprops.rb
|
163
|
+
- lib/serverspec/matchers/have_uid.rb
|
161
164
|
- lib/serverspec/matchers/return_exit_status.rb
|
162
165
|
- lib/serverspec/matchers/return_stderr.rb
|
163
166
|
- lib/serverspec/matchers/return_stdout.rb
|
@@ -175,32 +178,41 @@ files:
|
|
175
178
|
- spec/solaris/matchers_spec.rb
|
176
179
|
- spec/spec_helper.rb
|
177
180
|
- spec/support/shared_matcher_examples.rb
|
181
|
+
has_rdoc: true
|
178
182
|
homepage: http://serverspec.org/
|
179
|
-
licenses:
|
183
|
+
licenses:
|
180
184
|
- MIT
|
181
185
|
post_install_message:
|
182
186
|
rdoc_options: []
|
183
|
-
|
187
|
+
|
188
|
+
require_paths:
|
184
189
|
- lib
|
185
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
190
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
186
191
|
none: false
|
187
|
-
requirements:
|
188
|
-
- -
|
189
|
-
- !ruby/object:Gem::Version
|
190
|
-
|
191
|
-
|
192
|
+
requirements:
|
193
|
+
- - ">="
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
hash: 3
|
196
|
+
segments:
|
197
|
+
- 0
|
198
|
+
version: "0"
|
199
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
200
|
none: false
|
193
|
-
requirements:
|
194
|
-
- -
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
|
201
|
+
requirements:
|
202
|
+
- - ">="
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
hash: 3
|
205
|
+
segments:
|
206
|
+
- 0
|
207
|
+
version: "0"
|
197
208
|
requirements: []
|
209
|
+
|
198
210
|
rubyforge_project:
|
199
|
-
rubygems_version: 1.
|
211
|
+
rubygems_version: 1.3.7
|
200
212
|
signing_key:
|
201
213
|
specification_version: 3
|
202
214
|
summary: RSpec tests for your servers provisioned by Puppet, Chef or anything else
|
203
|
-
test_files:
|
215
|
+
test_files:
|
204
216
|
- spec/debian/commands_spec.rb
|
205
217
|
- spec/debian/matchers_spec.rb
|
206
218
|
- spec/gentoo/commands_spec.rb
|