serverspec 0.0.17 → 0.0.18

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,16 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 1.9.3
5
+ - 2.0.0
6
+
7
+ before_install:
8
+ - gem update bundler
9
+
10
+ script:
11
+ - bundle exec rake spec
12
+
13
+ matrix:
14
+ allow_failures:
15
+ - rvm: 2.0.0
16
+
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Serverspec
1
+ # Serverspec [![BuildStatus](https://secure.travis-ci.org/mizzy/serverspec.png)](http://travis-ci.org/mizzy/serverspec) [![Coverage Status](https://coveralls.io/repos/mizzy/serverspec/badge.png?branch=master)](https://coveralls.io/r/mizzy/serverspec)
2
2
 
3
- RSpec tests for your servers provisioned by Puppet, Chef and so on
3
+ RSpec tests for your servers provisioned by Puppet, Chef or anything else
4
4
 
5
5
  ----
6
6
 
@@ -24,36 +24,49 @@ Or install it yourself as:
24
24
 
25
25
  ```
26
26
  $ serverspec-init
27
+ Input target host name: www.example.jp
28
+
29
+ Select OS Type of target host:
30
+
31
+ 1) Red Hat
32
+ 2) Debian
33
+ 3) Gentoo
34
+ 4) Solaris
35
+ 5) None
36
+
37
+ Select container number: 1
38
+
27
39
  + spec/
28
40
  + spec/www.example.jp/
29
41
  + spec/www.example.jp/httpd_spec.rb
30
42
  + spec/spec_helper.rb
31
43
  + Rakefile
32
44
  ```
45
+
33
46
  spec/www.example.jp/httpd_spec.rb is a sample spec file and its content is like this.
34
47
 
35
48
  ```ruby
36
49
  require 'spec_helper'
37
50
 
38
- describe 'httpd', :os => :redhat do
51
+ describe 'httpd' do
39
52
  it { should be_installed }
40
53
  it { should be_enabled }
41
54
  it { should be_running }
42
55
  end
43
56
 
44
- describe 'port 80', :os => :redhat do
57
+ describe 'port 80' do
45
58
  it { should be_listening }
46
59
  end
47
60
 
48
- describe '/etc/httpd/conf/httpd.conf', :os => :redhat do
61
+ describe '/etc/httpd/conf/httpd.conf' do
49
62
  it { should be_file }
50
63
  it { should contain "ServerName www.example.jp" }
51
64
  end
52
65
  ```
53
66
 
54
- You can write spec for testing provisioned servers like this.
67
+ You can write spec for testing servers like this.
55
68
 
56
- You should create ~/.ssh/config like this before running tests.
69
+ You should create ~/.ssh/config like this before running tests because serverspec tests servers through SSH access.
57
70
 
58
71
  ```
59
72
  Host *.example.jp
@@ -79,7 +92,52 @@ Finished in 0.99715 seconds
79
92
 
80
93
  Serverspec is supporting Red Hat based OS, Debian based OS, Gentoo and Solaris now.
81
94
 
82
- If your target host's OS is Debian, you can write the spec like this.
95
+ If your target host's OS is Debian, you should include Serverspec::DebianHelper like this.
96
+
97
+ ```ruby
98
+ require 'serverspec'
99
+ require 'pathname'
100
+ require 'net/ssh'
101
+
102
+ RSpec.configure do |c|
103
+ # Include OS helper
104
+ c.include(Serverspec::DebianHelper)
105
+ c.before do
106
+ host = File.basename(Pathname.new(example.metadata[:location]).dirname)
107
+ if c.host != host
108
+ c.ssh.close if c.ssh
109
+ c.host = host
110
+ options = Net::SSH::Config.for(c.host)
111
+ user = options[:user] || Etc.getlogin
112
+ c.ssh = Net::SSH.start(c.host, user, options)
113
+ end
114
+ end
115
+ end
116
+ ```
117
+
118
+ And you can omit OS type from spec like this.
119
+
120
+ ```ruby
121
+ require 'spec_helper'
122
+
123
+ describe 'httpd' do
124
+ it { should be_installed }
125
+ it { should be_enabled }
126
+ it { should be_running }
127
+ end
128
+
129
+ describe 'port 80' do
130
+ it { should be_listening }
131
+ end
132
+
133
+ describe '/etc/httpd/conf/httpd.conf' do
134
+ it { should be_file }
135
+ it { should contain "ServerName www.example.jp" }
136
+ end
137
+ ```
138
+
139
+ You can change the target host's OS per spec like this.
140
+
83
141
 
84
142
  ```ruby
