serverspec 2.0.0.beta8 → 2.0.0.beta9

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.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +24 -2
  3. data/lib/serverspec/setup.rb +6 -8
  4. data/lib/serverspec/type/cgroup.rb +1 -0
  5. data/lib/serverspec/type/command.rb +1 -1
  6. data/lib/serverspec/type/cron.rb +1 -1
  7. data/lib/serverspec/type/default_gateway.rb +2 -2
  8. data/lib/serverspec/type/file.rb +21 -17
  9. data/lib/serverspec/type/group.rb +2 -2
  10. data/lib/serverspec/type/host.rb +3 -3
  11. data/lib/serverspec/type/iis_app_pool.rb +2 -2
  12. data/lib/serverspec/type/iis_website.rb +5 -5
  13. data/lib/serverspec/type/interface.rb +1 -1
  14. data/lib/serverspec/type/ipfilter.rb +1 -1
  15. data/lib/serverspec/type/ipnat.rb +1 -1
  16. data/lib/serverspec/type/iptables.rb +1 -1
  17. data/lib/serverspec/type/kernel_module.rb +1 -1
  18. data/lib/serverspec/type/lxc.rb +2 -2
  19. data/lib/serverspec/type/mail_alias.rb +1 -1
  20. data/lib/serverspec/type/package.rb +2 -7
  21. data/lib/serverspec/type/port.rb +1 -1
  22. data/lib/serverspec/type/ppa.rb +2 -2
  23. data/lib/serverspec/type/routing_table.rb +1 -1
  24. data/lib/serverspec/type/selinux.rb +3 -3
  25. data/lib/serverspec/type/service.rb +7 -15
  26. data/lib/serverspec/type/user.rb +12 -6
  27. data/lib/serverspec/type/windows_feature.rb +1 -1
  28. data/lib/serverspec/type/windows_hot_fix.rb +1 -1
  29. data/lib/serverspec/type/windows_registry_key.rb +4 -4
  30. data/lib/serverspec/type/windows_scheduled_task.rb +1 -1
  31. data/lib/serverspec/type/yumrepo.rb +2 -2
  32. data/lib/serverspec/type/zfs.rb +2 -2
  33. data/lib/serverspec/version.rb +1 -1
  34. data/serverspec.gemspec +1 -1
  35. data/spec/spec_helper.rb +11 -0
  36. data/spec/type/aix/file_spec.rb +35 -0
  37. data/spec/type/aix/group_spec.rb +15 -0
  38. data/spec/type/aix/package_spec.rb +15 -0
  39. data/spec/type/aix/port_spec.rb +37 -0
  40. data/spec/type/aix/service_spec.rb +23 -0
  41. data/spec/type/aix/user_spec.rb +32 -0
  42. data/spec/type/arch/file_spec.rb +32 -0
  43. data/spec/type/arch/package_spec.rb +31 -0
  44. data/spec/type/arch/service_spec.rb +13 -0
  45. data/spec/type/{command_spec.rb → base/command_spec.rb} +1 -3
  46. data/spec/type/{cron_spec.rb → base/cron_spec.rb} +5 -1
  47. data/spec/type/{default_gateway_spec.rb → base/default_gateway_spec.rb} +1 -1
  48. data/spec/type/{file_spec.rb → base/file_spec.rb} +23 -24
  49. data/spec/type/{group_spec.rb → base/group_spec.rb} +5 -1
  50. data/spec/type/{host_spec.rb → base/host_spec.rb} +5 -1
  51. data/spec/type/{mail_alias_spec.rb → base/mail_alias_spec.rb} +5 -1
  52. data/spec/type/{package_spec.rb → base/package_spec.rb} +3 -32
  53. data/spec/type/{php_config_spec.rb → base/php_config_spec.rb} +1 -1
  54. data/spec/type/{port_spec.rb → base/port_spec.rb} +5 -1
  55. data/spec/type/{process_spec.rb → base/process_spec.rb} +5 -1
  56. data/spec/type/{routing_table_spec.rb → base/routing_table_spec.rb} +5 -1
  57. data/spec/type/{service_spec.rb → base/service_spec.rb} +5 -25
  58. data/spec/type/{user_spec.rb → base/user_spec.rb} +5 -1
  59. data/spec/type/darwin/file_spec.rb +43 -0
  60. data/spec/type/darwin/package_spec.rb +24 -0
  61. data/spec/type/darwin/port_spec.rb +37 -0
  62. data/spec/type/darwin/service_spec.rb +32 -0
  63. data/spec/type/debian/package_spec.rb +39 -0
  64. data/spec/type/debian/service_spec.rb +23 -0
  65. data/spec/type/fedora/service_spec.rb +19 -0
  66. data/spec/type/fedora15/service_spec.rb +19 -0
  67. data/spec/type/fedora20/service_spec.rb +19 -0
  68. data/spec/type/freebsd/file_spec.rb +11 -0
  69. data/spec/type/freebsd/package_spec.rb +31 -0
  70. data/spec/type/freebsd/port_spec.rb +37 -0
  71. data/spec/type/freebsd/service_spec.rb +16 -0
  72. data/spec/type/freebsd10/package_spec.rb +31 -0
  73. data/spec/type/gentoo/package_spec.rb +16 -0
  74. data/spec/type/gentoo/service_spec.rb +24 -0
  75. data/spec/type/{cgroup_spec.rb → linux/cgroup_spec.rb} +1 -1
  76. data/spec/type/linux/file_spec.rb +38 -0
  77. data/spec/type/{interface_spec.rb → linux/interface_spec.rb} +5 -1
  78. data/spec/type/{iptables_spec.rb → linux/iptables_spec.rb} +6 -2
  79. data/spec/type/linux/kernel_module_spec.rb +15 -0
  80. data/spec/type/{linux_kernel_parameter_spec.rb → linux/linux_kernel_parameter_spec.rb} +1 -1
  81. data/spec/type/{lxc_spec.rb → linux/lxc_container_spec.rb} +5 -1
  82. data/spec/type/{selinux_spec.rb → linux/selinux_spec.rb} +5 -1
  83. data/spec/type/{zfs_spec.rb → linux/zfs_spec.rb} +5 -1
  84. data/spec/type/nixos/package_spec.rb +31 -0
  85. data/spec/type/nixos/service_spec.rb +13 -0
  86. data/spec/type/openbsd/file_spec.rb +174 -0
  87. data/spec/type/openbsd/interface_spec.rb +25 -0
  88. data/spec/type/openbsd/mail_alias_spec.rb +15 -0
  89. data/spec/type/openbsd/package_spec.rb +24 -0
  90. data/spec/type/openbsd/port_spec.rb +11 -0
  91. data/spec/type/openbsd/service_spec.rb +24 -0
  92. data/spec/type/openbsd/user_spec.rb +24 -0
  93. data/spec/type/opensuse/service_spec.rb +32 -0
  94. data/spec/type/plamo/package_spec.rb +16 -0
  95. data/spec/type/plamo/service_spec.rb +16 -0
  96. data/spec/type/redhat/file_spec.rb +36 -0
  97. data/spec/type/redhat/package_spec.rb +39 -0
  98. data/spec/type/redhat/service_spec.rb +23 -0
  99. data/spec/type/{yumrepo_spec.rb → redhat/yumrepo_spec.rb} +5 -1
  100. data/spec/type/redhat5/iptables_spec.rb +23 -0
  101. data/spec/type/redhat7/service_spec.rb +13 -0
  102. data/spec/type/smartos/package_spec.rb +31 -0
  103. data/spec/type/smartos/service_spec.rb +32 -0
  104. data/spec/type/solaris/cron_spec.rb +23 -0
  105. data/spec/type/solaris/file_spec.rb +33 -0
  106. data/spec/type/solaris/group_spec.rb +15 -0
  107. data/spec/type/solaris/host_spec.rb +31 -0
  108. data/spec/type/solaris/ipfilter_spec.rb +11 -0
  109. data/spec/type/solaris/ipnat_spec.rb +11 -0
  110. data/spec/type/solaris/package_spec.rb +15 -0
  111. data/spec/type/solaris/port_spec.rb +37 -0
  112. data/spec/type/solaris/service_spec.rb +32 -0
  113. data/spec/type/solaris/user_spec.rb +32 -0
  114. data/spec/type/solaris/zfs_spec.rb +19 -0
  115. data/spec/type/solaris10/file_spec.rb +391 -0
  116. data/spec/type/solaris10/group_spec.rb +16 -0
  117. data/spec/type/solaris10/host_spec.rb +24 -0
  118. data/spec/type/solaris10/package_spec.rb +15 -0
  119. data/spec/type/solaris10/user_spec.rb +16 -0
  120. data/spec/type/suse/package_spec.rb +39 -0
  121. data/spec/type/suse/service_spec.rb +23 -0
  122. data/spec/type/ubuntu/ppa_spec.rb +23 -0
  123. data/spec/type/ubuntu/service_spec.rb +15 -0
  124. data/spec/type/windows/command_spec.rb +65 -0
  125. data/spec/type/windows/feature_spec.rb +13 -0
  126. data/spec/type/windows/file_spec.rb +161 -0
  127. data/spec/type/windows/group_spec.rb +31 -0
  128. data/spec/type/windows/host_spec.rb +56 -0
  129. data/spec/type/windows/hot_fix_spec.rb +26 -0
  130. data/spec/type/windows/iis_app_pool_spec.rb +18 -0
  131. data/spec/type/windows/iis_webisite_spec.rb +30 -0
  132. data/spec/type/windows/package_spec.rb +14 -0
  133. data/spec/type/windows/port_spec.rb +33 -0
  134. data/spec/type/windows/registry_key_spec.rb +62 -0
  135. data/spec/type/windows/scheduled_task_spec.rb +13 -0
  136. data/spec/type/windows/service_spec.rb +42 -0
  137. data/spec/type/windows/user_spec.rb +45 -0
  138. metadata +208 -50
  139. data/spec/type/kernel_module_spec.rb +0 -11
