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,94 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'spec_helper'
3
+
4
+ property[:os] = nil
5
+ set :os, {:family => 'linux'}
6
+
7
+ describe docker_image('busybox:latest') do
8
+ it { should exist }
9
+ end
10
+
11
+ describe docker_image('busybox:latest') do
12
+ let(:stdout) { inspect_image }
13
+ its(:inspection) { should include 'Architecture' => 'amd64' }
14
+ its(['Architecture']) { should eq 'amd64' }
15
+ its(['Config.Cmd']) { should include '/bin/sh' }
16
+ end
17
+
18
+ def inspect_image
19
+ <<'EOS'
20
+ [{
21
+ "Architecture": "amd64",
22
+ "Author": "Jérôme Petazzoni \u003cjerome@docker.com\u003e",
23
+ "Comment": "",
24
+ "Config": {
25
+ "AttachStderr": false,
26
+ "AttachStdin": false,
27
+ "AttachStdout": false,
28
+ "Cmd": [
29
+ "/bin/sh"
30
+ ],
31
+ "CpuShares": 0,
32
+ "Cpuset": "",
33
+ "Domainname": "",
34
+ "Entrypoint": null,
35
+ "Env": [
36
+ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
37
+ ],
38
+ "ExposedPorts": null,
39
+ "Hostname": "88f18f678e5d",
40
+ "Image": "e433a6c5b276a31aa38bf6eaba9cd1cfd69ea33f706ed72b3f20bafde5cd8644",
41
+ "Memory": 0,
42
+ "MemorySwap": 0,
43
+ "NetworkDisabled": false,
44
+ "OnBuild": [],
45
+ "OpenStdin": false,
46
+ "PortSpecs": null,
47
+ "StdinOnce": false,
48
+ "Tty": false,
49
+ "User": "",
50
+ "Volumes": null,
51
+ "WorkingDir": ""
52
+ },
53
+ "Container": "8e73b239682fe73338323d9af83d3c5aa5bb7d22a3fe84cbfcf5f47e756d6636",
54
+ "ContainerConfig": {
55
+ "AttachStderr": false,
56
+ "AttachStdin": false,
57
+ "AttachStdout": false,
58
+ "Cmd": [
59
+ "/bin/sh",
60
+ "-c",
61
+ "#(nop) CMD [/bin/sh]"
62
+ ],
63
+ "CpuShares": 0,
64
+ "Cpuset": "",
65
+ "Domainname": "",
66
+ "Entrypoint": null,
67
+ "Env": [
68
+ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
69
+ ],
70
+ "ExposedPorts": null,
71
+ "Hostname": "88f18f678e5d",
72
+ "Image": "e433a6c5b276a31aa38bf6eaba9cd1cfd69ea33f706ed72b3f20bafde5cd8644",
73
+ "Memory": 0,
74
+ "MemorySwap": 0,
75
+ "NetworkDisabled": false,
76
+ "OnBuild": [],
77
+ "OpenStdin": false,
78
+ "PortSpecs": null,
79
+ "StdinOnce": false,
80
+ "Tty": false,
81
+ "User": "",
82
+ "Volumes": null,
83
+ "WorkingDir": ""
84
+ },
85
+ "Created": "2014-10-01T20:46:08.914288461Z",
86
+ "DockerVersion": "1.2.0",
87
+ "Id": "e72ac664f4f0c6a061ac4ef332557a70d69b0c624b6add35f1c181ff7fff2287",
88
+ "Os": "linux",
89
+ "Parent": "e433a6c5b276a31aa38bf6eaba9cd1cfd69ea33f706ed72b3f20bafde5cd8644",
90
+ "Size": 0
91
+ }
92
+ ]
93
+ EOS
94
+ end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ property[:os] = nil
4
+ set :os, {:family => 'linux'}
5
+
6
+ describe file('/tmp') do
7
+ it { should be_readable.by_user('mail') }
8
+ end
9
+
10
+ describe file('/tmp') do
11
+ it { should be_writable.by_user('mail') }
12
+ end
13
+
14
+ describe file('/tmp') do
15
+ it { should be_executable.by_user('mail') }
16
+ end
17
+
18
+ describe file('/tmp') do
19
+ it { should be_immutable }
20
+ end
21
+
22
+ describe file('/tmp') do
23
+ let(:exit_status) { 0 }
24
+ let(:stdout) { 'unconfined_u:unconfined_r:unconfined_t:s0' }
25
+ its(:selinux_label) { should eq 'unconfined_u:unconfined_r:unconfined_t:s0' }
26
+ end
27
+
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'linux'
4
+
5
+ describe fstab do
6
+ let(:stdout) { "/dev/sda1 /mnt ext4 ro,errors=remount-ro,barrier=0 0 2\r\n" }
7
+ it { should have_entry( :mount_point => '/mnt' ) }
8
+ end
9
+
10
+ describe fstab do
11
+ let(:exit_status) { 1 }
12
+ it { should_not have_entry( :mount_point => '/mnt' ) }
13
+ end
14
+
15
+ describe fstab do
16
+ let(:stdout) { "/dev/sda1 /mnt ext4 ro,errors=remount-ro,barrier=0 0 2\r\n" }
17
+ it do
18
+ should have_entry(
19
+ :device => '/dev/sda1',
20
+ :mount_point => '/mnt',
21
+ :type => 'ext4',
22
+ :options => {
23
+ :ro => true,
24
+ :errors => 'remount-ro',
25
+ :barrier => 0
26
+ },
27
+ :dump => 0,
28
+ :pass => 2
29
+ )
30
+ end
31
+ end
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'linux'
4
+
5
+ describe interface('eth0') do
6
+ let(:stdout) { '1000' }
7
+ its(:speed) { should eq 1000 }
8
+ end
9
+
10
+ describe interface('eth0') do
11
+ it { should have_ipv4_address('192.168.10.10') }
12
+ end
13
+
14
+ describe interface('eth0') do
15
+ it { should have_ipv4_address('192.168.10.10/24') }
16
+ end
17
+
18
+ describe interface('eth0') do
19
+ it { should have_ipv6_address('2001:0db8:bd05:01d2:288a:1fc0:0001:10ee') }
20
+ end
21
+
22
+ describe interface('eth0') do
23
+ let(:stdout) { 'up' }
24
+ it { should be_up }
25
+ end
26
+
27
+ describe interface('invalid-interface') do
28
+ let(:stdout) { '1000' }
29
+ its(:speed) { should_not eq 100 }
30
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'linux'
4
+
5
+ describe ip6tables do
6
+ it { should have_rule '-P INPUT ACCEPT' }
7
+ end
8
+
9
+ describe ip6tables do
10
+ it { should have_rule('-P INPUT ACCEPT').with_table('mangle').with_chain('INPUT') }
11
+ end
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'linux'
4
+
5
+ describe iptables do
6
+ it { should have_rule '-P INPUT ACCEPT' }
7
+ end
8
+
9
+ describe iptables do
10
+ it { should have_rule('-P INPUT ACCEPT').with_table('mangle').with_chain('INPUT') }
11
+ end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'linux'
4
+
5
+ describe kernel_module('lp') do
6
+ it { should be_loaded }
7
+ end
@@ -0,0 +1,139 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'linux'
4
+
5
+ describe linux_audit_system do
6
+ let(:stdout) { out_auditctl1_1 }
7
+ it { should be_enabled }
8
+ end
9
+
10
+ describe linux_audit_system do
11
+ let(:stdout) { out_auditctl1_2 }
12
+ it { should_not be_enabled }
13
+ end
14
+
15
+ describe linux_audit_system do
16
+ let(:stdout) { out_auditctl1_1 }
17
+ it { should be_running }
18
+ end
19
+
20
+ describe linux_audit_system do
21
+ let(:stdout) { out_auditctl1_3 }
22
+ it { should_not be_running }
23
+ end
24
+
25
+ describe linux_audit_system do
26
+ let(:stdout) { out_auditctl1_4 }
27
+ it { should_not be_running }
28
+ end
29
+
30
+ describe linux_audit_system do
31
+ let(:stdout) { out_auditctl2_1 }
32
+ it { should be_enabled }
33
+ end
34
+
35
+ describe linux_audit_system do
36
+ let(:stdout) { out_auditctl2_2 }
37
+ it { should_not be_enabled }
38
+ end
39
+
40
+ describe linux_audit_system do
41
+ let(:stdout) { out_auditctl2_1 }
42
+ it { should be_running }
43
+ end
44
+
45
+ describe linux_audit_system do
46
+ let(:stdout) { out_auditctl2_3 }
47
+ it { should_not be_running }
48
+ end
49
+
50
+ describe linux_audit_system do
51
+ let(:stdout) { out_auditctl2_4 }
52
+ it { should_not be_running }
53
+ end
54
+
55
+ describe linux_audit_system do
56
+ let(:stdout) { '-a -w /etc/sysconfig -p wa -k test' }
57
+ its(:rules) { should match %r!-w /etc/sysconfig.*-k test! }
58
+ end
59
+
60
+ describe linux_audit_system do
61
+ let(:stdout) { 'test' }
62
+ its(:rules) { should eq 'test' }
63
+ its(:rules) { should match /es/ }
64
+ its(:rules) { should_not match /ab/ }
65
+ end
66
+
67
+ # variants of auditctl -s output for different versions
68
+
69
+ def out_auditctl1_1
70
+ "AUDIT_STATUS: enabled=1 flag=1 pid=881 rate_limit=0 backlog_limit=320 lost=0 backlog=0"
71
+ end
72
+
73
+ def out_auditctl1_2
74
+ "AUDIT_STATUS: enabled=0 flag=1 pid=881 rate_limit=0 backlog_limit=320 lost=0 backlog=0"
75
+ end
76
+
77
+ def out_auditctl1_3
78
+ "AUDIT_STATUS: enabled=1 flag=1 pid=0 rate_limit=0 backlog_limit=320 lost=0 backlog=0"
79
+ end
80
+
81
+ def out_auditctl1_4
82
+ "AUDIT_STATUS: enabled=1 flag=1 pid= rate_limit=0 backlog_limit=320 lost=0 backlog=0"
83
+ end
84
+
85
+ def out_auditctl2_1
86
+ <<EOS
87
+ enabled 1
88
+ failure 1
89
+ pid 5939
90
+ rate_limit 0
91
+ backlog_limit 64
92
+ lost 0
93
+ backlog 0
94
+ backlog_wait_time 60000
95
+ loginuid_immutable 0 unlocked
96
+ EOS
97
+ end
98
+
99
+ def out_auditctl2_2
100
+ <<EOS
101
+ enabled 0
102
+ failure 1
103
+ pid 5939
104
+ rate_limit 0
105
+ backlog_limit 64
106
+ lost 0
107
+ backlog 0
108
+ backlog_wait_time 60000
109
+ loginuid_immutable 0 unlocked
110
+ EOS
111
+ end
112
+
113
+ def out_auditctl2_3
114
+ <<EOS
115
+ enabled 0
116
+ failure 1
117
+ pid 0
118
+ rate_limit 0
119
+ backlog_limit 64
120
+ lost 0
121
+ backlog 0
122
+ backlog_wait_time 60000
123
+ loginuid_immutable 0 unlocked
124
+ EOS
125
+ end
126
+
127
+ def out_auditctl2_4
128
+ <<EOS
129
+ enabled 0
130
+ failure 1
131
+ pid
132
+ rate_limit 0
133
+ backlog_limit 64
134
+ lost 0
135
+ backlog 0
136
+ backlog_wait_time 60000
137
+ loginuid_immutable 0 unlocked
138
+ EOS
139
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'linux'
4
+
5
+ describe linux_kernel_parameter('net.ipv4.tcp_syncookies') do
6
+ let(:stdout) { "1\n" }
7
+ its(:value) { should eq 1 }
8
+ end
9
+
10
+ describe linux_kernel_parameter('net.ipv4.tcp_syncookies') do
11
+ let(:stdout) { "1\n" }
12
+ its(:value) { should_not eq 2 }
13
+ end
14
+
15
+ describe linux_kernel_parameter('kernel.osrelease') do
16
+ let(:stdout) { "2.6.32-131.0.15.el6.x86_64\n" }
17
+ its(:value) { should eq "2.6.32-131.0.15.el6.x86_64" }
18
+ end
19
+
20
+ describe linux_kernel_parameter('kernel.osrelease') do
21
+ let(:stdout) { "2.6.32-131.0.15.el6.x86_64\n" }
22
+ its(:value) { should_not eq "2.6.32-131.0.15.el6.i386" }
23
+ end
24
+
25
+ describe linux_kernel_parameter('net.ipv4.tcp_wmem') do
26
+ let(:stdout) { "4096 16384 4194304\n" }
27
+ its(:value) { should match /16384/ }
28
+ end
29
+
30
+ describe linux_kernel_parameter('net.ipv4.tcp_wmem') do
31
+ let(:stdout) { "4096 16384 4194304\n" }
32
+ its(:value) { should_not match /123456/ }
33
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'linux'
4
+
5
+ describe lxc('ct01') do
6
+ it { should exist }
7
+ end
8
+
9
+ describe lxc('ct01') do
10
+ it { should be_running }
11
+ end
12
+
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'linux'
4
+
5
+ describe selinux_module('bootloader') do
6
+ it { should be_installed }
7
+ end
8
+
9
+ describe selinux_module('bootloader') do
10
+ it { should be_enabled }
11
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ set :os, :family => 'linux'
4
+
5
+ describe selinux do
6
+ it { should be_enforcing }
7
+ end
8
+
9
+ describe selinux do
10
+ it { should be_enforcing.with_policy('mls') }
11
+ end
12
+
13
+ describe selinux do
14
+ it { should be_permissive }
15
+ end
16
+
17
+ describe selinux do
18
+ it { should be_permissive.with_policy('targeted') }
19
+ end
20
+
21
+ describe selinux do
22
+ it { should be_disabled }
23
+ end