85
143
  require 'spec_helper'
@@ -136,38 +194,6 @@ end
136
194
 
137
195
  Or modify spec/spec_helper.rb generated by serverspec-init command like this
138
196
 
139
- ```ruby
140
- require 'serverspec'
141
- require 'pathname'
142
-
143
- RSpec.configure do |c|
144
- c.include(Serverspec::DebianHelper)
145
- c.before do
146
- c.host = File.basename(Pathname.new(example.metadata[:location]).dirname)
147
- end
148
- end
149
- ```
150
-
151
- And write the spec like this.
152
-
153
- ```ruby
154
- require 'spec_helper'
155
-
156
- describe 'httpd' do
157
- it { should be_installed }
158
- it { should be_enabled }
159
- it { should be_running }
160
- end
161
-
162
- describe 'port 80' do
163
- it { should be_listening }
164
- end
165
-
166
- describe '/etc/httpd/conf/httpd.conf' do
167
- it { should be_file }
168
- it { should contain "ServerName www.example.jp" }
169
- end
170
- ```
171
197
 
172
198
  Choose any style you like.
173
199
 
@@ -1,7 +1,7 @@
1
1
  require 'etc'
2
2
 
3
3
  module Serverspec
4
- module Helper
4
+ module SshHelper
5
5
  def ssh_exec(cmd, opt={})
6
6
  ssh_exec!("sudo #{cmd}")
7
7
  end
@@ -3,42 +3,64 @@ require 'fileutils'
3
3
  module Serverspec
4
4
  class Setup
5
5
  def self.run
6
- %w( spec spec/www.example.jp ).each { |dir| safe_mkdir(dir) }
6
+ print "Input target host name: "
7
+ @hostname = gets.chomp
8
+
9
+ prompt = <<-EOF
10
+
11
+ Select OS Type of target host:
12
+
13
+ 1) Red Hat
14
+ 2) Debian
15
+ 3) Gentoo
16
+ 4) Solaris
17
+ 5) None
18
+
19
+ Select container number:
20
+ EOF
21
+
22
+ print prompt.chop
23
+ num = gets.to_i - 1
24
+ puts
25
+
26
+ @os_type = [ 'RedHat', 'Debian', 'Gentoo', 'Solaris', nil ][num]
27
+ [ 'spec', "spec/#{@hostname}" ].each { |dir| safe_mkdir(dir) }
7
28
  safe_create_spec
8
29
  safe_create_spec_helper
9
30
  safe_create_rakefile
10
31
  end
11
32
 
12
33
  def self.safe_create_spec
13
- content = <<-EOF
34
+
35
+ content = <<-EOF
14
36
  require 'spec_helper'
15
37
 
16
- describe 'httpd', :os => :redhat do
38
+ describe 'httpd' do
17
39
  it { should be_installed }
18
40
  it { should be_enabled }
19
41
  it { should be_running }
20
42
  end
21
43
 
22
- describe 'port 80', :os => :redhat do
44
+ describe 'port 80' do
23
45
  it { should be_listening }
24
46
  end
25
47
 
26
- describe '/etc/httpd/conf/httpd.conf', :os => :redhat do
48
+ describe '/etc/httpd/conf/httpd.conf' do
27
49
  it { should be_file }
28
- it { should contain "ServerName www.example.jp" }
50
+ it { should contain "ServerName #{@hostname}" }
29
51
  end
30
52
  EOF
31
53
 