data/spec/spec_helper.rb CHANGED
@@ -18,5 +18,16 @@ module Specinfra
18
18
  })
19
19
  end
20
20
  end
21
+ class Cmd < Base
22
+ def run_command cmd
23
+ CommandResult.new({
24
+ :stdout => ::Specinfra.configuration.stdout,
25
+ :stderr => ::Specinfra.configuration.stderr,
26
+ :exit_status => cmd.to_s =~ /invalid/ ? 1 : 0,
27
+ :exit_signal => nil,
28
+ })
29
+ end
30
+ end
21
31
  end
22
32
  end
33
+
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, {:family => 'aix'}
4
+
5
+ describe commands.command_class('file').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Aix::Base::File) }
7
+ end
8
+
9
+ describe file('/tmp') do
10
+ it { should be_readable.by_user('mail') }
11
+ end
12
+
13
+ describe file('/tmp') do
14
+ it { should be_writable.by_user('mail') }
15
+ end
16
+
17
+ describe file('/tmp') do
18
+ it { should be_executable.by_user('mail') }
19
+ end
20
+
21
+ describe file('/etc/passwd') do
22
+ it 'be_mode is not implemented' do
23
+ expect {
24
+ should be_mode 644
25
+ }.to raise_error(Specinfra::Command::Base::NotImplementedError)
26
+ end
27
+ end
28
+
29
+ describe file('/etc/passwd') do
30
+ it { should be_owned_by 'root' }
31
+ end
32
+
33
+ describe file('/etc/passwd') do
34
+ it { should be_grouped_into 'root' }
35
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'aix'
4
+
5
+ describe commands.command_class('group').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Aix::Base::Group) }
7
+ end
8
+
9
+ describe group('root') do
10
+ it { should have_gid 0 }
11
+ end
12
+
13
+ describe group('root') do
14
+ it { should_not have_gid 'invalid-gid' }
15
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'aix'
4
+
5
+ describe commands.command_class('package').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Aix::Base::Package) }
7
+ end
8
+
9
+ describe package('httpd') do
10
+ it { should be_installed }
11
+ end
12
+
13
+ describe package('invalid-package') do
14
+ it { should_not be_installed }
15
+ end
@@ -0,0 +1,37 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'aix'
4
+
5
+ describe commands.command_class('port').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Aix::Base::Port) }
7
+ end
8
+
9
+ describe Serverspec::Type::Port do
10
+ describe port(80) do
11
+ it { should be_listening }
12
+
13
+ it('protocol: tcp') { should be_listening.with('tcp') }
14
+
15
+ it 'invalid protocol raises error' do
16
+ expect {
17
+ should be_listening.with('not implemented')
18
+ }.to raise_error(ArgumentError, %r/\A`be_listening` matcher doesn\'t support/)
19
+ end
20
+
21
+ it('on: 127.0.0.1') do
22
+ should be_listening.on('127.0.0.1')
23
+ end
24
+
25
+ it 'invalid local address raises error' do
26
+ expect{ should be_listening.on('') }.to raise_error(ArgumentError)
27
+ end
28
+ end
29
+
30
+ describe port('invalid') do
31
+ it { should_not be_listening }
32
+ end
33
+
34
+ describe port(123) do
35
+ it { should be_listening.with("udp") }
36
+ end
37
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'aix'
4
+
5
+ describe commands.command_class('service').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Aix::Base::Service) }
7
+ end
8
+
9
+ describe service('sshd') do
10
+ it { should be_enabled }
11
+ end
12
+
13
+ describe service('invalid-service') do
14
+ it { should_not be_enabled }
15
+ end
16
+
17
+ describe service('sshd') do
18
+ it { should be_enabled.with_level(4) }
19
+ end
20
+
21
+ describe service('invalid-service') do
22
+ it { should_not be_enabled.with_level(4) }
23
+ end
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'aix'
4
+
5
+ describe commands.command_class('user').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Aix::Base::User) }
7
+ end
8
+
9
+ describe user('root') do
10
+ it { should belong_to_group 'root' }
11
+ end
12
+
13
+ describe user('root') do
14
+ it { should_not belong_to_group 'invalid-group' }
15
+ end
16
+
17
+ describe user('root') do
18
+ it { should have_login_shell '/bin/bash' }
19
+ end
20
+
21
+ describe user('root') do
22
+ it { should_not have_login_shell 'invalid-login-shell' }
23
+ end
24
+
25
+ describe user('root') do
26
+ it { should have_home_directory '/root' }
27
+ end
28
+
29
+ describe user('root') do
30
+ it { should_not have_home_directory 'invalid-home-directory' }
31
+ end
32
+
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'arch'
4
+
5
+ describe commands.command_class('file').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Arch::Base::File) }
7
+ end
8
+
9
+ describe file('/tmp') do
10
+ it { should be_readable.by_user('mail') }
11
+ end
12
+
13
+ describe file('/tmp') do
14
+ it { should_not be_readable.by_user('invalid-user') }
15
+ end
16
+
17
+ describe file('/tmp') do
18
+ it { should be_writable.by_user('mail') }
19
+ end
20
+
21
+ describe file('/tmp') do
22
+ it { should_not be_writable.by_user('invalid-user') }
23
+ end
24
+
25
+
26
+ describe file('/tmp') do
27
+ it { should be_executable.by_user('mail') }
28
+ end
29
+
30
+ describe file('/tmp') do
31
+ it { should_not be_executable.by_user('invalid-user') }
32
+ end
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'arch'
4
+
5
+ describe commands.command_class('package').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Arch::Base::Package) }
7
+ end
8
+
9
+ describe package('httpd') do
10
+ it { should be_installed }
11
+ end
12
+
13
+ describe package('invalid-package') do
14
+ it { should_not be_installed }
15
+ end
16
+
17
+ describe package('httpd') do
18
+ it { should be_installed.with_version('2.2.15-28.el6') }
19
+ end
20
+
21
+ describe package('httpd') do
22
+ it { should_not be_installed.with_version('invalid-version') }
23
+ end
24
+
25
+ describe package('httpd') do
26
+ let(:stdout) { "2.2.15\n" }
27
+ its(:version) { should eq '2.2.15' }
28
+ its(:version) { should > '2.2.14' }
29
+ its(:version) { should < '2.2.16' }
30
+ its(:version) { should > '2.2.9' }
31
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'arch'
4
+
5
+ describe commands.command_class('service').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Arch::Base::Service) }
7
+ end
8
+
9
+ describe service('sshd') do
10
+ it { should be_enabled }
11
+ it { should be_running }
12
+ end
13
+
@@ -1,8 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
4
 
