serverspec 1.16.0 → 2.0.0.beta1

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 (246) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -2
  3. data/Rakefile +20 -25
  4. data/lib/serverspec.rb +0 -3
  5. data/lib/serverspec/helper/os.rb +0 -3
  6. data/lib/serverspec/helper/type.rb +3 -3
  7. data/lib/serverspec/matchers.rb +1 -7
  8. data/lib/serverspec/matchers/have_rule.rb +1 -1
  9. data/lib/serverspec/setup.rb +12 -11
  10. data/lib/serverspec/type/file.rb +0 -15
  11. data/lib/serverspec/type/iis_app_pool.rb +0 -28
  12. data/lib/serverspec/type/iis_website.rb +0 -12
  13. data/lib/serverspec/type/interface.rb +0 -3
  14. data/lib/serverspec/type/user.rb +0 -4
  15. data/lib/serverspec/version.rb +1 -1
  16. data/serverspec.gemspec +4 -3
  17. data/wercker.yml +9 -9
  18. metadata +36 -471
  19. data/lib/serverspec/matchers/belong_to_primary_group.rb +0 -5
  20. data/lib/serverspec/matchers/have_site_application.rb +0 -18
  21. data/lib/serverspec/matchers/have_site_bindings.rb +0 -22
  22. data/lib/serverspec/matchers/have_virtual_dir.rb +0 -14
  23. data/lib/serverspec/type/ip6tables.rb +0 -13
  24. data/lib/serverspec/type/ppa.rb +0 -13
  25. data/lib/serverspec/type/windows_scheduled_task.rb +0 -9
  26. data/spec/aix/command_spec.rb +0 -65
  27. data/spec/aix/cron_spec.rb +0 -21
  28. data/spec/aix/default_gateway_spec.rb +0 -16
  29. data/spec/aix/file_spec.rb +0 -404
  30. data/spec/aix/group_spec.rb +0 -21
  31. data/spec/aix/host_spec.rb +0 -58
  32. data/spec/aix/package_spec.rb +0 -100
  33. data/spec/aix/php_config_spec.rb +0 -36
  34. data/spec/aix/port_spec.rb +0 -30
  35. data/spec/aix/process_spec.rb +0 -29
  36. data/spec/aix/routing_table_spec.rb +0 -120
  37. data/spec/aix/service_spec.rb +0 -93
  38. data/spec/aix/user_spec.rb +0 -57
  39. data/spec/arch/file_spec.rb +0 -413
  40. data/spec/arch/package_spec.rb +0 -100
  41. data/spec/arch/service_spec.rb +0 -84
  42. data/spec/backend/cmd/configuration_spec.rb +0 -9
  43. data/spec/backend/exec/configuration_spec.rb +0 -61
  44. data/spec/backend/powershell/script_helper_spec.rb +0 -105
  45. data/spec/backend/ssh/configuration_spec.rb +0 -184
  46. data/spec/backend/winrm/configuration_spec.rb +0 -9
  47. data/spec/darwin/command_spec.rb +0 -65
  48. data/spec/darwin/cron_spec.rb +0 -21
  49. data/spec/darwin/default_gateway_spec.rb +0 -16
  50. data/spec/darwin/file_spec.rb +0 -413
  51. data/spec/darwin/group_spec.rb +0 -21
  52. data/spec/darwin/host_spec.rb +0 -58
  53. data/spec/darwin/mail_alias_spec.rb +0 -12
  54. data/spec/darwin/package_spec.rb +0 -82
  55. data/spec/darwin/php_config_spec.rb +0 -36
  56. data/spec/darwin/port_spec.rb +0 -30
  57. data/spec/darwin/process_spec.rb +0 -29
  58. data/spec/darwin/routing_table_spec.rb +0 -120
  59. data/spec/darwin/service_spec.rb +0 -91
  60. data/spec/darwin/user_spec.rb +0 -57
  61. data/spec/debian/cgroup_spec.rb +0 -14
  62. data/spec/debian/command_spec.rb +0 -65
  63. data/spec/debian/cron_spec.rb +0 -21
  64. data/spec/debian/default_gateway_spec.rb +0 -16
  65. data/spec/debian/file_spec.rb +0 -413
  66. data/spec/debian/group_spec.rb +0 -22
  67. data/spec/debian/host_spec.rb +0 -58
  68. data/spec/debian/interface_spec.rb +0 -24
  69. data/spec/debian/ip6tables_spec.rb +0 -21
  70. data/spec/debian/iptables_spec.rb +0 -21
  71. data/spec/debian/kernel_module_spec.rb +0 -12
  72. data/spec/debian/linux_kernel_parameter_spec.rb +0 -36
  73. data/spec/debian/lxc_spec.rb +0 -22
  74. data/spec/debian/mail_alias_spec.rb +0 -12
  75. data/spec/debian/package_spec.rb +0 -130
  76. data/spec/debian/php_config_spec.rb +0 -36
  77. data/spec/debian/port_spec.rb +0 -40
  78. data/spec/debian/process_spec.rb +0 -29
  79. data/spec/debian/routing_table_spec.rb +0 -120
  80. data/spec/debian/selinux_spec.rb +0 -18
  81. data/spec/debian/service_spec.rb +0 -93
  82. data/spec/debian/user_spec.rb +0 -57
  83. data/spec/debian/zfs_spec.rb +0 -18
  84. data/spec/fedora/cgroup_spec.rb +0 -14
  85. data/spec/fedora/command_spec.rb +0 -67
  86. data/spec/fedora/cron_spec.rb +0 -21
  87. data/spec/fedora/default_gateway_spec.rb +0 -16
  88. data/spec/fedora/file_spec.rb +0 -413
  89. data/spec/fedora/group_spec.rb +0 -21
  90. data/spec/fedora/host_spec.rb +0 -58
  91. data/spec/fedora/interface_spec.rb +0 -24
  92. data/spec/fedora/ip6tables_spec.rb +0 -21
  93. data/spec/fedora/iptables_spec.rb +0 -21
  94. data/spec/fedora/kernel_module_spec.rb +0 -12
  95. data/spec/fedora/linux_kernel_parameter_spec.rb +0 -36
  96. data/spec/fedora/lxc_spec.rb +0 -22
  97. data/spec/fedora/mail_alias_spec.rb +0 -12
  98. data/spec/fedora/package_spec.rb +0 -118
  99. data/spec/fedora/php_config_spec.rb +0 -36
  100. data/spec/fedora/port_spec.rb +0 -30
  101. data/spec/fedora/process_spec.rb +0 -41
  102. data/spec/fedora/routing_table_spec.rb +0 -120
  103. data/spec/fedora/selinux_spec.rb +0 -18
  104. data/spec/fedora/user_spec.rb +0 -57
  105. data/spec/fedora/yumrepo_spec.rb +0 -25
  106. data/spec/fedora/zfs_spec.rb +0 -18
  107. data/spec/freebsd/command_spec.rb +0 -65
  108. data/spec/freebsd/cron_spec.rb +0 -21
  109. data/spec/freebsd/default_gateway_spec.rb +0 -16
  110. data/spec/freebsd/file_spec.rb +0 -385
  111. data/spec/freebsd/group_spec.rb +0 -21
  112. data/spec/freebsd/host_spec.rb +0 -58
  113. data/spec/freebsd/package_spec.rb +0 -96
  114. data/spec/freebsd/php_config_spec.rb +0 -36
  115. data/spec/freebsd/port_spec.rb +0 -30
  116. data/spec/freebsd/process_spec.rb +0 -29
  117. data/spec/freebsd/routing_table_spec.rb +0 -120
  118. data/spec/freebsd/service_spec.rb +0 -93
  119. data/spec/freebsd/user_spec.rb +0 -57
  120. data/spec/freebsd10/package_spec.rb +0 -13
  121. data/spec/gentoo/cgroup_spec.rb +0 -14
  122. data/spec/gentoo/command_spec.rb +0 -65
  123. data/spec/gentoo/cron_spec.rb +0 -21
  124. data/spec/gentoo/default_gateway_spec.rb +0 -16
  125. data/spec/gentoo/file_spec.rb +0 -413
  126. data/spec/gentoo/group_spec.rb +0 -21
  127. data/spec/gentoo/host_spec.rb +0 -58
  128. data/spec/gentoo/interface_spec.rb +0 -24
  129. data/spec/gentoo/ip6tables_spec.rb +0 -21
  130. data/spec/gentoo/iptables_spec.rb +0 -21
  131. data/spec/gentoo/kernel_module_spec.rb +0 -12
  132. data/spec/gentoo/linux_kernel_parameter_spec.rb +0 -36
  133. data/spec/gentoo/lxc_spec.rb +0 -22
  134. data/spec/gentoo/mail_alias_spec.rb +0 -12
  135. data/spec/gentoo/package_spec.rb +0 -91
  136. data/spec/gentoo/php_config_spec.rb +0 -36
  137. data/spec/gentoo/port_spec.rb +0 -30
  138. data/spec/gentoo/process_spec.rb +0 -29
  139. data/spec/gentoo/routing_table_spec.rb +0 -120
  140. data/spec/gentoo/selinux_spec.rb +0 -18
  141. data/spec/gentoo/service_spec.rb +0 -93
  142. data/spec/gentoo/user_spec.rb +0 -57
  143. data/spec/gentoo/zfs_spec.rb +0 -18
  144. data/spec/nixos/file_spec.rb +0 -421
  145. data/spec/nixos/package_spec.rb +0 -109
  146. data/spec/nixos/service_spec.rb +0 -40
  147. data/spec/plamo/cgroup_spec.rb +0 -14
  148. data/spec/plamo/command_spec.rb +0 -65
  149. data/spec/plamo/cron_spec.rb +0 -21
  150. data/spec/plamo/default_gateway_spec.rb +0 -16
  151. data/spec/plamo/file_spec.rb +0 -413
  152. data/spec/plamo/group_spec.rb +0 -22
  153. data/spec/plamo/host_spec.rb +0 -58
  154. data/spec/plamo/interface_spec.rb +0 -24
  155. data/spec/plamo/ip6tables_spec.rb +0 -21
  156. data/spec/plamo/iptables_spec.rb +0 -21
  157. data/spec/plamo/kernel_module_spec.rb +0 -12
  158. data/spec/plamo/linux_kernel_parameter_spec.rb +0 -36
  159. data/spec/plamo/lxc_spec.rb +0 -22
  160. data/spec/plamo/mail_alias_spec.rb +0 -12
  161. data/spec/plamo/package_spec.rb +0 -100
  162. data/spec/plamo/php_config_spec.rb +0 -36
  163. data/spec/plamo/port_spec.rb +0 -30
  164. data/spec/plamo/routing_table_spec.rb +0 -120
  165. data/spec/plamo/selinux_spec.rb +0 -18
  166. data/spec/plamo/service_spec.rb +0 -84
  167. data/spec/plamo/user_spec.rb +0 -57
  168. data/spec/plamo/zfs_spec.rb +0 -18
  169. data/spec/redhat/cgroup_spec.rb +0 -14
  170. data/spec/redhat/command_spec.rb +0 -67
  171. data/spec/redhat/cron_spec.rb +0 -21
  172. data/spec/redhat/default_gateway_spec.rb +0 -16
  173. data/spec/redhat/file_spec.rb +0 -418
  174. data/spec/redhat/group_spec.rb +0 -21
  175. data/spec/redhat/host_spec.rb +0 -64
  176. data/spec/redhat/interface_spec.rb +0 -24
  177. data/spec/redhat/ip6tables_spec.rb +0 -21
  178. data/spec/redhat/iptables_spec.rb +0 -21
  179. data/spec/redhat/kernel_module_spec.rb +0 -12
  180. data/spec/redhat/linux_kernel_parameter_spec.rb +0 -36
  181. data/spec/redhat/lxc_spec.rb +0 -22
  182. data/spec/redhat/mail_alias_spec.rb +0 -12
  183. data/spec/redhat/package_spec.rb +0 -118
  184. data/spec/redhat/php_config_spec.rb +0 -36
  185. data/spec/redhat/port_spec.rb +0 -30
  186. data/spec/redhat/process_spec.rb +0 -41
  187. data/spec/redhat/routing_table_spec.rb +0 -120
  188. data/spec/redhat/selinux_spec.rb +0 -18
  189. data/spec/redhat/service_spec.rb +0 -93
  190. data/spec/redhat/user_spec.rb +0 -57
  191. data/spec/redhat/yumrepo_spec.rb +0 -25
  192. data/spec/redhat/zfs_spec.rb +0 -18
  193. data/spec/redhat7/service_spec.rb +0 -21
  194. data/spec/smartos/mail_alias_spec.rb +0 -12
  195. data/spec/smartos/process_spec.rb +0 -29
  196. data/spec/solaris/command_spec.rb +0 -65
  197. data/spec/solaris/cron_spec.rb +0 -21
  198. data/spec/solaris/default_gateway_spec.rb +0 -16
  199. data/spec/solaris/file_spec.rb +0 -413
  200. data/spec/solaris/group_spec.rb +0 -21
  201. data/spec/solaris/host_spec.rb +0 -58
  202. data/spec/solaris/ipfilter_spec.rb +0 -8
  203. data/spec/solaris/ipnat_spec.rb +0 -8
  204. data/spec/solaris/mail_alias_spec.rb +0 -12
  205. data/spec/solaris/package_spec.rb +0 -100
  206. data/spec/solaris/php_config_spec.rb +0 -36
  207. data/spec/solaris/port_spec.rb +0 -30
  208. data/spec/solaris/process_spec.rb +0 -29
  209. data/spec/solaris/routing_table_spec.rb +0 -120
  210. data/spec/solaris/service_spec.rb +0 -93
  211. data/spec/solaris/svcprop_spec.rb +0 -13
  212. data/spec/solaris/user_spec.rb +0 -57
  213. data/spec/solaris/zfs_spec.rb +0 -18
  214. data/spec/solaris10/file_spec.rb +0 -395
  215. data/spec/solaris10/group_spec.rb +0 -21
  216. data/spec/solaris10/mail_alias_spec.rb +0 -12
  217. data/spec/solaris10/package_spec.rb +0 -85
  218. data/spec/solaris10/php_config_spec.rb +0 -36
  219. data/spec/solaris10/user_spec.rb +0 -57
  220. data/spec/solaris11/command_spec.rb +0 -65
  221. data/spec/solaris11/cron_spec.rb +0 -21
  222. data/spec/solaris11/default_gateway_spec.rb +0 -16
  223. data/spec/solaris11/file_spec.rb +0 -413
  224. data/spec/solaris11/group_spec.rb +0 -21
  225. data/spec/solaris11/host_spec.rb +0 -58
  226. data/spec/solaris11/ipfilter_spec.rb +0 -8
  227. data/spec/solaris11/ipnat_spec.rb +0 -8
  228. data/spec/solaris11/mail_alias_spec.rb +0 -12
  229. data/spec/solaris11/package_spec.rb +0 -100
  230. data/spec/solaris11/php_config_spec.rb +0 -36
  231. data/spec/solaris11/port_spec.rb +0 -12
  232. data/spec/solaris11/routing_table_spec.rb +0 -120
  233. data/spec/solaris11/service_spec.rb +0 -93
  234. data/spec/solaris11/svcprop_spec.rb +0 -13
  235. data/spec/solaris11/user_spec.rb +0 -57
  236. data/spec/solaris11/zfs_spec.rb +0 -18
  237. data/spec/support/powershell_command_runner.rb +0 -52
  238. data/spec/ubuntu/ppa_spec.rb +0 -25
  239. data/spec/windows/command_spec.rb +0 -67
  240. data/spec/windows/file_spec.rb +0 -161
  241. data/spec/windows/group_spec.rb +0 -28
  242. data/spec/windows/port_spec.rb +0 -31
  243. data/spec/windows/service_spec.rb +0 -31
  244. data/spec/windows/user_spec.rb +0 -44
  245. data/spec/windows/windows_hot_fix_spec.rb +0 -25
  246. data/spec/windows/windows_registry_key_spec.rb +0 -66