32
- if File.exists? 'spec/www.example.jp/httpd_spec.rb'
33
- old_content = File.read('spec/www.example.jp/httpd_spec.rb')
54
+ if File.exists? "spec/#{@hostname}/httpd_spec.rb"
55
+ old_content = File.read("spec/#{@hostname}/httpd_spec.rb")
34
56
  if old_content != content
35
- $stderr.puts "!! spec/www.example.jp/httpd_spec.rb already exists and differs from template"
57
+ $stderr.puts "!! spec/#{@hostname}/httpd_spec.rb already exists and differs from template"
36
58
  end
37
59
  else
38
- File.open('spec/www.example.jp/httpd_spec.rb', 'w') do |f|
60
+ File.open("spec/#{@hostname}/httpd_spec.rb", 'w') do |f|
39
61
  f.puts content
40
62
  end
41
- puts ' + spec/www.example.jp/httpd_spec.rb'
63
+ puts " + spec/#{@hostname}/httpd_spec.rb"
42
64
  end
43
65
  end
44
66
 
@@ -60,6 +82,7 @@ require 'pathname'
60
82
  require 'net/ssh'
61
83
 
62
84
  RSpec.configure do |c|
85
+ ### include os helper ###
63
86
  c.before do
64
87
  host = File.basename(Pathname.new(example.metadata[:location]).dirname)
65
88
  if c.host != host
@@ -72,6 +95,11 @@ RSpec.configure do |c|
72
95
  end
73
96
  end
74
97
  EOF
