serverspec 0.0.6 → 0.0.7
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 +8 -2
- data/lib/serverspec/commands/base.rb +12 -0
- data/lib/serverspec/matchers/be_grouped_into.rb +6 -0
- data/lib/serverspec/matchers/be_mode.rb +6 -0
- data/lib/serverspec/matchers/be_owned_by.rb +6 -0
- data/lib/serverspec/matchers.rb +3 -0
- data/lib/serverspec/version.rb +1 -1
- data/spec/redhat/matchers_spec.rb +5 -0
- data/spec/support/shared_matcher_examples.rb +36 -0
- metadata +89 -75
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Serverspec
|
2
2
|
|
3
|
-
RSpec tests for your provisioned
|
3
|
+
RSpec tests for your servers provisioned by Puppet, Chef and so on
|
4
4
|
|
5
5
|
----
|
6
6
|
|
@@ -67,11 +67,17 @@ Run tests.
|
|
67
67
|
|
68
68
|
```
|
69
69
|
$ rake spec
|
70
|
+
/usr/bin/ruby -S rspec spec/www.example.jp/httpd_spec.rb
|
71
|
+
......
|
72
|
+
|
73
|
+
Finished in 0.99715 seconds
|
74
|
+
6 examples, 0 failures
|
70
75
|
```
|
76
|
+
|
71
77
|
----
|
72
78
|
## Multi OS support
|
73
79
|
|
74
|
-
Serverspec is supporting Red Hat based OS
|
80
|
+
Serverspec is supporting Red Hat based OS, Debian based OS, Gentoo and Solaris now.
|
75
81
|
|
76
82
|
If your target host's OS is Debian, you can write the spec like this.
|
77
83
|
|
@@ -42,6 +42,18 @@ module Serverspec
|
|
42
42
|
def check_file_contain file, expected_pattern
|
43
43
|
"grep -q '#{expected_pattern}' #{file} "
|
44
44
|
end
|
45
|
+
|
46
|
+
def check_mode file, mode
|
47
|
+
"stat -c %a #{file} | grep #{mode}"
|
48
|
+
end
|
49
|
+
|
50
|
+
def check_owner file, owner
|
51
|
+
"stat -c %U #{file} | grep #{owner}"
|
52
|
+
end
|
53
|
+
|
54
|
+
def check_group file, group
|
55
|
+
"stat -c %G #{file} | grep #{group}"
|
56
|
+
end
|
45
57
|
end
|
46
58
|
end
|
47
59
|
end
|
data/lib/serverspec/matchers.rb
CHANGED
@@ -7,3 +7,6 @@ require 'serverspec/matchers/be_running'
|
|
7
7
|
require 'serverspec/matchers/contain'
|
8
8
|
require 'serverspec/matchers/be_user'
|
9
9
|
require 'serverspec/matchers/be_group'
|
10
|
+
require 'serverspec/matchers/be_mode'
|
11
|
+
require 'serverspec/matchers/be_owned_by'
|
12
|
+
require 'serverspec/matchers/be_grouped_into'
|
data/lib/serverspec/version.rb
CHANGED
@@ -15,4 +15,9 @@ describe 'Serverspec matchers of Red Hat family', :os => :redhat do
|
|
15
15
|
|
16
16
|
# Test for case of not registered in the service, but running as process.
|
17
17
|
it_behaves_like 'support be_running matcher', 'udevd'
|
18
|
+
|
19
|
+
it_behaves_like 'support be_mode matcher', '/etc/passwd', 644
|
20
|
+
|
21
|
+
it_behaves_like 'support be_owned_by matcher', '/etc/passwd', 'root'
|
22
|
+
it_behaves_like 'support be_grouped_into matcher', '/etc/passwd', 'root'
|
18
23
|
end
|
@@ -106,3 +106,39 @@ shared_examples_for 'support be_group matcher' do |valid_group|
|
|
106
106
|
end
|
107
107
|
end
|
108
108
|
end
|
109
|
+
|
110
|
+
shared_examples_for 'support be_mode matcher' do |valid_file, mode|
|
111
|
+
describe 'be_mode' do
|
112
|
+
describe valid_file do
|
113
|
+
it { should be_mode mode }
|
114
|
+
end
|
115
|
+
|
116
|
+
describe '/etc/passwd' do
|
117
|
+
it { should_not be_mode 000 }
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
shared_examples_for 'support be_owned_by matcher' do |valid_file, owner|
|
123
|
+
describe 'be_owned_by' do
|
124
|
+
describe valid_file do
|
125
|
+
it { should be_owned_by owner }
|
126
|
+
end
|
127
|
+
|
128
|
+
describe '/etc/passwd' do
|
129
|
+
it { should_not be_owned_by 'daemon' }
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
shared_examples_for 'support be_grouped_into matcher' do |valid_file, group|
|
135
|
+
describe 'be_grouped_into' do
|
136
|
+
describe valid_file do
|
137
|
+
it { should be_grouped_into grouped }
|
138
|
+
end
|
139
|
+
|
140
|
+
describe '/etc/passwd' do
|
141
|
+
it { should_not be_grouped_into 'daemon' }
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
metadata
CHANGED
@@ -1,88 +1,90 @@
|
|
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
|
+
- 0
|
9
|
+
- 7
|
10
|
+
version: 0.0.7
|
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-03-27 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
|
-
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
version: "0"
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
31
36
|
name: bundler
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ~>
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '1.3'
|
38
|
-
type: :development
|
39
37
|
prerelease: false
|
40
|
-
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
39
|
none: false
|
42
|
-
requirements:
|
40
|
+
requirements:
|
43
41
|
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 9
|
44
|
+
segments:
|
45
|
+
- 1
|
46
|
+
- 3
|
47
|
+
version: "1.3"
|
54
48
|
type: :development
|
49
|
+
version_requirements: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: rspec
|
55
52
|
prerelease: false
|
56
|
-
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
54
|
none: false
|
58
|
-
requirements:
|
59
|
-
- -
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
hash: 3
|
59
|
+
segments:
|
60
|
+
- 0
|
61
|
+
version: "0"
|
70
62
|
type: :development
|
63
|
+
version_requirements: *id003
|
64
|
+
- !ruby/object:Gem::Dependency
|
65
|
+
name: rake
|
71
66
|
prerelease: false
|
72
|
-
|
67
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
73
68
|
none: false
|
74
|
-
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
|
69
|
+
requirements:
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
hash: 3
|
73
|
+
segments:
|
74
|
+
- 0
|
75
|
+
version: "0"
|
76
|
+
type: :development
|
77
|
+
version_requirements: *id004
|
78
78
|
description: RSpec tests for your provisioned servers
|
79
|
-
email:
|
79
|
+
email:
|
80
80
|
- gosukenator@gmail.com
|
81
|
-
executables:
|
81
|
+
executables:
|
82
82
|
- serverspec-init
|
83
83
|
extensions: []
|
84
|
+
|
84
85
|
extra_rdoc_files: []
|
85
|
-
|
86
|
+
|
87
|
+
files:
|
86
88
|
- .gitignore
|
87
89
|
- Gemfile
|
88
90
|
- LICENSE.txt
|
@@ -101,8 +103,11 @@ files:
|
|
101
103
|
- lib/serverspec/matchers/be_enabled.rb
|
102
104
|
- lib/serverspec/matchers/be_file.rb
|
103
105
|
- lib/serverspec/matchers/be_group.rb
|
106
|
+
- lib/serverspec/matchers/be_grouped_into.rb
|
104
107
|
- lib/serverspec/matchers/be_installed.rb
|
105
108
|
- lib/serverspec/matchers/be_listening.rb
|
109
|
+
- lib/serverspec/matchers/be_mode.rb
|
110
|
+
- lib/serverspec/matchers/be_owned_by.rb
|
106
111
|
- lib/serverspec/matchers/be_running.rb
|
107
112
|
- lib/serverspec/matchers/be_user.rb
|
108
113
|
- lib/serverspec/matchers/contain.rb
|
@@ -115,32 +120,41 @@ files:
|
|
115
120
|
- spec/solaris/matchers_spec.rb
|
116
121
|
- spec/spec_helper.rb
|
117
122
|
- spec/support/shared_matcher_examples.rb
|
123
|
+
has_rdoc: true
|
118
124
|
homepage: https://github.com/mizzy/serverspec
|
119
|
-
licenses:
|
125
|
+
licenses:
|
120
126
|
- MIT
|
121
127
|
post_install_message:
|
122
128
|
rdoc_options: []
|
123
|
-
|
129
|
+
|
130
|
+
require_paths:
|
124
131
|
- lib
|
125
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
132
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
126
133
|
none: false
|
127
|
-
requirements:
|
128
|
-
- -
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
|
131
|
-
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
hash: 3
|
138
|
+
segments:
|
139
|
+
- 0
|
140
|
+
version: "0"
|
141
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
142
|
none: false
|
133
|
-
requirements:
|
134
|
-
- -
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
|
143
|
+
requirements:
|
144
|
+
- - ">="
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
hash: 3
|
147
|
+
segments:
|
148
|
+
- 0
|
149
|
+
version: "0"
|
137
150
|
requirements: []
|
151
|
+
|
138
152
|
rubyforge_project:
|
139
|
-
rubygems_version: 1.
|
153
|
+
rubygems_version: 1.3.7
|
140
154
|
signing_key:
|
141
155
|
specification_version: 3
|
142
156
|
summary: RSpec tests for your provisioned servers
|
143
|
-
test_files:
|
157
|
+
test_files:
|
144
158
|
- spec/debian/matchers_spec.rb
|
145
159
|
- spec/gentoo/matchers_spec.rb
|
146
160
|
- spec/redhat/matchers_spec.rb
|