@@ -1,18 +0,0 @@
1
- require 'spec_helper'
2
-
3
- include SpecInfra::Helper::Plamo
4
-
5
- describe selinux do
6
- it { should be_enforcing }
7
- its(:command) { should eq "getenforce | grep -i -- enforcing && grep -i -- ^SELINUX=enforcing$ /etc/selinux/config" }
8
- end
9
-
10
- describe selinux do
11
- it { should be_permissive }
12
- its(:command) { should eq "getenforce | grep -i -- permissive && grep -i -- ^SELINUX=permissive$ /etc/selinux/config" }
13
- end
14
-
15
- describe selinux do
16
- it { should be_disabled }
17
- its(:command) { should eq "test ! -f /etc/selinux/config || (getenforce | grep -i -- disabled && grep -i -- ^SELINUX=disabled$ /etc/selinux/config)" }
18
- end
@@ -1,84 +0,0 @@
1
- require 'spec_helper'
2
-
3
- include SpecInfra::Helper::Plamo
4
-
5
- describe service('sshd') do
6
- it { should be_enabled }
7
- its(:command) { should eq "test -x /etc/rc.d/init.d/sshd" }
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
- its(:command) { should eq "test -x /etc/rc.d/init.d/sshd" }
17
- end
18
-
19
- describe service('invalid-service') do
20
- it { should_not be_enabled.with_level(4) }
21
- end
22
-
23
- describe service('sshd') do
24
- let(:stdout) { "sshd is stopped\r\n" }
25
- it { should be_running }
26
- end
27
-
28
- describe service('sshd') do
29
- it { should be_running.under('supervisor') }
30
- its(:command) { should eq "supervisorctl status sshd | grep RUNNING" }
31
- end
32
-
33
- describe service('invalid-daemon') do
34
- it { should_not be_running.under('supervisor') }
35
- end
36
-
37
- describe service('sshd') do
38
- it { should be_running.under('upstart') }
39
- its(:command) { should eq "initctl status sshd | grep running" }
40
- end
41
-
42
- describe service('invalid-daemon') do
43
- it { should_not be_running.under('upstart') }
44
- end
45
-
46
- describe service('sshd') do
47
- it {
48
- expect {
49
- should be_running.under('not implemented')
50
- }.to raise_error(ArgumentError, %r/\A`be_running` matcher doesn\'t support/)
51
- }
52
- end
53
-
54
- describe service('sshd') do
55
- let(:stdout) { "Process 'sshd'\r\n status running\r\n monitoring status monitored" }
56
- it { should be_monitored_by('monit') }
57
- its(:command) { should eq "monit status" }
58
- end
59
-
60
- describe service('sshd') do
61
- let(:stdout) { "Process 'sshd'\r\n status not monitored\r\n monitoring status not monitored" }
62
- it { should_not be_monitored_by('monit') }
63
- end
64
-
65
- describe service('invalid-daemon') do
66
- it { should_not be_monitored_by('monit') }
67
- end
68
-
69
- describe service('unicorn') do
70
- it { should be_monitored_by('god') }
71
- its(:command) { should eq "god status unicorn" }
72
- end
73
-
74
- describe service('invalid-daemon') do
75
- it { should_not be_monitored_by('god') }
76
- end
77
-
78
- describe service('sshd') do
79
- it {
80
- expect {
81
- should be_monitored_by('not implemented')
82
- }.to raise_error(ArgumentError, %r/\A`be_monitored_by` matcher doesn\'t support/)
83
- }
84
- end
@@ -1,57 +0,0 @@
1
- require 'spec_helper'
2
-
3
- include SpecInfra::Helper::Plamo
4
-
5
- describe user('root') do
6
- it { should exist }
7
- its(:command) { should eq "id root" }
8
- end
9
-
10
- describe user('invalid-user') do
11
- it { should_not exist }
12
- end
13
-
14
- describe user('root') do
15
- it { should belong_to_group 'root' }
16
- its(:command) { should eq "id root | awk '{print $3}' | grep -- root" }
17
- end
18
-
19
- describe user('root') do
20
- it { should_not belong_to_group 'invalid-group' }
21
- end
22
-
23
- describe user('root') do
24
- it { should have_uid 0 }
25
- its(:command) { should eq "id root | grep -- \\^uid\\=0\\(" }
26
- end
27
-
28
- describe user('root') do
29
- it { should_not have_uid 'invalid-uid' }
30
- end
31
-
32
- describe user('root') do
33
- it { should have_login_shell '/bin/bash' }
34
- its(:command) { should eq "getent passwd root | cut -f 7 -d ':' | grep -w -- /bin/bash" }
35
- end
36
-
37
- describe user('root') do
38
- it { should_not have_login_shell 'invalid-login-shell' }
39
- end
40
-
41
- describe user('root') do
42
- it { should have_home_directory '/root' }
43
- its(:command) { should eq "getent passwd root | cut -f 6 -d ':' | grep -w -- /root" }
44
- end
45
-
46
- describe user('root') do
47
- it { should_not have_home_directory 'invalid-home-directory' }
48
- end
49
-
50
- describe user('root') do
51
- it { should have_authorized_key 'ssh-rsa ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGH foo@bar.local' }
52
- its(:command) { should eq "grep -w -- ssh-rsa\\ ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGH ~root/.ssh/authorized_keys" }
53
- end
54
-
55
- describe user('root') do
56
- it { should_not have_authorized_key 'invalid-key' }
57
- end
@@ -1,18 +0,0 @@
1
- require 'spec_helper'
2
-
3
- include SpecInfra::Helper::Plamo
4
-
5
- describe zfs('rpool') do
6
- it { should exist }
7
- its(:command) { should eq "zfs list -H rpool" }
8
- end
9
-
10
- describe zfs('rpool') do
11
- it { should have_property 'mountpoint' => '/rpool' }
12
- its(:command) { should eq "zfs list -H -o mountpoint rpool | grep -- \\^/rpool\\$" }
13
- end
14
-
15
- describe zfs('rpool') do
16
- it { should have_property 'mountpoint' => '/rpool', 'compression' => 'off' }
17
- its(:command) { should eq "zfs list -H -o compression rpool | grep -- \\^off\\$ && zfs list -H -o mountpoint rpool | grep -- \\^/rpool\\$" }
18
- end
@@ -1,14 +0,0 @@
1
- require 'spec_helper'
2
-
3
- include SpecInfra::Helper::RedHat
4
-
5
- describe cgroup('group1') do
6
- let(:stdout) { "1\r\n" }
7
- its('cpuset.cpus') { should eq 1 }
8
- its(:command) { should eq "cgget -n -r cpuset.cpus group1 | awk '{print $2}'" }
9
- end
10
-
11
- describe cgroup('group1') do
12
- let(:stdout) { "1\r\n" }
13
- its('cpuset.cpus') { should_not eq 0 }
14
- end
@@ -1,67 +0,0 @@
1
- require 'spec_helper'
2
-
3
- include SpecInfra::Helper::RedHat
4
-
5
- =begin
6
- describe command('cat /etc/resolv.conf') do
7
- let(:stdout) { "nameserver 127.0.0.1\r\n" }
8
- it { should return_stdout("nameserver 127.0.0.1") }
9
- its(:command) { should eq 'cat /etc/resolv.conf' }
10
- end
11
-
12
- describe 'complete matching of stdout' do
13
- context command('cat /etc/resolv.conf') do
14
- let(:stdout) { "foocontent-should-be-includedbar\r\n" }
15
- it { should_not return_stdout('content-should-be-included') }
16
- end
17
- end
18
-
19
- describe 'regexp matching of stdout' do
20
- context command('cat /etc/resolv.conf') do
21
- let(:stdout) { "nameserver 127.0.0.1\r\n" }
22
- it { should return_stdout(/127\.0\.0\.1/) }
23
- end
24
- end
25
-
26
- describe command('cat /etc/resolv.conf') do
27
- let(:stderr) { "No such file or directory\r\n" }
28
- it { should return_stderr("No such file or directory") }
29
- its(:command) { should eq 'cat /etc/resolv.conf' }
30
- end
31
-
32
- describe 'complete matching of stderr' do
33
- context command('cat /etc/resolv.conf') do
34
- let(:stderr) { "No such file or directory\r\n" }
35
- it { should_not return_stderr('file') }
36
- end
37
- end
38
-
39
- describe 'regexp matching of stderr' do
40
- context command('cat /etc/resolv.conf') do
41
- let(:stderr) { "No such file or directory\r\n" }
42
- it { should return_stderr(/file/) }
43
- end
44
- end
45
-
46
- describe command('cat /etc/resolv.conf') do
47
- it { should return_exit_status 0 }
48
- its(:command) { should eq 'cat /etc/resolv.conf' }
49
- end
50
- =end
51
-
52
- describe command('ls -al /') do
53
- let(:stdout) { <<EOF
54
- total 88
55
- drwxr-xr-x 23 root root 4096 Oct 10 17:19 .
56
- drwxr-xr-x 23 root root 4096 Oct 10 17:19 ..
57
- drwxr-xr-x 2 root root 4096 Sep 11 16:43 bin
58
- drwxr-xr-x 3 root root 4096 Sep 23 18:14 boot
59
- drwxr-xr-x 14 root root 4260 Oct 14 16:14 dev
60
- drwxr-xr-x 104 root root 4096 Oct 14 17:34 etc
61
- drwxr-xr-x 8 root root 4096 Oct 1 15:09 home
62
- EOF
63
- }
64
-
65
- its(:stdout) { should match /bin/ }
66
- its(:stdout) { should eq stdout }
67
- end
@@ -1,21 +0,0 @@
1
- require 'spec_helper'
2
-
3
- include SpecInfra::Helper::RedHat
4
-
5
- describe cron do
6
- it { should have_entry '* * * * * /usr/local/bin/batch.sh' }
7
- its(:command) { should eq 'crontab -l | grep -v "#" -- | grep -- \\\\\\*\\ \\\\\\*\\ \\\\\\*\\ \\\\\\*\\ \\\\\\*\\ /usr/local/bin/batch.sh' }
8
- end
9
-
10
- describe cron do
11
- it { should_not have_entry 'invalid entry' }
12
- end
13
-
14
- describe cron do
15
- it { should have_entry('* * * * * /usr/local/bin/batch.sh').with_user('root') }
16
- its(:command) { should eq 'crontab -u root -l | grep -v "#" | grep -- \\\\\\*\\ \\\\\\*\\ \\\\\\*\\ \\\\\\*\\ \\\\\\*\\ /usr/local/bin/batch.sh' }
17
- end
18
-
19
- describe cron do
20
- it { should_not have_entry('* * * * * /usr/local/bin/batch.sh').with_user('invalid-user') }
21
- end
@@ -1,16 +0,0 @@
1
- require 'spec_helper'
2
-
3
- include SpecInfra::Helper::RedHat
4
-
5
- describe default_gateway do
6
- let(:stdout) { "default via 192.168.1.1 dev eth1 \r\n" }
7
-
8
- its(:ipaddress) { should eq '192.168.1.1' }
9
- its(:command) { should eq "ip route | grep -E '^default |^default '" }
10
-
11
- its(:interface) { should eq 'eth1' }
12
- its(:command) { should eq "ip route | grep -E '^default |^default '" }
13
-
14
- its(:ipaddress) { should_not eq '192.168.1.2' }
15
- its(:interface) { should_not eq 'eth0' }
16
- end
@@ -1,418 +0,0 @@
1
- require 'spec_helper'
2
-
3
- include SpecInfra::Helper::RedHat
4
-
5
- describe file('/etc/ssh/sshd_config') do
6
- it { should be_file }
7
- its(:command) { should eq "test -f /etc/ssh/sshd_config" }
8
- end
9
-
10
- describe file('/etc/invalid_file') do
11
- it { should_not be_file }
12
- end
13
-
14
- describe file('/etc/ssh') do
15
- it { should be_directory }
16
- its(:command) { should eq "test -d /etc/ssh" }
17
- end
18
-
19
- describe file('/etc/invalid_directory') do
20
- it { should_not be_directory }
21
- end
22
-
23
- describe file('/var/run/unicorn.sock') do
24
- it { should be_socket }
25
- its(:command) { should eq "test -S /var/run/unicorn.sock" }
26
- end
27
-
28
- describe file('/etc/invalid_socket') do
29
- it { should_not be_socket }
30
- end
31
-
32
- describe file('/etc/ssh/sshd_config') do
33
- it { should contain 'This is the sshd server system-wide configuration file' }
34
- its(:command) { should eq "grep -q -- This\\ is\\ the\\ sshd\\ server\\ system-wide\\ configuration\\ file /etc/ssh/sshd_config || grep -qF -- This\\ is\\ the\\ sshd\\ server\\ system-wide\\ configuration\\ file /etc/ssh/sshd_config" }
35
- end
36
-
37
- describe file('/etc/ssh/sshd_config') do
38
- it { should contain /^This is the sshd server system-wide configuration file/ }
39
- its(:command) { should eq "grep -q -- \\^This\\ is\\ the\\ sshd\\ server\\ system-wide\\ configuration\\ file /etc/ssh/sshd_config || grep -qF -- \\^This\\ is\\ the\\ sshd\\ server\\ system-wide\\ configuration\\ file /etc/ssh/sshd_config" }
40
- end
41
-
42
- describe file('/etc/ssh/sshd_config') do
43
- it { should_not contain 'This is invalid text!!' }
44
- end
45
-
46
- describe file('Gemfile') do
47
- it { should contain('rspec').from(/^group :test do/).to(/^end/) }
48
- its(:command) { should eq "sed -n /\\^group\\ :test\\ do/,/\\^end/p Gemfile | grep -q -- rspec - || sed -n /\\^group\\ :test\\ do/,/\\^end/p Gemfile | grep -qF -- rspec -" }
49
- end
50
-
51
- describe file('/etc/ssh/sshd_config') do
52
- it { should_not contain('This is invalid text!!').from(/^group :test do/).to(/^end/) }
53
- end
54
-
55
- describe file('Gemfile') do
56
- it { should contain('rspec').after(/^group :test do/) }
57
- its(:command) { should eq "sed -n /\\^group\\ :test\\ do/,\\$p Gemfile | grep -q -- rspec - || sed -n /\\^group\\ :test\\ do/,\\$p Gemfile | grep -qF -- rspec -" }
58
- end
59
-
60
- describe file('/etc/ssh/sshd_config') do
61
- it { should_not contain('This is invalid text!!').after(/^group :test do/) }
62
- end
63
-
64
- describe file('Gemfile') do
65
- it { should contain('rspec').before(/^end/) }
66
- its(:command) { should eq "sed -n 1,/\\^end/p Gemfile | grep -q -- rspec - || sed -n 1,/\\^end/p Gemfile | grep -qF -- rspec -" }
67
- end
68
-
69
- describe file('/etc/ssh/sshd_config') do
70
- it { should_not contain('This is invalid text!!').before(/^end/) }
71
- end
72
-
73
- describe file('/etc/passwd') do
74
- it { should be_mode 644 }
75
- its(:command) { should eq "stat -c %a /etc/passwd | grep -- \\^644\\$" }
76
- end
77
-
78
- describe file('/etc/passwd') do
79
- it { should_not be_mode 'invalid' }
80
- end
81
-
82
- describe file('/etc/passwd') do
83
- it { should be_owned_by 'root' }
84
- its(:command) { should eq "stat -c %U /etc/passwd | grep -- \\^root\\$" }
85
- end
86
-
87
- describe file('/etc/passwd') do
88
- it { should_not be_owned_by 'invalid-owner' }
89
- end
90
-
91
- describe file('/etc/passwd') do
92
- it { should be_grouped_into 'root' }
93
- its(:command) { should eq "stat -c %G /etc/passwd | grep -- \\^root\\$" }
94
- end
95
-
96
- describe file('/etc/passwd') do
97
- it { should_not be_grouped_into 'invalid-group' }
98
- end
99
-
100
- describe file('/etc/pam.d/system-auth') do
101
- it { should be_linked_to '/etc/pam.d/system-auth-ac' }
102
- its(:command) { should eq "stat -c %N /etc/pam.d/system-auth | egrep -e \"-> ./etc/pam.d/system-auth-ac.\"" }
103
- end
104
-
105
- describe file('dummy-link') do
106
- it { should_not be_linked_to '/invalid/target' }
107
- end
108
-
109
- describe file('/dev') do
110
- let(:stdout) { "755\r\n" }
111
- it { should be_readable }
112
- its(:command) { should eq "stat -c %a /dev" }
113
- end
114
-
115
- describe file('/dev') do
116
- let(:stdout) { "333\r\n" }
117
- it { should_not be_readable }
118
- end
119
-
120
- describe file('/dev') do
121
- let(:stdout) { "400\r\n" }
122
- it { should be_readable.by('owner') }
123
- end
124
-
125
- describe file('/dev') do
126
- let(:stdout) { "044\r\n" }
127
- it { should_not be_readable.by('owner') }
128
- end
129
-
130
- describe file('/dev') do
131
- let(:stdout) { "040\r\n" }
132
- it { should be_readable.by('group') }
133
- end
134
-
135
- describe file('/dev') do
136
- let(:stdout) { "404\r\n" }
137
- it { should_not be_readable.by('group') }
138
- end
139
-
140
- describe file('/dev') do
141
- let(:stdout) { "044\r\n" }
142
- it { should be_readable.by('others') }
143
- end
144
-
145
- describe file('/dev') do
146
- let(:stdout) { "443\r\n" }
147
- it { should_not be_readable.by('others') }
148
- end
149
-
150
- describe file('/tmp') do
151
- it { should be_readable.by_user('mail') }
152
- its(:command) { should eq "runuser -s /bin/sh -c \"test -r /tmp\" mail" }
153
- end
154
-
155
- describe file('/tmp') do
156
- it { should_not be_readable.by_user('invalid-user') }
157
- end
158
-
159
- describe file('/dev') do
160
- let(:stdout) { "755\r\n" }
161
- it { should be_writable }
162
- its(:command) { should eq "stat -c %a /dev" }
163
- end
164
-
165
- describe file('/dev') do
166
- let(:stdout) { "555\r\n" }
167
- it { should_not be_writable }
168
- end
169
-
170
- describe file('/dev') do
171
- let(:stdout) { "200\r\n" }
172
- it { should be_writable.by('owner') }
173
- end
174
-
175
- describe file('/dev') do
176
- let(:stdout) { "555\r\n" }
177
- it { should_not be_writable.by('owner') }
178
- end
179
-
180
- describe file('/dev') do
181
- let(:stdout) { "030\r\n" }
182
- it { should be_writable.by('group') }
183
- end
184
-
185
- describe file('/dev') do
186
- let(:stdout) { "555\r\n" }
187
- it { should_not be_writable.by('group') }
188
- end
189
-
190
- describe file('/dev') do
191
- let(:stdout) { "666\r\n" }
192
- it { should be_writable.by('others') }
193
- end
194
-
195
- describe file('/dev') do
196
- let(:stdout) { "555\r\n" }
197
- it { should_not be_writable.by('others') }
198
- end
199
-
200
- describe file('/tmp') do
201
- it { should be_writable.by_user('mail') }
202
- its(:command) { should eq "runuser -s /bin/sh -c \"test -w /tmp\" mail" }
203
- end
204
-
205
- describe file('/tmp') do
206
- it { should_not be_writable.by_user('invalid-user') }
207
- end
208
-
209
- describe file('/dev') do
210
- let(:stdout) { "755\r\n" }
211
- it { should be_executable }
212
- its(:command) { should eq "stat -c %a /dev" }
213
- end
214
-
215
- describe file('/dev') do
216
- let(:stdout) { "666\r\n" }
217
- it { should_not be_executable }
218
- end
219
-
220
- describe file('/dev') do
221
- let(:stdout) { "100\r\n" }
222
- it { should be_executable.by('owner') }
223
- end
224
-
225
- describe file('/dev') do
226
- let(:stdout) { "666\r\n" }
227
- it { should_not be_executable.by('owner') }
228
- end
229
-
230
- describe file('/dev') do
231
- let(:stdout) { "070\r\n" }
232
- it { should be_executable.by('group') }
233
- end
234
-
235
- describe file('/dev') do
236
- let(:stdout) { "666\r\n" }
237
- it { should_not be_executable.by('group') }
238
- end
239
-
240
- describe file('/dev') do
241
- let(:stdout) { "001\r\n" }
242
- it { should be_executable.by('others') }
243
- end
244
-
245
- describe file('/dev') do
246
- let(:stdout) { "666\r\n" }
247
- it { should_not be_executable.by('others') }
248
- end
249
-
250
- describe file('/tmp') do
251
- it { should be_executable.by_user('mail') }
252
- its(:command) { should eq "runuser -s /bin/sh -c \"test -x /tmp\" mail" }
253
- end
254
-
255
- describe file('/tmp') do
256
- it { should_not be_executable.by_user('invalid-user') }
257
- end
258
-
259
- describe file('/') do
260
- it { should be_mounted }
261
- its(:command) { should eq "mount | grep -w -- on\\ /" }
262
- end
263
-
264
- describe file('/etc/invalid-mount') do
265
- it { should_not be_mounted }
266
- end
267
-
268
- describe file('/etc/immutable-file') do
269
- it { should be_immutable }
270
- its(:command) { should eq "lsattr -d /etc/immutable-file 2>&1 | awk '$1~/^-*i-*$/ {exit 0} {exit 1}'" }
271
- end
272
-
273
- describe file('/') do
274
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
275
- it { should be_mounted.with( :type => 'ext4' ) }
276
- end
277
-
278
- describe file('/') do
279
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
280
- it { should be_mounted.with( :type => 'ext4', :options => { :rw => true } ) }
281
- end
282
-
283
- describe file('/') do
284
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
285
- it { should be_mounted.with( :type => 'ext4', :options => { :mode => 620 } ) }
286
- end
287
-
288
- describe file('/') do
289
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
290
- it { should be_mounted.with( :type => 'ext4', :device => '/dev/mapper/VolGroup-lv_root' ) }
291
- end
292
-
293
- describe file('/') do
294
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
295
- it { should_not be_mounted.with( :type => 'xfs' ) }
296
- end
297
-
298
- describe file('/') do
299
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
300
- it { should_not be_mounted.with( :type => 'ext4', :options => { :rw => false } ) }
301
- end
302
-
303
- describe file('/') do
304
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
305
- it { should_not be_mounted.with( :type => 'ext4', :options => { :mode => 600 } ) }
306
- end
307
-
308
- describe file('/') do
309
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
310
- it { should_not be_mounted.with( :type => 'xfs', :device => '/dev/mapper/VolGroup-lv_root' ) }
311
- end
312
-
313
- describe file('/') do
314
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
315
- it { should_not be_mounted.with( :type => 'ext4', :device => '/dev/mapper/VolGroup-lv_r00t' ) }
316
- end
317
-
318
- describe file('/etc/invalid-mount') do
319
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
320
- it { should_not be_mounted.with( :type => 'ext4' ) }
321
- end
322
-
323
- describe file('/') do
324
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
325
- it do
326
- should be_mounted.only_with(
327
- :device => '/dev/mapper/VolGroup-lv_root',
328
- :type => 'ext4',
329
- :options => {
330
- :rw => true,
331
- :mode => 620,
332
- }
333
- )
334
- end
335
- end
336
-
337
- describe file('/') do
338
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
339
- it do
340
- should_not be_mounted.only_with(
341
- :device => '/dev/mapper/VolGroup-lv_root',
342
- :type => 'ext4',
343
- :options => {
344
- :rw => true,
345
- :mode => 620,
346
- :bind => true,
347
- }
348
- )
349
- end
350
- end
351
-
352
- describe file('/') do
353
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
354
- it do
355
- should_not be_mounted.only_with(
356
- :device => '/dev/mapper/VolGroup-lv_root',
357
- :type => 'ext4',
358
- :options => {
359
- :rw => true,
360
- }
361
- )
362
- end
363
- end
364
-
365
- describe file('/') do
366
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
367
- it do
368
- should_not be_mounted.only_with(
369
- :device => '/dev/mapper/VolGroup-lv_roooooooooot',
370
- :type => 'ext4',
371
- :options => {
372
- :rw => true,
373
- :mode => 620,
374
- }
375
- )
376
- end
377
- end
378
-
379
- describe file('/etc/invalid-mount') do
380
- let(:stdout) { "/dev/mapper/VolGroup-lv_root on / type ext4 (rw,mode=620)\r\n" }
381
- it { should_not be_mounted.only_with( :type => 'ext4' ) }
382
- end
383
-
384
- describe file('/etc/services') do
385
- it { should match_md5checksum '35435ea447c19f0ea5ef971837ab9ced' }
386
- its(:command) { should eq "md5sum /etc/services | grep -iw -- \\^35435ea447c19f0ea5ef971837ab9ced" }
387
- end
388
-
389
- describe file('invalid-file') do
390
- it { should_not match_md5checksum 'INVALIDMD5CHECKSUM' }
391
- end
392
-
393
- describe file('/etc/services') do
394
- it { should match_sha256checksum '0c3feee1353a8459f8c7d84885e6bc602ef853751ffdbce3e3b6dfa1d345fc7a' }
395
- its(:command) { should eq "sha256sum /etc/services | grep -iw -- \\^0c3feee1353a8459f8c7d84885e6bc602ef853751ffdbce3e3b6dfa1d345fc7a" }
396
- end
397
-
398
- describe file('invalid-file') do
399
- it { should_not match_sha256checksum 'INVALIDSHA256CHECKSUM' }
400
- end
401
-
402
- describe file('/etc/passwd') do
403
- let(:stdout) {<<EOF
404
- root:x:0:0:root:/root:/bin/bash
405
- bin:x:1:1:bin:/bin:/sbin/nologin
406
- daemon:x:2:2:daemon:/sbin:/sbin/nologin
407
- sync:x:5:0:sync:/sbin:/bin/sync
408
- shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
409
- halt:x:7:0:halt:/sbin:/sbin/halt
410
- mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
411
- operator:x:11:0:operator:/root:/sbin/nologin
412
- nobody:x:99:99:Nobody:/:/sbin/nologin
413
- dbus:x:81:81:System message bus:/:/sbin/nologin
414
- EOF
415
- }
416
-
417
- its(:content) { should match /root:x:0:0/ }
418
- end