serverspec 0.2.24 → 0.2.25

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.
@@ -156,6 +156,8 @@ module Serverspec
156
156
  'Gentoo'
157
157
  elsif run_command('uname -s')[:stdout] =~ /SunOS/i
158
158
  'Solaris'
159
+ elsif run_command('uname -s')[:stdout] =~ /Darwin/i
160
+ 'Darwin'
159
161
  end
160
162
  end
161
163
 
@@ -0,0 +1,9 @@
1
+ require 'shellwords'
2
+
3
+ module Serverspec
4
+ module Commands
5
+ class Darwin < Base
6
+ class NotImplementedError < Exception; end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Serverspec
2
+ module Helper
3
+ module Darwin
4
+ def commands
5
+ Serverspec::Commands::Darwin.new
6
+ end
7
+ end
8
+ end
9
+ end
@@ -59,4 +59,16 @@ module Serverspec
59
59
  exit 1
60
60
  end
61
61
  end
62
+ module DarwinHelper
63
+ def self.included(mod)
64
+ puts
65
+ puts "**************************************************************"
66
+ puts "Serverspec::DarwinHelper in spec/spec_helper.rb is deprecated."
67
+ puts "Use Serverspec::Helper::Darwin instead."
68
+ puts "Or remove spec/spec_helper.rb and run severspec-init again."
69
+ puts "**************************************************************"
70
+ puts
71
+ exit 1
72
+ end
73
+ end
62
74
  end
@@ -10,6 +10,7 @@ require 'serverspec/helper/redhat'
10
10
  require 'serverspec/helper/debian'
11
11
  require 'serverspec/helper/gentoo'
12
12
  require 'serverspec/helper/solaris'
13
+ require 'serverspec/helper/darwin'
13
14
  require 'serverspec/helper/detect_os'
14
15
 
15
16
  # Obsoleted helpers
@@ -1,3 +1,3 @@
1
1
  module Serverspec
2
- VERSION = "0.2.24"
2
+ VERSION = "0.2.25"
3
3
  end
data/lib/serverspec.rb CHANGED
@@ -13,18 +13,20 @@ require 'serverspec/commands/redhat'
13
13
  require 'serverspec/commands/debian'
14
14
  require 'serverspec/commands/gentoo'
15
15
  require 'serverspec/commands/solaris'
16
+ require 'serverspec/commands/darwin'
16
17
 
17
18
  RSpec.configure do |c|
18
19
  c.include(Serverspec::Helper::RedHat, :os => :redhat)
19
20
  c.include(Serverspec::Helper::Debian, :os => :debian)
20
21
  c.include(Serverspec::Helper::Gentoo, :os => :gentoo)
21
22
  c.include(Serverspec::Helper::Solaris, :os => :solaris)
23
+ c.include(Serverspec::Helper::Darwin, :os => :darwin)
22
24
  c.add_setting :os, :default => nil
23
25
  c.add_setting :host, :default => nil
24
26
  c.add_setting :ssh, :default => nil
25
27
  c.add_setting :sudo_password, :default => nil
26
28
  c.before :each do
27
- if subject == 'value'
29
+ if described_class.nil? && subject == 'value'
28
30
  def subject
29
31
  Serverspec::Filter.filter_subject example
30
32
  end