5
- =begin
6
5
  describe command('cat /etc/resolv.conf') do
7
6
  let(:stdout) { "nameserver 127.0.0.1\r\n" }
8
7
  it { should return_stdout("nameserver 127.0.0.1") }
@@ -44,7 +43,6 @@ end
44
43
  describe command('cat /etc/resolv.conf') do
45
44
  it { should return_exit_status 0 }
46
45
  end
47
- =end
48
46
 
49
47
  describe command('ls -al /') do
50
48
  let(:stdout) { <<EOF
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
+
5
+ describe commands.command_class('cron').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Base::Cron) }
7
+ end
4
8
 
5
9
  describe cron do
6
10
  it { should have_entry '* * * * * /usr/local/bin/batch.sh' }
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
4
 
5
5
  describe default_gateway do
6
6
  let(:stdout) { "default via 192.168.1.1 dev eth1 \r\n" }
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, {:family => 'base'}
4
+
5
+ describe commands.command_class('file').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Base::File) }
7
+ end
4
8
 
5
9
  describe file('/etc/ssh/sshd_config') do
6
10
  it { should be_file }
@@ -134,14 +138,6 @@ describe file('/dev') do
134
138
  it { should_not be_readable.by('others') }
135
139
  end
136
140
 
137
- describe file('/tmp') do
138
- it { should be_readable.by_user('mail') }
139
- end
140
-
141
- describe file('/tmp') do
142
- it { should_not be_readable.by_user('invalid-user') }
143
- end
144
-
145
141
  describe file('/dev') do
