serverspec-ruby19 2.24.3

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 (205) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +26 -0
  3. data/.gitmodules +3 -0
  4. data/.travis.yml +19 -0
  5. data/Gemfile +8 -0
  6. data/Guardfile +4 -0
  7. data/LICENSE.txt +22 -0
  8. data/README.md +26 -0
  9. data/Rakefile +30 -0
  10. data/WINDOWS_SUPPORT.md +118 -0
  11. data/appveyor.yml +56 -0
  12. data/bin/serverspec-init +7 -0
  13. data/lib/serverspec.rb +63 -0
  14. data/lib/serverspec/commands/base.rb +7 -0
  15. data/lib/serverspec/helper.rb +8 -0
  16. data/lib/serverspec/helper/type.rb +26 -0
  17. data/lib/serverspec/matcher.rb +39 -0
  18. data/lib/serverspec/matcher/be_enabled.rb +13 -0
  19. data/lib/serverspec/matcher/be_enforcing.rb +10 -0
  20. data/lib/serverspec/matcher/be_executable.rb +13 -0
  21. data/lib/serverspec/matcher/be_installed.rb +13 -0
  22. data/lib/serverspec/matcher/be_listening.rb +13 -0
  23. data/lib/serverspec/matcher/be_mounted.rb +15 -0
  24. data/lib/serverspec/matcher/be_permissive.rb +10 -0
  25. data/lib/serverspec/matcher/be_reachable.rb +17 -0
  26. data/lib/serverspec/matcher/be_readable.rb +13 -0
  27. data/lib/serverspec/matcher/be_resolvable.rb +9 -0
  28. data/lib/serverspec/matcher/be_running.rb +13 -0
  29. data/lib/serverspec/matcher/be_writable.rb +13 -0
  30. data/lib/serverspec/matcher/belong_to_group.rb +5 -0
  31. data/lib/serverspec/matcher/belong_to_primary_group.rb +5 -0
  32. data/lib/serverspec/matcher/contain.rb +28 -0
  33. data/lib/serverspec/matcher/have_entry.rb +14 -0
  34. data/lib/serverspec/matcher/have_rule.rb +17 -0
  35. data/lib/serverspec/matcher/have_site_application.rb +18 -0
  36. data/lib/serverspec/matcher/have_site_bindings.rb +22 -0
  37. data/lib/serverspec/matcher/have_virtual_dir.rb +14 -0
  38. data/lib/serverspec/power_assert.rb +14 -0
  39. data/lib/serverspec/setup.rb +338 -0
  40. data/lib/serverspec/subject.rb +12 -0
  41. data/lib/serverspec/type/base.rb +30 -0
  42. data/lib/serverspec/type/bond.rb +11 -0
  43. data/lib/serverspec/type/bridge.rb +11 -0
  44. data/lib/serverspec/type/cgroup.rb +17 -0
  45. data/lib/serverspec/type/command.rb +20 -0
  46. data/lib/serverspec/type/cron.rb +15 -0
  47. data/lib/serverspec/type/default_gateway.rb +15 -0
  48. data/lib/serverspec/type/docker_base.rb +29 -0
  49. data/lib/serverspec/type/docker_container.rb +27 -0
  50. data/lib/serverspec/type/docker_image.rb +4 -0
  51. data/lib/serverspec/type/file.rb +133 -0
  52. data/lib/serverspec/type/fstab.rb +11 -0
  53. data/lib/serverspec/type/group.rb +11 -0
  54. data/lib/serverspec/type/host.rb +21 -0
  55. data/lib/serverspec/type/iis_app_pool.rb +43 -0
  56. data/lib/serverspec/type/iis_website.rb +40 -0
  57. data/lib/serverspec/type/interface.rb +27 -0
  58. data/lib/serverspec/type/ip6tables.rb +13 -0
  59. data/lib/serverspec/type/ipfilter.rb +11 -0
  60. data/lib/serverspec/type/ipnat.rb +11 -0
  61. data/lib/serverspec/type/iptables.rb +11 -0
  62. data/lib/serverspec/type/kernel_module.rb +7 -0
  63. data/lib/serverspec/type/linux_audit_system.rb +45 -0
  64. data/lib/serverspec/type/linux_kernel_parameter.rb +10 -0
  65. data/lib/serverspec/type/lxc.rb +15 -0
  66. data/lib/serverspec/type/mail_alias.rb +7 -0
  67. data/lib/serverspec/type/mysql_config.rb +10 -0
  68. data/lib/serverspec/type/package.rb +66 -0
  69. data/lib/serverspec/type/php_config.rb +10 -0
  70. data/lib/serverspec/type/port.rb +40 -0
  71. data/lib/serverspec/type/ppa.rb +11 -0
  72. data/lib/serverspec/type/process.rb +27 -0
  73. data/lib/serverspec/type/routing_table.rb +11 -0
  74. data/lib/serverspec/type/selinux.rb +19 -0
  75. data/lib/serverspec/type/selinux_module.rb +11 -0
  76. data/lib/serverspec/type/service.rb +52 -0
  77. data/lib/serverspec/type/user.rb +43 -0
  78. data/lib/serverspec/type/windows_feature.rb +7 -0
  79. data/lib/serverspec/type/windows_hot_fix.rb +7 -0
  80. data/lib/serverspec/type/windows_registry_key.rb +19 -0
  81. data/lib/serverspec/type/windows_scheduled_task.rb +7 -0
  82. data/lib/serverspec/type/x509_certificate.rb +76 -0
  83. data/lib/serverspec/type/x509_private_key.rb +21 -0
  84. data/lib/serverspec/type/yumrepo.rb +11 -0
  85. data/lib/serverspec/type/zfs.rb +29 -0
  86. data/lib/serverspec/version.rb +3 -0
  87. data/serverspec.gemspec +28 -0
  88. data/spec/helper/type_spec.rb +6 -0
  89. data/spec/spec_helper.rb +28 -0
  90. data/spec/type/aix/file_spec.rb +31 -0
  91. data/spec/type/aix/group_spec.rb +7 -0
  92. data/spec/type/aix/package_spec.rb +7 -0
  93. data/spec/type/aix/port_spec.rb +20 -0
  94. data/spec/type/aix/service_spec.rb +12 -0
  95. data/spec/type/aix/user_spec.rb +16 -0
  96. data/spec/type/arch/file_spec.rb +15 -0
  97. data/spec/type/arch/package_spec.rb +19 -0
  98. data/spec/type/arch/service_spec.rb +9 -0
  99. data/spec/type/base/command_spec.rb +67 -0
  100. data/spec/type/base/cron_spec.rb +11 -0
  101. data/spec/type/base/default_gateway_spec.rb +11 -0
  102. data/spec/type/base/file_spec.rb +356 -0
  103. data/spec/type/base/group_spec.rb +11 -0
  104. data/spec/type/base/host_spec.rb +47 -0
  105. data/spec/type/base/mail_alias_spec.rb +7 -0
  106. data/spec/type/base/mysql_config_spec.rb +13 -0
  107. data/spec/type/base/package_spec.rb +51 -0
  108. data/spec/type/base/php_config_spec.rb +33 -0
  109. data/spec/type/base/port_spec.rb +34 -0
  110. data/spec/type/base/process_spec.rb +35 -0
  111. data/spec/type/base/routing_table_spec.rb +63 -0
  112. data/spec/type/base/service_spec.rb +49 -0
  113. data/spec/type/base/user_spec.rb +44 -0
  114. data/spec/type/darwin/file_spec.rb +41 -0
  115. data/spec/type/darwin/package_spec.rb +19 -0
  116. data/spec/type/darwin/port_spec.rb +27 -0
  117. data/spec/type/darwin/service_spec.rb +16 -0
  118. data/spec/type/debian/package_spec.rb +23 -0
  119. data/spec/type/debian/service_spec.rb +11 -0
  120. data/spec/type/fedora/service_spec.rb +15 -0
  121. data/spec/type/fedora15/service_spec.rb +15 -0
  122. data/spec/type/fedora20/service_spec.rb +15 -0
  123. data/spec/type/freebsd/file_spec.rb +29 -0
  124. data/spec/type/freebsd/package_spec.rb +19 -0
  125. data/spec/type/freebsd/port_spec.rb +27 -0
  126. data/spec/type/freebsd/service_spec.rb +8 -0
  127. data/spec/type/freebsd10/package_spec.rb +19 -0
  128. data/spec/type/gentoo/package_spec.rb +7 -0
  129. data/spec/type/gentoo/service_spec.rb +12 -0
  130. data/spec/type/linux/bond_spec.rb +12 -0
  131. data/spec/type/linux/bridge_spec.rb +12 -0
  132. data/spec/type/linux/cgroup_spec.rb +13 -0
  133. data/spec/type/linux/docker_container_pre_1_8_spec.rb +124 -0
  134. data/spec/type/linux/docker_container_spec.rb +126 -0
  135. data/spec/type/linux/docker_image_spec.rb +94 -0
  136. data/spec/type/linux/file_spec.rb +27 -0
  137. data/spec/type/linux/fstab_spec.rb +31 -0
  138. data/spec/type/linux/interface_spec.rb +30 -0
  139. data/spec/type/linux/ip6tables_spec.rb +19 -0
  140. data/spec/type/linux/iptables_spec.rb +11 -0
  141. data/spec/type/linux/kernel_module_spec.rb +7 -0
  142. data/spec/type/linux/linux_audit_system_spec.rb +139 -0
  143. data/spec/type/linux/linux_kernel_parameter_spec.rb +33 -0
  144. data/spec/type/linux/lxc_container_spec.rb +12 -0
  145. data/spec/type/linux/selinux_module_spec.rb +11 -0
  146. data/spec/type/linux/selinux_spec.rb +23 -0
  147. data/spec/type/linux/x509_certificate_spec.rb +62 -0
  148. data/spec/type/linux/x509_private_key_spec.rb +31 -0
  149. data/spec/type/linux/zfs_spec.rb +15 -0
  150. data/spec/type/nixos/package_spec.rb +15 -0
  151. data/spec/type/nixos/service_spec.rb +9 -0
  152. data/spec/type/openbsd/file_spec.rb +134 -0
  153. data/spec/type/openbsd/interface_spec.rb +21 -0
  154. data/spec/type/openbsd/mail_alias_spec.rb +7 -0
  155. data/spec/type/openbsd/package_spec.rb +11 -0
  156. data/spec/type/openbsd/port_spec.rb +7 -0
  157. data/spec/type/openbsd/service_spec.rb +13 -0
  158. data/spec/type/openbsd/user_spec.rb +12 -0
  159. data/spec/type/opensuse/service_spec.rb +16 -0
  160. data/spec/type/plamo/package_spec.rb +8 -0
  161. data/spec/type/plamo/service_spec.rb +8 -0
  162. data/spec/type/redhat/file_spec.rb +19 -0
  163. data/spec/type/redhat/package_spec.rb +23 -0
  164. data/spec/type/redhat/service_spec.rb +11 -0
  165. data/spec/type/redhat/yumrepo_spec.rb +11 -0
  166. data/spec/type/redhat5/iptables_spec.rb +11 -0
  167. data/spec/type/redhat7/service_spec.rb +9 -0
  168. data/spec/type/smartos/package_spec.rb +19 -0
  169. data/spec/type/smartos/service_spec.rb +16 -0
  170. data/spec/type/solaris/cron_spec.rb +11 -0
  171. data/spec/type/solaris/file_spec.rb +15 -0
  172. data/spec/type/solaris/group_spec.rb +7 -0
  173. data/spec/type/solaris/host_spec.rb +19 -0
  174. data/spec/type/solaris/ipfilter_spec.rb +7 -0
  175. data/spec/type/solaris/ipnat_spec.rb +7 -0
  176. data/spec/type/solaris/package_spec.rb +7 -0
  177. data/spec/type/solaris/port_spec.rb +34 -0
  178. data/spec/type/solaris/service_spec.rb +16 -0
  179. data/spec/type/solaris/user_spec.rb +16 -0
  180. data/spec/type/solaris/zfs_spec.rb +15 -0
  181. data/spec/type/solaris10/file_spec.rb +313 -0
  182. data/spec/type/solaris10/group_spec.rb +8 -0
  183. data/spec/type/solaris10/host_spec.rb +16 -0
  184. data/spec/type/solaris10/package_spec.rb +8 -0
  185. data/spec/type/solaris10/user_spec.rb +8 -0
  186. data/spec/type/suse/package_spec.rb +23 -0
  187. data/spec/type/suse/service_spec.rb +11 -0
  188. data/spec/type/ubuntu/ppa_spec.rb +11 -0
  189. data/spec/type/ubuntu/service_spec.rb +7 -0
  190. data/spec/type/windows/command_spec.rb +64 -0
  191. data/spec/type/windows/feature_spec.rb +17 -0
  192. data/spec/type/windows/file_spec.rb +120 -0
  193. data/spec/type/windows/group_spec.rb +23 -0
  194. data/spec/type/windows/host_spec.rb +32 -0
  195. data/spec/type/windows/hot_fix_spec.rb +22 -0
  196. data/spec/type/windows/iis_app_pool_spec.rb +17 -0
  197. data/spec/type/windows/iis_webisite_spec.rb +16 -0
  198. data/spec/type/windows/package_spec.rb +10 -0
  199. data/spec/type/windows/port_spec.rb +25 -0
  200. data/spec/type/windows/registry_key_spec.rb +58 -0
  201. data/spec/type/windows/scheduled_task_spec.rb +9 -0
  202. data/spec/type/windows/service_spec.rb +30 -0
  203. data/spec/type/windows/user_spec.rb +33 -0
  204. data/wercker.yml +1 -0
  205. metadata +450 -0
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'base'
4
+
5
+ describe group('root') do
6
+ it { should exist }
7
+ end
8
+
9
+ describe group('root') do
10
+ it { should have_gid 0 }
11
+ end
@@ -0,0 +1,47 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'base'
4
+
5
+ describe host('127.0.0.1') do
6
+ it { should be_resolvable }
7
+ end
8
+
9
+ describe host('127.0.0.1') do
10
+ it { should be_resolvable.by('hosts') }
11
+ end
12
+
13
+ describe host('127.0.0.1') do
14
+ it { should be_resolvable.by('dns') }
15
+ end
16
+
17
+ describe host('127.0.0.1') do
18
+ it { should be_reachable }
19
+ end
20
+
21
+ describe host('127.0.0.1') do
22
+ it { should be_reachable.with(:proto => "icmp", :timeout=> 1) }
23
+ end
24
+
25
+ describe host('127.0.0.1') do
26
+ it { should be_reachable.with(:proto => "tcp", :port => 22, :timeout=> 1) }
27
+ end
28
+
29
+ describe host('127.0.0.1') do
30
+ it { should be_reachable.with(:proto => "udp", :port => 53, :timeout=> 1) }
31
+ end
32
+
33
+ describe host('example.jp') do
34
+ let(:stdout) { "1.2.3.4\r\n" }
35
+ its(:ipaddress) { should eq '1.2.3.4' }
36
+ end
37
+
38
+ describe host('example.jp') do
39
+ let(:stdout) { "1.2.3.4\r\n" }
40
+ its(:ipv4_address) { should match(/^[\d.]+$/) }
41
+ end
42
+
43
+ describe host('example.jp') do
44
+ let(:stdout) { "2001:db8::1234\r\n" }
45
+ its(:ipv6_address) { should match(/^[a-f\d:]+$/i) }
46
+ end
47
+
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'base'
4
+
5
+ describe mail_alias('daemon') do
6
+ it { should be_aliased_to "root" }
7
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'base'
4
+
5
+ describe mysql_config('innodb-buffer-pool-size') do
6
+ let(:stdout) { 'innodb-buffer-pool-size 134217728' }
7
+ its(:value) { should eq 134217728 }
8
+ end
9
+
10
+ describe mysql_config('socket') do
11
+ let(:stdout) { 'socket /tmp/mysql.sock' }
12
+ its(:value) { should eq '/tmp/mysql.sock' }
13
+ end
@@ -0,0 +1,51 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'base'
4
+
5
+ describe package('jekyll') do
6
+ it { should be_installed.by(:gem) }
7
+ end
8
+
9
+ describe package('jekyll') do
10
+ it { should be_installed.by(:gem).with_version('1.1.1') }
11
+ end
12
+
13
+ describe package('ruby') do
14
+ it { should be_installed.by(:rvm) }
15
+ end
16
+
17
+ describe package('ruby') do
18
+ it { should be_installed.by(:rvm).with_version('2.2.0') }
19
+ end
20
+
21
+ describe package('bower') do
22
+ it { should be_installed.by(:npm) }
23
+ end
24
+
25
+ describe package('bower') do
26
+ it { should be_installed.by(:npm).with_version('0.9.2') }
27
+ end
28
+
29
+ describe package('mongo') do
30
+ it { should be_installed.by(:pecl) }
31
+ end
32
+
33
+ describe package('mongo') do
34
+ it { should be_installed.by(:pecl).with_version('1.4.1') }
35
+ end
36
+
37
+ describe package('XML_Util') do
38
+ it { should be_installed.by(:pear).with_version('1.2.1') }
39
+ end
40
+
41
+ describe package('supervisor') do
42
+ it { should be_installed.by(:pip).with_version('3.0') }
43
+ end
44
+
45
+ describe package('App::Ack') do
46
+ it { should be_installed.by(:cpan) }
47
+ end
48
+
49
+ describe package('App::Ack') do
50
+ it { should be_installed.by(:cpan).with_version('2.04') }
51
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'base'
4
+
5
+ describe php_config('default_mimetype') do
6
+ let(:stdout) { 'text/html' }
7
+ its(:value) { should eq 'text/html' }
8
+ end
9
+
10
+ describe php_config('default_mimetype') do
11
+ let(:stdout) { 'text/html' }
12
+ its(:value) { should_not eq 'text/plain' }
13
+ end
14
+
15
+ describe php_config('session.cache_expire') do
16
+ let(:stdout) { '180' }
17
+ its(:value) { should eq 180 }
18
+ end
19
+
20
+ describe php_config('session.cache_expire') do
21
+ let(:stdout) { '180' }
22
+ its(:value) { should_not eq 360 }
23
+ end
24
+
25
+ describe php_config('mbstring.http_output_conv_mimetypes') do
26
+ let(:stdout) { 'application' }
27
+ its(:value) { should match /application/ }
28
+ end
29
+
30
+ describe php_config('mbstring.http_output_conv_mimetypes') do
31
+ let(:stdout) { 'application' }
32
+ its(:value) { should_not match /html/ }
33
+ end
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'base'
4
+
5
+ describe port(80) do
6
+ it { should be_listening }
7
+ end
8
+
9
+ describe port(80) do
10
+ it { should be_listening.with('tcp') }
11
+ end
12
+
13
+ describe port(80) do
14
+ it do
15
+ expect {
16
+ should be_listening.with('not implemented')
17
+ }.to raise_error(ArgumentError, %r/\A`be_listening` matcher doesn\'t support/)
18
+ end
19
+ end
20
+
21
+ describe port(80) do
22
+ it { should be_listening.on('127.0.0.1') }
23
+ end
24
+
25
+ describe port(80) do
26
+ it do
27
+ expect{ should be_listening.on('') }.to raise_error(ArgumentError)
28
+ end
29
+ end
30
+
31
+ describe port(53) do
32
+ it { should be_listening.with('udp') }
33
+ end
34
+
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'base'
4
+
5
+ describe process("memcached") do
6
+ let(:stdout) { " 1407\n" }
7
+ its(:pid) { should eq 1407 }
8
+ end
9
+
10
+ describe process("memcached") do
11
+ let(:stdout) { "/usr/bin/memcached -m 14386 -p 11211 -u nobody -l 10.11.1.53 -c 30000\n" }
12
+ its(:args) { should match /-c 30000\b/ }
13
+ end
14
+
15
+ describe process("memcached") do
16
+ let(:stdout) { "nobody\n" }
17
+ its(:user) { should eq "nobody" }
18
+ end
19
+
20
+ describe process("memcached") do
21
+ let(:stdout) { "nobody\n" }
22
+ its(:group) { should eq "nobody" }
23
+ end
24
+
25
+ describe process("memcached") do
26
+ context "when running" do
27
+ let(:stdout) { " 1407\n" }
28
+ it { should be_running }
29
+ end
30
+
31
+ context "when not running" do
32
+ let(:stdout) { " 1407\n" }
33
+ it { should be_running }
34
+ end
35
+ end
@@ -0,0 +1,63 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'base'
4
+
5
+ describe routing_table do
6
+ let(:stdout) { "192.168.100.0/24 dev eth1 proto kernel scope link src 192.168.100.10 \r\n" }
7
+ it { should have_entry( :destination => '192.168.100.0/24' ) }
8
+ end
9
+
10
+ describe routing_table do
11
+ let(:exit_status) { 1 }
12
+ it { should_not have_entry( :destination => '192.168.100.100/24' ) }
13
+ end
14
+
15
+ describe routing_table do
16
+ let(:stdout) { "192.168.100.0/24 dev eth1 proto kernel scope link src 192.168.100.10 \r\n" }
17
+ it do
18
+ should have_entry(
19
+ :destination => '192.168.100.0/24',
20
+ :interface => 'eth1'
21
+ )
22
+ end
23
+ end
24
+
25
+ describe routing_table do
26
+ let(:stdout) { "192.168.200.0/24 via 192.168.200.1 dev eth0 \r\n" }
27
+ it { should have_entry( :destination => '192.168.200.0/24' ) }
28
+
29
+ it do
30
+ should have_entry(
31
+ :destination => '192.168.200.0/24',
32
+ :gateway => '192.168.200.1'
33
+ )
34
+ end
35
+
36
+ it do
37
+ should have_entry(
38
+ :destination => '192.168.200.0/24',
39
+ :gateway => '192.168.200.1',
40
+ :interface => 'eth0'
41
+ )
42
+ end
43
+ end
44
+
45
+ describe routing_table do
46
+ let(:stdout) { "default via 10.0.2.2 dev eth0 \r\n" }
47
+ it { should have_entry( :destination => 'default' ) }
48
+
49
+ it do
50
+ should have_entry(
51
+ :destination => 'default',
52
+ :gateway => '10.0.2.2'
53
+ )
54
+ end
55
+
56
+ it do
57
+ should have_entry(
58
+ :destination => 'default',
59
+ :gateway => '10.0.2.2',
60
+ :interface => 'eth0'
61
+ )
62
+ end
63
+ end
@@ -0,0 +1,49 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'base'
4
+
5
+ describe service('sshd') do
6
+ it { should be_running }
7
+ end
8
+
9
+ describe service('sshd') do
10
+ let(:stdout) { "sshd is stopped\r\n" }
11
+ it { should be_running }
12
+ end
13
+
14
+ describe service('sshd') do
15
+ it { should be_running.under(:supervisor) }
16
+ end
17
+
18
+ describe service('sshd') do
19
+ it { should be_running.under(:upstart) }
20
+ end
21
+
22
+ describe service('sshd') do
23
+ it { should be_running.under(:daemontools) }
24
+ end
25
+
26
+ describe service('sshd') do
27
+ it {
28
+ expect {
29
+ should be_running.under('not implemented')
30
+ }.to raise_exception
31
+ }
32
+ end
33
+
34
+ describe service('sshd') do
35
+ let(:stdout) { "Process 'sshd'\r\n status running\r\n monitoring status monitored" }
36
+ it { should be_monitored_by(:monit) }
37
+ end
38
+
39
+ describe service('unicorn') do
40
+ it { should be_monitored_by(:god) }
41
+ end
42
+
43
+ describe service('sshd') do
44
+ it {
45
+ expect {
46
+ should be_monitored_by('not implemented')
47
+ }.to raise_exception
48
+ }
49
+ end
@@ -0,0 +1,44 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'base'
4
+
5
+ describe user('root') do
6
+ it { should exist }
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 belong_to_primary_group 'root' }
15
+ end
16
+
17
+ describe user('root') do
18
+ it { should have_uid 0 }
19
+ end
20
+
21
+ describe user('root') do
22
+ it { should have_login_shell '/bin/bash' }
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 have_authorized_key 'ssh-rsa ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGH foo@bar.local' }
31
+ end
32
+
33
+ describe user('root') do
34
+ let(:stdout) { "$1$T0aTw9NJ$NdMldLUQ8WqhlEEGToNzl/\n" }
35
+ its(:encrypted_password) { should eq '$1$T0aTw9NJ$NdMldLUQ8WqhlEEGToNzl/' }
36
+ end
37
+
38
+ describe user('root') do
39
+ its(:minimum_days_between_password_change) { should == 0 }
40
+ end
41
+
42
+ describe user('root') do
43
+ its(:maximum_days_between_password_change) { should == 0 }
44
+ end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'darwin'
4
+
5
+ describe file('/tmp') do
6
+ it { should be_readable.by_user('mail') }
7
+ end
8
+
9
+ describe file('/tmp') do
10
+ it { should be_writable.by_user('mail') }
11
+ end
12
+
13
+ describe file('/tmp') do
14
+ it { should be_executable.by_user('mail') }
15
+ end
16
+
17
+ describe file('/etc/services') do
18
+ let(:stdout) { "35435ea447c19f0ea5ef971837ab9ced\n" }
19
+ its(:md5sum) { should eq '35435ea447c19f0ea5ef971837ab9ced' }
20
+ end
21
+
22
+ describe file('/etc/services') do
23
+ let(:stdout) {"0c3feee1353a8459f8c7d84885e6bc602ef853751ffdbce3e3b6dfa1d345fc7a" }
24
+ its(:sha256sum) { should eq '0c3feee1353a8459f8c7d84885e6bc602ef853751ffdbce3e3b6dfa1d345fc7a' }
25
+ end
26
+
27
+ describe file('/etc/pam.d/system-auth') do
28
+ it { should be_linked_to '/etc/pam.d/system-auth-ac' }
29
+ end
30
+
31
+ describe file('/etc/passwd') do
32
+ it { should be_mode 644 }
33
+ end
34
+
35
+ describe file('/etc/passwd') do
36
+ it { should be_owned_by 'root' }
37
+ end
38
+
39
+ describe file('/etc/passwd') do
40
+ it { should be_grouped_into 'root' }
41
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'darwin'
4
+
5
+ describe package('httpd') do
6
+ it { should be_installed }
7
+ end
8
+
9
+ describe package('httpd') do
10
+ it { should be_installed.with_version('2.2.15-28.el6') }
11
+ end
12
+
13
+ describe package('httpd') do
14
+ it { should be_installed.by('homebrew') }
15
+ end
16
+
17
+ describe package('httpd') do
18
+ it { should be_installed.by('pkgutil') }
19
+ end