@@ -0,0 +1,181 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'check_file', :os => :darwin do
4
+ subject { commands.check_file('/etc/passwd') }
5
+ it { should eq 'test -f /etc/passwd' }
6
+ end
7
+
8
+ describe 'check_mounted', :os => :darwin do
9
+ subject { commands.check_mounted('/') }
10
+ it { should eq "mount | grep -w -- on\\ /" }
11
+ end
12
+
13
+ describe 'check_reachable', :os => :darwin do
14
+ context "connect with name from /etc/services to localhost" do
15
+ subject { commands.check_reachable('localhost', 'ssh', 'tcp', 1) }
16
+ it { should eq "nc -vvvvzt localhost ssh -w 1" }
17
+ end
18
+ context "connect with ip and port 11111 and timeout of 5" do
19
+ subject { commands.check_reachable('127.0.0.1', '11111', 'udp', 5) }
20
+ it { should eq "nc -vvvvzu 127.0.0.1 11111 -w 5" }
21
+ end
22
+ context "do a ping" do
23
+ subject { commands.check_reachable('127.0.0.1', nil, 'icmp', 1) }
24
+ it { should eq "ping -n 127.0.0.1 -w 1 -c 2" }
25
+ end
26
+ end
27
+
28
+ describe 'check_resolvable', :os => :darwin do
29
+ context "resolve localhost by hosts" do
30
+ subject { commands.check_resolvable('localhost', 'hosts') }
31
+ it { should eq "grep -w -- localhost /etc/hosts" }
32
+ end
33
+ context "resolve localhost by dns" do
34
+ subject { commands.check_resolvable('localhost', 'dns') }
35
+ it { should eq "nslookup -timeout=1 localhost" }
36
+ end
37
+ context "resolve localhost with default settings" do
38
+ subject { commands.check_resolvable('localhost',nil) }
39
+ it { should eq 'getent hosts localhost' }
40
+ end
41
+ end
42
+
43
+ describe 'check_directory', :os => :darwin do
44
+ subject { commands.check_directory('/var/log') }
45
+ it { should eq 'test -d /var/log' }
46
+ end
47
+
48
+ describe 'check_user', :os => :darwin do
49
+ subject { commands.check_user('root') }
50
+ it { should eq 'id root' }
51
+ end
52
+
53
+ describe 'check_group', :os => :darwin do
54
+ subject { commands.check_group('wheel') }
55
+ it { should eq 'getent group | grep -wq -- wheel' }
56
+ end
57
+
58
+ describe 'check_listening', :os => :darwin do
59
+ subject { commands.check_listening(80) }
60
+ it { should eq "netstat -tunl | grep -- :80\\ " }
61
+ end
62
+
63
+ describe 'check_running', :os => :darwin do
64
+ subject { commands.check_running('httpd') }
65
+ it { should eq 'service httpd status' }
66
+ end
67
+
68
+ describe 'check_running_under_supervisor', :os => :darwin do
69
+ subject { commands.check_running_under_supervisor('httpd') }
70
+ it { should eq 'supervisorctl status httpd' }
71
+ end
72
+
73
+ describe 'check_process', :os => :darwin do
74
+ subject { commands.check_process('httpd') }
75
+ it { should eq 'ps aux | grep -w -- httpd | grep -qv grep' }
76
+ end
77
+
78
+ describe 'check_file_contain', :os => :darwin do
79
+ subject { commands.check_file_contain('/etc/passwd', 'root') }
80
+ it { should eq "grep -q -- root /etc/passwd" }
81
+ end
82
+
83
+ describe 'check_file_contain_within', :os => :darwin do
84
+ context 'contain a pattern in the file' do
85
+ subject { commands.check_file_contain_within('Gemfile', 'rspec') }
86
+ it { should eq "sed -n 1,\\$p Gemfile | grep -q -- rspec -" }
87
+ end
88
+
89
+ context 'contain a pattern after a line in a file' do
90
+ subject { commands.check_file_contain_within('Gemfile', 'rspec', '/^group :test do/') }
91
+ it { should eq "sed -n /\\^group\\ :test\\ do/,\\$p Gemfile | grep -q -- rspec -" }
92
+ end
93
+
94
+ context 'contain a pattern before a line in a file' do
95
+ subject {commands.check_file_contain_within('Gemfile', 'rspec', nil, '/^end/') }
96
+ it { should eq "sed -n 1,/\\^end/p Gemfile | grep -q -- rspec -" }
97
+ end
98
+
99
+ context 'contain a pattern from within a line and another line in a file' do
100
+ subject { commands.check_file_contain_within('Gemfile', 'rspec', '/^group :test do/', '/^end/') }
101
+ it { should eq "sed -n /\\^group\\ :test\\ do/,/\\^end/p Gemfile | grep -q -- rspec -" }
102
+ end
103
+ end
104
+
105
+ describe 'check_mode', :os => :darwin do
106
+ subject { commands.check_mode('/etc/sudoers', 440) }
107
+ it { should eq 'stat -c %a /etc/sudoers | grep -- \\^440\\$' }
108
+ end
109
+
110
+ describe 'check_owner', :os => :darwin do
111
+ subject { commands.check_owner('/etc/passwd', 'root') }
112
+ it { should eq 'stat -c %U /etc/passwd | grep -- \\^root\\$' }
113
+ end
114
+
115
+ describe 'check_grouped', :os => :darwin do
116
+ subject { commands.check_grouped('/etc/passwd', 'wheel') }
117
+ it { should eq 'stat -c %G /etc/passwd | grep -- \\^wheel\\$' }
118
+ end
119
+
120
+ describe 'check_cron_entry', :os => :darwin do
121
+ subject { commands.check_cron_entry('root', '* * * * * /usr/local/bin/batch.sh') }
122
+ it { should eq 'crontab -u root -l | grep -- \\\\\\*\\ \\\\\\*\\ \\\\\\*\\ \\\\\\*\\ \\\\\\*\\ /usr/local/bin/batch.sh' }
123
+ end
124
+
125
+ describe 'check_link', :os => :darwin do
126
+ subject { commands.check_link('/etc/system-release', '/etc/darwin-release') }
127
+ it { should eq 'stat -c %N /etc/system-release | grep -- /etc/darwin-release' }
128
+ end
129
+
130
+ describe 'check_installed_by_gem', :os => :darwin do
131
+ subject { commands.check_installed_by_gem('jekyll') }
132
+ it { should eq 'gem list --local | grep -- \\^jekyll\\ ' }
133
+ end
134
+
135
+ describe 'check_belonging_group', :os => :darwin do
136
+ subject { commands.check_belonging_group('root', 'wheel') }
137
+ it { should eq "id root | awk '{print $3}' | grep -- wheel" }
138
+ end
139
+
140
+ describe 'have_gid', :os => :darwin do
141
+ subject { commands.check_gid('root', 0) }
142
+ it { should eq "getent group | grep -w -- \\^root | cut -f 3 -d ':' | grep -w -- 0" }
143
+ end
144
+
145
+ describe 'have_uid', :os => :darwin do
146
+ subject { commands.check_uid('root', 0) }
147
+ it { should eq "id root | grep -- \\^uid\\=0\\(" }
148
+ end
149
+
150
+ describe 'have_login_shell', :os => :darwin do
151
+ subject { commands.check_login_shell('root', '/bin/bash') }
152
+ it { should eq "getent passwd root | cut -f 7 -d ':' | grep -w -- /bin/bash" }
153
+ end
154
+
155
+ describe 'have_home_directory', :os => :darwin do
156
+ subject { commands.check_home_directory('root', '/root') }
157
+ it { should eq "getent passwd root | cut -f 6 -d ':' | grep -w -- /root" }
158
+ end
159
+
160
+ describe 'have_authorized_key', :os => :darwin do
161
+ key = "ssh-rsa ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGH"
162
+ escaped_key = key.gsub(/ /, '\ ')
163
+
164
+ context 'with commented publickey' do
165
+ commented_key = key + " foo@bar.local"
166
+ subject { commands.check_authorized_key('root', commented_key) }
167
+ describe 'when command insert publickey is removed comment' do
168
+ it { should eq "grep -w -- #{escaped_key} ~root/.ssh/authorized_keys" }
169
+ end
170
+ end
171
+
172
+ context 'with uncomented publickey' do
173
+ subject { commands.check_authorized_key('root', key) }
174
+ it { should eq "grep -w -- #{escaped_key} ~root/.ssh/authorized_keys" }
175
+ end
176
+ end
177
+
178
+ describe 'get_mode', :os => :darwin do
179
+ subject { commands.get_mode('/dev') }
180
+ it { should eq 'stat -c %a /dev' }
181
+ end
@@ -0,0 +1,77 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Serverspec matchers of Red Hat family', :os => :darwin do
4
+ it_behaves_like 'support be_running matcher', 'sshd'
5
+ it_behaves_like 'support be_running.under("supervisor") matcher', 'growthforecast'
6
+ it_behaves_like 'support be_running.under("not implemented") matcher', 'growthforecast'
7
+ it_behaves_like 'support be_listening matcher', 22
8
+ it_behaves_like 'support be_file matcher', '/etc/ssh/sshd_config'
9
+
10
+ it_behaves_like 'support be_mounted matcher', '/'
11
+ it_behaves_like 'support be_mounted.with matcher', '/'
12
+ it_behaves_like 'support be_mounted.only_with matcher', '/'
13
+
14
+ it_behaves_like 'support be_reachable matcher', '127.0.0.1'
15
+ it_behaves_like 'support be_reachable.with matcher', '127.0.0.1'
16
+
17
+ it_behaves_like 'support be_resolvable matcher', 'localhost'
18
+ it_behaves_like 'support be_resolvable.by matcher', 'localhost', 'hosts'
19
+ it_behaves_like 'support be_resolvable.by matcher', 'localhost', 'dns'
20
+ it_behaves_like 'support be_directory matcher', '/etc/ssh'
21
+ it_behaves_like 'support contain matcher', '/etc/ssh/sshd_config', 'This is the sshd server system-wide configuration file'
22
+ it_behaves_like 'support contain.from.to matcher', 'Gemfile', 'rspec', /^group :test do/, /^end/
23
+ it_behaves_like 'support contain.after matcher', 'Gemfile', 'rspec', /^group :test do/
24
+ it_behaves_like 'support contain.before matcher', 'Gemfile', 'rspec', /^end/
25
+ it_behaves_like 'support be_user matcher', 'root'
26
+ it_behaves_like 'support be_group matcher', 'wheel'
27
+
28
+ # Test for case of not registered in the service, but running as process.
29
+ it_behaves_like 'support be_running matcher', 'udevd'
30
+
31
+ it_behaves_like 'support be_mode matcher', '/etc/passwd', 644
32
+
33
+ it_behaves_like 'support be_owned_by matcher', '/etc/passwd', 'root'
34
+ it_behaves_like 'support be_grouped_into matcher', '/etc/passwd', 'root'
35
+
36
+ it_behaves_like 'support have_cron_entry matcher', 'cron', '* * * * * /usr/bin/foo'
37
+ it_behaves_like 'support have_cron_entry.with_user matcher', 'cron', '* * * * * /usr/bin/foo', 'root'
38
+
39
+ it_behaves_like 'support be_linked_to matcher', '/etc/pam.d/system-auth', '/etc/pam.d/system-auth-ac'
40
+
41
+ it_behaves_like 'support be_installed.by(gem) matcher', 'jekyll'
42
+ it_behaves_like 'support be_installed.by(gem).with_version matcher', 'jekyll', '1.0.0'
43
+
44
+ it_behaves_like 'support belong_to_group matcher', 'root', 'root'
45
+ it_behaves_like 'support have_gid matcher', 'root', 0
46
+ it_behaves_like 'support have_uid matcher', 'root', 0
47
+ it_behaves_like 'support have_login_shell matcher', 'root', '/bin/bash'
48
+ it_behaves_like 'support have_home_directory matcher', 'root', '/root'
49
+ it_behaves_like 'support have_authorized_key matcher', 'root', 'ssh-rsa ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGH foo@bar.local'
50
+
51
+ it_behaves_like 'support be_readable matcher', '/dev'
52
+ it_behaves_like 'support be_readable_by_owner matcher', '/dev'
53
+ it_behaves_like 'support be_readable_by_group matcher', '/dev'
54
+ it_behaves_like 'support be_readable_by_others matcher', '/dev'
55
+
56
+ it_behaves_like 'support be_writable matcher', '/dev'
57
+ it_behaves_like 'support be_writable_by_owner matcher', '/dev'
58
+ it_behaves_like 'support be_writable_by_group matcher', '/dev'
59
+ it_behaves_like 'support be_writable_by_others matcher', '/dev'
60
+
61
+ it_behaves_like 'support be_executable matcher', '/dev'
62
+ it_behaves_like 'support be_executable_by_owner matcher', '/dev'
63
+ it_behaves_like 'support be_executable_by_group matcher', '/dev'
64
+ it_behaves_like 'support be_executable_by_others matcher', '/dev'
65
+
66
+ it_behaves_like 'support return_exit_status matcher', 'ls /tmp', 0
67
+
68
+ it_behaves_like 'support return_stdout matcher', 'cat /etc/resolv.conf', 'localhost'
69
+ it_behaves_like 'support return_stdout matcher with regexp', 'cat /etc/resolv.conf', /localhost/
70
+
71
+ it_behaves_like 'support return_stderr matcher', 'cat /foo', 'cat: /foo: No such file or directory'
72
+ it_behaves_like 'support return_stderr matcher with regexp', 'cat /foo', /No such file or directory/
73
+
74
+ it_behaves_like 'support linux kernel parameter checking with integer', 'net.ipv4.tcp_syncookies', 1
75
+ it_behaves_like 'support linux kernel parameter checking with string', 'kernel.osrelease', '2.6.32-131.0.15.el6.x86_64'
76
+ it_behaves_like 'support linux kernel parameter checking with regexp', 'net.ipv4.tcp_wmem', /4096\t16384\t4194304/
77
+ end
@@ -12,8 +12,8 @@ describe 'Serverspec matchers of Debian family', :os => :debian do
12
12
  it_behaves_like 'support be_mounted.with matcher', '/'