146
142
  let(:stdout) { "755\r\n" }
147
143
  it { should be_writable }
@@ -182,13 +178,6 @@ describe file('/dev') do
182
178
  it { should_not be_writable.by('others') }
183
179
  end
184
180
 
185
- describe file('/tmp') do
186
- it { should be_writable.by_user('mail') }
187
- end
188
-
189
- describe file('/tmp') do
190
- it { should_not be_writable.by_user('invalid-user') }
191
- end
192
181
 
193
182
  describe file('/dev') do
194
183
  let(:stdout) { "755\r\n" }
@@ -230,14 +219,6 @@ describe file('/dev') do
230
219
  it { should_not be_executable.by('others') }
231
220
  end
232
221
 
233
- describe file('/tmp') do
234
- it { should be_executable.by_user('mail') }
235
- end
236
-
237
- describe file('/tmp') do
238
- it { should_not be_executable.by_user('invalid-user') }
239
- end
240
-
241
222
  describe file('/') do
242
223
  it { should be_mounted }
243
224
  end
@@ -390,3 +371,21 @@ EOF
390
371
 
391
372
  its(:content) { should match /root:x:0:0/ }
392
373
  end
374
+
375
+ describe file('/etc/passwd') do
376
+ let(:stdout) { Time.now.to_i.to_s }
377
+ its(:mtime) { should > DateTime.now.prev_day(1) }
378
+ end
379
+
380
+ describe file('/etc/passwod') do
381
+ let(:stdout) { 100.to_s }
382
+ its(:size) { should > 0 }
383
+ end
384
+
385
+ describe file('/etc/passwd') do
386
+ it 'be_immutable is not implemented in base class' do
387
+ expect {
388
+ should be_immutable
389
+ }.to raise_error(Specinfra::Command::Base::NotImplementedError)
390
+ end
391
+ end
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
+
5
+ describe commands.command_class('group').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Base::Group) }
7
+ end
4
8
 