98
+
99
+ if not @os_type.nil?
100
+ content.gsub!(/### include os helper ###/, "c.include(Serverspec::#{@os_type}Helper)")
101
+ end
102
+
75
103
  if File.exists? 'spec/spec_helper.rb'
76
104
  old_content = File.read('spec/spec_helper.rb')
77
105
  if old_content != content
@@ -1,3 +1,3 @@
1
1
  module Serverspec
2
- VERSION = "0.0.17"
2
+ VERSION = "0.0.18"
3
3
  end
data/lib/serverspec.rb CHANGED
@@ -11,7 +11,7 @@ require 'serverspec/commands/gentoo'
11
11
  require 'serverspec/commands/solaris'
12
12
 
13
13
  RSpec.configure do |c|
14
- c.include(Serverspec::Helper)
14
+ c.include(Serverspec::SshHelper)
15
15
  c.include(Serverspec::RedHatHelper, :os => :redhat)
16
16
  c.include(Serverspec::DebianHelper, :os => :debian)
17
17
  c.include(Serverspec::GentooHelper, :os => :gentoo)
@@ -1,8 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe 'Serverspec matchers of Debian family', :os => :debian do
4
- let(:test_server_host) { 'serverspec-debian-host' }
5
-
6
4
  it_behaves_like 'support be_enabled matcher', 'rc.local'
7
5
  it_behaves_like 'support be_installed matcher', 'openssh-server'
8
6
  it_behaves_like 'support be_running matcher', 'ssh'
@@ -1,8 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe 'Serverspec matchers of Gentoo family', :os => :gentoo do
4
- let(:test_server_host) { 'serverspec-gentoo-host' }
5
-
6
4
  it_behaves_like 'support be_enabled matcher', 'sshd'
7
5
  it_behaves_like 'support be_installed matcher', 'openssh'
8
6
  it_behaves_like 'support be_running matcher', 'sshd'
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ include Serverspec::RedHatHelper
4
+
5
+ describe commands.check_enabled('httpd') do
6
+ it { should eq 'chkconfig --list httpd | grep 3:on' }
7
+ end
@@ -1,8 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe 'Serverspec matchers of Red Hat family', :os => :redhat do
4
- let(:test_server_host) { 'serverspec-redhat-host' }
5
-
6
4
  it_behaves_like 'support be_enabled matcher', 'sshd'
7
5
  it_behaves_like 'support be_installed matcher', 'openssh'
8
6
  it_behaves_like 'support be_running matcher', 'sshd'
@@ -24,8 +22,8 @@ describe 'Serverspec matchers of Red Hat family', :os => :redhat do
24
22
  it_behaves_like 'support have_cron_entry matcher', 'cron', '* * * * * /usr/bin/foo'
25
23
  it_behaves_like 'support have_cron_entry.with_user matcher', 'cron', '* * * * * /usr/bin/foo', 'root'
26
24
 
27
- it behaves_like 'support be_linked_to matcher', '/etc/pam.d/system-auth', '/etc/pam.d/system-auth-ac'
25
+ it_behaves_like 'support be_linked_to matcher', '/etc/pam.d/system-auth', '/etc/pam.d/system-auth-ac'
28
26
 
29
- it behaves_like 'support belong_to_group matcher', 'root', 'root'
27
+ it_behaves_like 'support belong_to_group matcher', 'root', 'root'
30
28
 
31
29
  end
@@ -1,8 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe 'Serverspec matchers of Solaris family', :os => :solaris do
4
- let(:test_server_host) { 'serverspec-solaris-host' }
5
-
6
4
  it_behaves_like 'support be_enabled matcher', 'svc:/network/ssh:default'
7
5
  it_behaves_like 'support be_installed matcher', 'service/network/ssh'
8
6
  it_behaves_like 'support be_running matcher', 'svc:/network/ssh:default'
data/spec/spec_helper.rb CHANGED
@@ -5,8 +5,14 @@ PROJECT_ROOT = (Pathname.new(File.dirname(__FILE__)) + '..').expand_path
5
5
 
6
6
  Dir[PROJECT_ROOT.join("spec/support/**/*.rb")].each { |file| require(file) }
7
7
 
8
- RSpec.configure do |c|
9
- c.before do
10
- c.host = test_server_host
8
+ module Serverspec
9
+ module SshHelper
10
+ def ssh_exec(cmd)
11
+ if cmd =~ /invalid/
12
+ { :stdout => nil, :stderr => nil, :exit_code => 1, :exit_signal => nil }
13
+ else
14
+ { :stdout => nil, :stderr => nil, :exit_code => 0, :exit_signal => nil }
15
+ end
16
+ end
11
17
  end
12
18
  end
@@ -5,7 +5,7 @@ shared_examples_for 'support be_enabled matcher' do |valid_service|
5
5
  it { should be_enabled }
6
6
  end
7
7
 
8
- describe 'this-is-dummy-service' do
8
+ describe 'this-is-invalid-service' do
9
9
  it { should_not be_enabled }
10
10
  end
11
11
  end
@@ -17,7 +17,7 @@ shared_examples_for 'support be_installed matcher' do |valid_package|
17
17
  it { should be_installed }
18
18
  end
19
19
 
20
- describe 'this-is-dummy-package' do
20
+ describe 'this-is-invalid-package' do
21
21
  it { should_not be_installed }
22
22
  end
23
23
  end
@@ -29,7 +29,7 @@ shared_examples_for 'support be_running matcher' do |valid_service|
29
29
  it { should be_running }
30
30
  end
31
31
 
32
- describe 'this-is-dummy-daemon' do
32
+ describe 'this-is-invalid-daemon' do
33
33
  it { should_not be_running }
34
34
  end
35
35
  end
@@ -41,7 +41,7 @@ shared_examples_for 'support be_listening matcher' do |valid_port|
41
41
  it { should be_listening }
42
42
  end
43
43
 
44
- describe 'port 9999' do
44
+ describe 'port invalid' do
45
45
  it { should_not be_listening }
46
46
  end
47
47
  end
@@ -53,7 +53,7 @@ shared_examples_for 'support be_file matcher' do |valid_file|
53
53
  it { should be_file }
54
54
  end
55
55
 
56
- describe '/etc/thid_is_dummy_file' do
56
+ describe '/etc/thid_is_invalid_file' do
57
57
  it { should_not be_file }
58
58
  end
59
59
  end
@@ -65,7 +65,7 @@ shared_examples_for 'support be_directory matcher' do |valid_directory|
65
65
  it { should be_directory }
66
66
  end
67
67
 
68
- describe '/etc/thid_is_dummy_directory' do
68
+ describe '/etc/thid_is_invalid_directory' do
69
69
  it { should_not be_directory }
70
70
  end
71
71
  end
@@ -78,7 +78,7 @@ shared_examples_for 'support contain matcher' do |valid_file, pattern|
78
78
  end
79
79
 
80
80
  describe '/etc/ssh/sshd_config' do
81
- it { should_not contain 'This is duymmy text!!' }
81
+ it { should_not contain 'This is invalid text!!' }
82
82
  end
83
83
  end
84
84
  end
@@ -89,7 +89,7 @@ shared_examples_for 'support be_user matcher' do |valid_user|
89
89
  it { should be_user }
90
90
  end
91
91
 
92
- describe 'i_am_dummy_user' do
92
+ describe 'i_am_invalid_user' do
93
93
  it { should_not be_user }
94
94
  end
95
95
  end
@@ -101,7 +101,7 @@ shared_examples_for 'support be_group matcher' do |valid_group|
101
101
  it { should be_group }
102
102
  end
103
103
 
104
- describe 'we_are_dummy_group' do
104
+ describe 'we_are_invalid_group' do
105
105
  it { should_not be_group }
106
106
  end
107
107
  end
@@ -114,7 +114,7 @@ shared_examples_for 'support be_mode matcher' do |valid_file, mode|
114
114
  end
115
115
 
116
116
  describe '/etc/passwd' do
117
- it { should_not be_mode 000 }
117
+ it { should_not be_mode 'invalid' }
118
118
  end
119
119
  end
120
120
  end
@@ -126,7 +126,7 @@ shared_examples_for 'support be_owned_by matcher' do |valid_file, owner|
126
126
  end
127
127
 
128
128
  describe '/etc/passwd' do
129
- it { should_not be_owned_by 'daemon' }
129
+ it { should_not be_owned_by 'invalid-owner' }
130
130
  end
131
131
  end
132
132
  end
@@ -138,7 +138,7 @@ shared_examples_for 'support be_grouped_into matcher' do |valid_file, group|
138
138
  end
139
139
 
140
140
  describe '/etc/passwd' do
141
- it { should_not be_grouped_into 'daemon' }
141
+ it { should_not be_grouped_into 'invalid-group' }
142
142
  end
143
143
  end
144
144
  end
@@ -150,7 +150,7 @@ shared_examples_for 'support have_cron_entry matcher' do |title, entry|
150
150
  end
151
151
 
152
152
  describe '/etc/passwd' do
153
- it { should_not have_cron_entry 'dummy entry' }
153
+ it { should_not have_cron_entry 'invalid entry' }
154
154
  end
155
155
  end
156
156
  end
@@ -162,7 +162,7 @@ shared_examples_for 'support have_cron_entry.with_user matcher' do |title, entry
162
162
  end
163
163
 
164
164
  describe '/etc/passwd' do
165
- it { should_not have_cron_entry('dummy entry').with_user('dummyuser') }
165
+ it { should_not have_cron_entry('dummy entry').with_user('invaliduser') }
166
166
  end
167
167
  end
168
168
  end
@@ -174,7 +174,7 @@ shared_examples_for 'support be_linked_to matcher' do |file, target|
174
174
  end
175
175
 
176
176
  describe 'this-is-dummy-link' do
177
- it { should_not be_linked_to 'dummy target' }
177
+ it { should_not be_linked_to '/invalid/target' }
178
178
  end
179
179
  end
180
180
  end
@@ -185,7 +185,7 @@ shared_examples_for 'support be_installed_by_gem matcher' do |name|
185
185
  it { should be_installed_by_gem }
186
186
  end
187
187
 
188
- describe 'dummygem' do
188
+ describe 'invalid-gem' do
189
189
  it { should_not be_installed_by_gem }
190
190
  end
191
191
  end
@@ -198,19 +198,19 @@ shared_examples_for 'support be_installed_by_gem.with_version matcher' do |name,
198
198
  end
199
199
 
200
200
  describe name do
201
- it { should_not be_installed_by_gem.with_version('dummyversion') }
201
+ it { should_not be_installed_by_gem.with_version('invalid-version') }
202
202
  end
203
203
  end
204
204
  end
205
205
 
206
- shared_examples_for 'support belong_to_group matcher' do |name, group|
206
+ shared_examples_for 'support belong_to_group matcher' do |user, group|
207
207
  describe 'belong_to_group' do
208
208
  describe user do
209
209
  it { should belong_to_group group }
210
210
  end
211
211
 
212
212
  describe 'dummyuser' do
213
- it { should_not belong_to_group 'dummygroup' }
213
+ it { should_not belong_to_group 'invalid-group' }
214
214
  end
215
215
  end
216
216
  end
metadata CHANGED
@@ -1,91 +1,90 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: serverspec
3
- version: !ruby/object:Gem::Version
4
- hash: 61
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 0
9
- - 17
10
- version: 0.0.17
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.18
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Gosuke Miyashita
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-03-29 00:00:00 +09:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2013-03-30 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: net-ssh
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
33
22
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: bundler
37
23
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
39
25
  none: false
40
- requirements:
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: bundler
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
41
35
  - - ~>
42
- - !ruby/object:Gem::Version
43
- hash: 9
44
- segments:
45
- - 1
46
- - 3
47
- version: "1.3"
36
+ - !ruby/object:Gem::Version
37
+ version: '1.3'
48
38
  type: :development
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: rspec
52
39
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '1.3'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
54
49
  none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
- version: "0"
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
62
54
  type: :development
63
- version_requirements: *id003
64
- - !ruby/object:Gem::Dependency
65
- name: rake
66
55
  prerelease: false
67
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
68
57
  none: false
69
- requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- hash: 3
73
- segments:
74
- - 0
75
- version: "0"
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
76
70
  type: :development
77
- version_requirements: *id004
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
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
-
85
84
  extra_rdoc_files: []
86
-
87
- files:
85
+ files:
88
86
  - .gitignore
87
+ - .travis.yml
89
88
  - Gemfile
90
89
  - LICENSE.txt
91
90
  - README.md
@@ -120,47 +119,40 @@ files:
120
119
  - serverspec.gemspec
121
120
  - spec/debian/matchers_spec.rb
122
121
  - spec/gentoo/matchers_spec.rb
122
+ - spec/redhat/commands_spec.rb
123
123
  - spec/redhat/matchers_spec.rb
124
124
  - spec/solaris/matchers_spec.rb
125
125
  - spec/spec_helper.rb
126
126
  - spec/support/shared_matcher_examples.rb
127
- has_rdoc: true
128
127
  homepage: https://github.com/mizzy/serverspec
129
- licenses:
128
+ licenses:
130
129
  - MIT
131
130
  post_install_message:
132
131
  rdoc_options: []
133
-
134
- require_paths:
132
+ require_paths:
135
133
  - lib
136
- required_ruby_version: !ruby/object:Gem::Requirement
134
+ required_ruby_version: !ruby/object:Gem::Requirement
137
135
  none: false
138
- requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- hash: 3
142
- segments:
143
- - 0
144
- version: "0"
145
- required_rubygems_version: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ! '>='
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ required_rubygems_version: !ruby/object:Gem::Requirement
146
141
  none: false
147
- requirements:
148
- - - ">="
149
- - !ruby/object:Gem::Version
150
- hash: 3
151
- segments:
152
- - 0
153
- version: "0"
142
+ requirements:
143
+ - - ! '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
154
146
  requirements: []
155
-
156
147
  rubyforge_project:
157
- rubygems_version: 1.3.7
148
+ rubygems_version: 1.8.25
158
149
  signing_key:
159
150
  specification_version: 3
160
151
  summary: RSpec tests for your provisioned servers
161
- test_files:
152
+ test_files:
162
153
  - spec/debian/matchers_spec.rb
163
154
  - spec/gentoo/matchers_spec.rb
155
+ - spec/redhat/commands_spec.rb
164
156
  - spec/redhat/matchers_spec.rb
165
157
  - spec/solaris/matchers_spec.rb
166
158
  - spec/spec_helper.rb