13
13
  it_behaves_like 'support be_mounted.only_with matcher', '/'
14
14
 
15
- it_behaves_like 'support be_reachable matcher', '127.0.0.1:11111', '1.1.1.1:ssh'
16
- it_behaves_like 'support be_reachable.with matcher', '127.0.0.1:11111', '1.1.1.1:ssh'
15
+ it_behaves_like 'support be_reachable matcher', '127.0.0.1'
16
+ it_behaves_like 'support be_reachable.with matcher', '127.0.0.1'
17
17
 
18
18
  it_behaves_like 'support be_resolvable matcher', 'localhost'
19
19
  it_behaves_like 'support be_resolvable.by matcher', 'localhost', 'hosts'
@@ -12,8 +12,8 @@ describe 'Serverspec matchers of Gentoo family', :os => :gentoo do
12
12
  it_behaves_like 'support be_mounted.with matcher', '/'
13
13
  it_behaves_like 'support be_mounted.only_with matcher', '/'
14
14
 
15
- it_behaves_like 'support be_reachable matcher', '127.0.0.1:11111', '1.1.1.1:ssh'
16
- it_behaves_like 'support be_reachable.with matcher', '127.0.0.1:11111', '1.1.1.1:ssh'
15
+ it_behaves_like 'support be_reachable matcher', '127.0.0.1'
16
+ it_behaves_like 'support be_reachable.with matcher', '127.0.0.1'
17
17
 