5
9
  describe group('root') do
6
10
  it { should exist }
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
+
5
+ describe commands.command_class('host').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Base::Host) }
7
+ end
4
8
 
5
9
  describe host('127.0.0.1') do
6
10
  it { should be_resolvable }
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
+
5
+ describe commands.command_class('mail_alias').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Base::MailAlias) }
7
+ end
4
8
 
5
9
  describe mail_alias('daemon') do
6
10
  it { should be_aliased_to "root" }
@@ -1,29 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
4
 
5
- describe package('httpd') do
6
- it { should be_installed }
7
- end
8
-
9
- describe package('invalid-package') do
10
- it { should_not be_installed }
11
- end
12
-
13
- describe package('invalid-package') do
14
- it { should_not be_installed.by('rpm') }
15
- end
16
-
17
- describe package('httpd') do
18
- it { should be_installed.with_version('2.2.15-28.el6') }
19
- end
20
-
21
- describe package('httpd') do
22
- it { should be_installed.by('rpm').with_version('2.2.15-28.el6') }
23
- end
24
-
25
- describe package('httpd') do
26
- it { should_not be_installed.with_version('invalid-version') }
5
+ describe commands.command_class('package').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Base::Package) }
27
7
  end
28
8
 
29
9
  describe package('jekyll') do