18
18
  it_behaves_like 'support be_resolvable matcher', 'localhost'
19
19
  it_behaves_like 'support be_resolvable.by matcher', 'localhost', 'hosts'
@@ -13,8 +13,8 @@ describe 'Serverspec matchers of Red Hat family', :os => :redhat do
13
13
  it_behaves_like 'support be_mounted.with matcher', '/'
14
14
  it_behaves_like 'support be_mounted.only_with matcher', '/'
15
15
 
16
- it_behaves_like 'support be_reachable matcher', '127.0.0.1:11111', '1.1.1.1:ssh'
17
- it_behaves_like 'support be_reachable.with matcher', '127.0.0.1:11111', '1.1.1.1:ssh'
16
+ it_behaves_like 'support be_reachable matcher', '127.0.0.1'
17
+ it_behaves_like 'support be_reachable.with matcher', '127.0.0.1'
18
18
 
19
19
  it_behaves_like 'support be_resolvable matcher', 'localhost'
20
20
  it_behaves_like 'support be_resolvable.by matcher', 'localhost', 'hosts'
@@ -12,8 +12,8 @@ describe 'Serverspec matchers of Solaris family', :os => :solaris do
12
12
  it_behaves_like 'support be_mounted.with matcher', '/'
13
13
  it_behaves_like 'support be_mounted.only_with matcher', '/'
14
14
 
15
- it_behaves_like 'support be_reachable matcher', '127.0.0.1:11111', '1.1.1.1:ssh'
16
- it_behaves_like 'support be_reachable.with matcher', '127.0.0.1:11111', '1.1.1.1:ssh'
15
+ it_behaves_like 'support be_reachable matcher', '127.0.0.1'
16
+ it_behaves_like 'support be_reachable.with matcher', '127.0.0.1'
17
17
 
18
18
  it_behaves_like 'support be_resolvable matcher', 'localhost'
19
19
  it_behaves_like 'support be_resolvable.by matcher', 'localhost', 'hosts'
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
- version: 0.2.24
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ hash: 37
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 25
10
+ version: 0.2.25
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Gosuke Miyashita
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2013-05-07 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-05-09 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
- version_requirements: !ruby/object:Gem::Requirement
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
- version: '0'
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
- version_requirements: !ruby/object:Gem::Requirement
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
- version: '0'
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
- version_requirements: !ruby/object:Gem::Requirement
52
+ requirement: &id003 !ruby/object:Gem::Requirement
57
53
  none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
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
- version_requirements: !ruby/object:Gem::Requirement
66
+ requirement: &id004 !ruby/object:Gem::Requirement
73
67
  none: false
74
- requirements:
68
+ requirements:
75
69
  - - ~>