@@ -58,7 +38,6 @@ describe package('bower') do
58
38
  it { should_not be_installed.by('npm').with_version('invalid-version') }
59
39
  end
60
40
 
61
-
62
41
  describe package('mongo') do
63
42
  it { should be_installed.by('pecl') }
64
43
  end
@@ -94,11 +73,3 @@ end
94
73
  describe package('App::Ack') do
95
74
  it { should be_installed.by('cpan').with_version('2.04') }
96
75
  end
97
-
98
- describe package('httpd') do
99
- let(:stdout) { "2.2.15\n" }
100
- its(:version) { should eq '2.2.15' }
101
- its(:version) { should > '2.2.14' }
102
- its(:version) { should < '2.2.16' }
103
- its(:version) { should > '2.2.9' }
104
- end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
4
 
5
5
  describe php_config('default_mimetype') do
6
6
  let(:stdout) { 'text/html' }
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
+
5
+ describe commands.command_class('port').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Base::Port) }
7
+ end
4
8
 
5
9
  describe Serverspec::Type::Port do
6
10
  describe port(80) do
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
+
5
+ describe commands.command_class('process').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Base::Process) }
7
+ end
4
8
 
5
9
  describe process("memcached") do
6
10
  let(:stdout) { " 1407\n" }
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
+
5
+ describe commands.command_class('routing_table').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Base::RoutingTable) }
7
+ end
4
8
 
5
9
  describe routing_table do
6
10
  let(: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" }
@@ -1,22 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
4
 
5
- =begin
6
- describe service('sshd') do
7
- it { should be_enabled }
8
- end
9
-
10
- describe service('invalid-service') do
11
- it { should_not be_enabled }
12
- end
13
-
14
- describe service('sshd') do
15
- it { should be_enabled.with_level(4) }
16
- end
17
-
18
- describe service('invalid-service') do
19
- it { should_not be_enabled.with_level(4) }
5
+ describe commands.command_class('service').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Base::Service) }
20
7
  end