76
- - !ruby/object:Gem::Version
77
- version: '1.3'
78
- - !ruby/object:Gem::Dependency
79
- name: rake
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
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
- version_requirements: !ruby/object:Gem::Requirement
81
+ requirement: &id005 !ruby/object:Gem::Requirement
89
82
  none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- description: RSpec tests for your servers provisioned by Puppet, Chef or anything
95
- else
96
- email:
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
- files:
100
+
101
+ files:
103
102
  - .gitignore
104
103
  - .travis.yml
105
104
  - Gemfile
@@ -113,6 +112,7 @@ files:
113
112
  - lib/serverspec/backend/puppet.rb
114
113
  - lib/serverspec/backend/ssh.rb
115
114
  - lib/serverspec/commands/base.rb
115
+ - lib/serverspec/commands/darwin.rb
116
116
  - lib/serverspec/commands/debian.rb
117
117
  - lib/serverspec/commands/gentoo.rb
118
118
  - lib/serverspec/commands/linux.rb
@@ -120,6 +120,7 @@ files:
120
120
  - lib/serverspec/commands/solaris.rb
121
121
  - lib/serverspec/filter.rb
122
122
  - lib/serverspec/helper.rb
123
+ - lib/serverspec/helper/darwin.rb
123
124
  - lib/serverspec/helper/debian.rb
124
125
  - lib/serverspec/helper/detect_os.rb
125
126
  - lib/serverspec/helper/exec.rb
@@ -174,6 +175,8 @@ files:
174
175
  - lib/serverspec/subject.rb
175
176
  - lib/serverspec/version.rb
176
177
  - serverspec.gemspec
178
+ - spec/darwin/commands_spec.rb
179
+ - spec/darwin/matchers_spec.rb
177
180
  - spec/debian/commands_spec.rb
178
181
  - spec/debian/matchers_spec.rb
179
182
  - spec/gentoo/commands_spec.rb
@@ -184,32 +187,43 @@ files:
184
187
  - spec/solaris/matchers_spec.rb
185
188
  - spec/spec_helper.rb
186
189
  - spec/support/shared_matcher_examples.rb
190
+ has_rdoc: true
187
191
  homepage: http://serverspec.org/
188
- licenses:
192
+ licenses:
189
193
  - MIT
190
194
  post_install_message:
191
195
  rdoc_options: []
192
- require_paths:
196
+
197
+ require_paths:
193
198
  - lib
194
- required_ruby_version: !ruby/object:Gem::Requirement
199
+ required_ruby_version: !ruby/object:Gem::Requirement
195
200
  none: false
196
- requirements:
197
- - - ! '>='
198
- - !ruby/object:Gem::Version
199
- version: '0'
200
- required_rubygems_version: !ruby/object:Gem::Requirement
201
+ requirements:
202
+ - - ">="
203
+ - !ruby/object:Gem::Version
204
+ hash: 3
205
+ segments:
206
+ - 0
207
+ version: "0"
208
+ required_rubygems_version: !ruby/object:Gem::Requirement
201
209
  none: false
202
- requirements:
203
- - - ! '>='
204
- - !ruby/object:Gem::Version
205
- version: '0'
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ hash: 3
214
+ segments:
215
+ - 0
216
+ version: "0"
206
217
  requirements: []
218
+
207
219
  rubyforge_project:
208
- rubygems_version: 1.8.25
220
+ rubygems_version: 1.3.7
209
221
  signing_key:
210
222
  specification_version: 3
211
223
  summary: RSpec tests for your servers provisioned by Puppet, Chef or anything else
212
- test_files:
224
+ test_files:
225
+ - spec/darwin/commands_spec.rb
226
+ - spec/darwin/matchers_spec.rb
213
227
  - spec/debian/commands_spec.rb
214
228
  - spec/debian/matchers_spec.rb
215
229
  - spec/gentoo/commands_spec.rb