21
8
 
22
9
  describe service('sshd') do
@@ -52,7 +39,7 @@ describe service('sshd') do
52
39
  it {
53
40
  expect {
54
41
  should be_running.under('not implemented')
55
- }.to raise_error(ArgumentError, %r/\A`be_running` matcher doesn\'t support/)
42
+ }.to raise_error(Specinfra::Command::Base::NotImplementedError)
56
43
  }
57
44
  end
58
45
 
@@ -66,15 +53,10 @@ describe service('sshd') do
66
53
  it { should_not be_monitored_by('monit') }
67
54
  end
68
55
 
69
-
70
- =end
71
-
72
56
  describe service('invalid-daemon') do
73
57
  it { should_not be_monitored_by('monit') }
74
58
  end
75
59
 
76
- =begin
77
-
78
60
  describe service('unicorn') do
79
61
  it { should be_monitored_by('god') }
80
62
  end
@@ -87,8 +69,6 @@ describe service('sshd') do
87
69
  it {
88
70
  expect {
89
71
  should be_monitored_by('not implemented')
90
- }.to raise_error(ArgumentError, %r/\A`be_monitored_by` matcher doesn\'t support/)
72
+ }.to raise_error(Specinfra::Command::Base::NotImplementedError)
91
73
  }
92
74
  end
93
-
94
- =end
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- include Specinfra::Helper::RedHat
3
+ set :os, :family => 'base'
4
+
5
+ describe commands.command_class('user').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Base::User) }
7
+ end
4
8
 
5
9
  describe user('root') do
6
10
  it { should exist }
@@ -0,0 +1,43 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'darwin'
4
+
5
+ describe commands.command_class('file').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Darwin::Base::File) }
7
+ end
8
+
9
+ describe file('/tmp') do
10
+ it { should be_readable.by_user('mail') }
11
+ end
12
+
13
+ describe file('/tmp') do
14
+ it { should be_writable.by_user('mail') }
15
+ end
16
+
17
+ describe file('/tmp') do
18
+ it { should be_executable.by_user('mail') }
19
+ end
20
+
21
+ describe file('/etc/services') do
22
+ it { should match_md5checksum '35435ea447c19f0ea5ef971837ab9ced' }
23
+ end
24
+
25
+ describe file('/etc/services') do
26
+ it { should match_sha256checksum '0c3feee1353a8459f8c7d84885e6bc602ef853751ffdbce3e3b6dfa1d345fc7a' }
27
+ end
28
+
29
+ describe file('/etc/pam.d/system-auth') do
30
+ it { should be_linked_to '/etc/pam.d/system-auth-ac' }
31
+ end
32
+
33
+ describe file('/etc/passwd') do
34
+ it { should be_mode 644 }
35
+ end
36
+
37
+ describe file('/etc/passwd') do
38
+ it { should be_owned_by 'root' }
39
+ end
40
+
41
+ describe file('/etc/passwd') do
42
+ it { should be_grouped_into 'root' }
43
+ end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'darwin'
4
+
5
+ describe commands.command_class('package').create do
6
+ it { should be_an_instance_of(Specinfra::Command::Darwin::Base::Package) }
7
+ end
8
+
9
+ describe package('httpd') do
10
+ it { should be_installed }
11
+ end
12
+
13
+ describe package('invalid-package') do
14
+ it { should_not be_installed }
15
+ end
16
+
17
+ describe package('httpd') do
18
+ it { should be_installed.with_version('2.2.15-28.el6') }
19
+ end
20
+
21
+ describe package('httpd') do
22
+ it { should_not be_installed.with_version('invalid-version') }
23
+ end
24
+