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.
- checksums.yaml +7 -0
- data/.gitignore +26 -0
- data/.gitmodules +3 -0
- data/.travis.yml +19 -0
- data/Gemfile +8 -0
- data/Guardfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +26 -0
- data/Rakefile +30 -0
- data/WINDOWS_SUPPORT.md +118 -0
- data/appveyor.yml +56 -0
- data/bin/serverspec-init +7 -0
- data/lib/serverspec.rb +63 -0
- data/lib/serverspec/commands/base.rb +7 -0
- data/lib/serverspec/helper.rb +8 -0
- data/lib/serverspec/helper/type.rb +26 -0
- data/lib/serverspec/matcher.rb +39 -0
- data/lib/serverspec/matcher/be_enabled.rb +13 -0
- data/lib/serverspec/matcher/be_enforcing.rb +10 -0
- data/lib/serverspec/matcher/be_executable.rb +13 -0
- data/lib/serverspec/matcher/be_installed.rb +13 -0
- data/lib/serverspec/matcher/be_listening.rb +13 -0
- data/lib/serverspec/matcher/be_mounted.rb +15 -0
- data/lib/serverspec/matcher/be_permissive.rb +10 -0
- data/lib/serverspec/matcher/be_reachable.rb +17 -0
- data/lib/serverspec/matcher/be_readable.rb +13 -0
- data/lib/serverspec/matcher/be_resolvable.rb +9 -0
- data/lib/serverspec/matcher/be_running.rb +13 -0
- data/lib/serverspec/matcher/be_writable.rb +13 -0
- data/lib/serverspec/matcher/belong_to_group.rb +5 -0
- data/lib/serverspec/matcher/belong_to_primary_group.rb +5 -0
- data/lib/serverspec/matcher/contain.rb +28 -0
- data/lib/serverspec/matcher/have_entry.rb +14 -0
- data/lib/serverspec/matcher/have_rule.rb +17 -0
- data/lib/serverspec/matcher/have_site_application.rb +18 -0
- data/lib/serverspec/matcher/have_site_bindings.rb +22 -0
- data/lib/serverspec/matcher/have_virtual_dir.rb +14 -0
- data/lib/serverspec/power_assert.rb +14 -0
- data/lib/serverspec/setup.rb +338 -0
- data/lib/serverspec/subject.rb +12 -0
- data/lib/serverspec/type/base.rb +30 -0
- data/lib/serverspec/type/bond.rb +11 -0
- data/lib/serverspec/type/bridge.rb +11 -0
- data/lib/serverspec/type/cgroup.rb +17 -0
- data/lib/serverspec/type/command.rb +20 -0
- data/lib/serverspec/type/cron.rb +15 -0
- data/lib/serverspec/type/default_gateway.rb +15 -0
- data/lib/serverspec/type/docker_base.rb +29 -0
- data/lib/serverspec/type/docker_container.rb +27 -0
- data/lib/serverspec/type/docker_image.rb +4 -0
- data/lib/serverspec/type/file.rb +133 -0
- data/lib/serverspec/type/fstab.rb +11 -0
- data/lib/serverspec/type/group.rb +11 -0
- data/lib/serverspec/type/host.rb +21 -0
- data/lib/serverspec/type/iis_app_pool.rb +43 -0
- data/lib/serverspec/type/iis_website.rb +40 -0
- data/lib/serverspec/type/interface.rb +27 -0
- data/lib/serverspec/type/ip6tables.rb +13 -0
- data/lib/serverspec/type/ipfilter.rb +11 -0
- data/lib/serverspec/type/ipnat.rb +11 -0
- data/lib/serverspec/type/iptables.rb +11 -0
- data/lib/serverspec/type/kernel_module.rb +7 -0
- data/lib/serverspec/type/linux_audit_system.rb +45 -0
- data/lib/serverspec/type/linux_kernel_parameter.rb +10 -0
- data/lib/serverspec/type/lxc.rb +15 -0
- data/lib/serverspec/type/mail_alias.rb +7 -0
- data/lib/serverspec/type/mysql_config.rb +10 -0
- data/lib/serverspec/type/package.rb +66 -0
- data/lib/serverspec/type/php_config.rb +10 -0
- data/lib/serverspec/type/port.rb +40 -0
- data/lib/serverspec/type/ppa.rb +11 -0
- data/lib/serverspec/type/process.rb +27 -0
- data/lib/serverspec/type/routing_table.rb +11 -0
- data/lib/serverspec/type/selinux.rb +19 -0
- data/lib/serverspec/type/selinux_module.rb +11 -0
- data/lib/serverspec/type/service.rb +52 -0
- data/lib/serverspec/type/user.rb +43 -0
- data/lib/serverspec/type/windows_feature.rb +7 -0
- data/lib/serverspec/type/windows_hot_fix.rb +7 -0
- data/lib/serverspec/type/windows_registry_key.rb +19 -0
- data/lib/serverspec/type/windows_scheduled_task.rb +7 -0
- data/lib/serverspec/type/x509_certificate.rb +76 -0
- data/lib/serverspec/type/x509_private_key.rb +21 -0
- data/lib/serverspec/type/yumrepo.rb +11 -0
- data/lib/serverspec/type/zfs.rb +29 -0
- data/lib/serverspec/version.rb +3 -0
- data/serverspec.gemspec +28 -0
- data/spec/helper/type_spec.rb +6 -0
- data/spec/spec_helper.rb +28 -0
- data/spec/type/aix/file_spec.rb +31 -0
- data/spec/type/aix/group_spec.rb +7 -0
- data/spec/type/aix/package_spec.rb +7 -0
- data/spec/type/aix/port_spec.rb +20 -0
- data/spec/type/aix/service_spec.rb +12 -0
- data/spec/type/aix/user_spec.rb +16 -0
- data/spec/type/arch/file_spec.rb +15 -0
- data/spec/type/arch/package_spec.rb +19 -0
- data/spec/type/arch/service_spec.rb +9 -0
- data/spec/type/base/command_spec.rb +67 -0
- data/spec/type/base/cron_spec.rb +11 -0
- data/spec/type/base/default_gateway_spec.rb +11 -0
- data/spec/type/base/file_spec.rb +356 -0
- data/spec/type/base/group_spec.rb +11 -0
- data/spec/type/base/host_spec.rb +47 -0
- data/spec/type/base/mail_alias_spec.rb +7 -0
- data/spec/type/base/mysql_config_spec.rb +13 -0
- data/spec/type/base/package_spec.rb +51 -0
- data/spec/type/base/php_config_spec.rb +33 -0
- data/spec/type/base/port_spec.rb +34 -0
- data/spec/type/base/process_spec.rb +35 -0
- data/spec/type/base/routing_table_spec.rb +63 -0
- data/spec/type/base/service_spec.rb +49 -0
- data/spec/type/base/user_spec.rb +44 -0
- data/spec/type/darwin/file_spec.rb +41 -0
- data/spec/type/darwin/package_spec.rb +19 -0
- data/spec/type/darwin/port_spec.rb +27 -0
- data/spec/type/darwin/service_spec.rb +16 -0
- data/spec/type/debian/package_spec.rb +23 -0
- data/spec/type/debian/service_spec.rb +11 -0
- data/spec/type/fedora/service_spec.rb +15 -0
- data/spec/type/fedora15/service_spec.rb +15 -0
- data/spec/type/fedora20/service_spec.rb +15 -0
- data/spec/type/freebsd/file_spec.rb +29 -0
- data/spec/type/freebsd/package_spec.rb +19 -0
- data/spec/type/freebsd/port_spec.rb +27 -0
- data/spec/type/freebsd/service_spec.rb +8 -0
- data/spec/type/freebsd10/package_spec.rb +19 -0
- data/spec/type/gentoo/package_spec.rb +7 -0
- data/spec/type/gentoo/service_spec.rb +12 -0
- data/spec/type/linux/bond_spec.rb +12 -0
- data/spec/type/linux/bridge_spec.rb +12 -0
- data/spec/type/linux/cgroup_spec.rb +13 -0
- data/spec/type/linux/docker_container_pre_1_8_spec.rb +124 -0
- data/spec/type/linux/docker_container_spec.rb +126 -0
- data/spec/type/linux/docker_image_spec.rb +94 -0
- data/spec/type/linux/file_spec.rb +27 -0
- data/spec/type/linux/fstab_spec.rb +31 -0
- data/spec/type/linux/interface_spec.rb +30 -0
- data/spec/type/linux/ip6tables_spec.rb +19 -0
- data/spec/type/linux/iptables_spec.rb +11 -0
- data/spec/type/linux/kernel_module_spec.rb +7 -0
- data/spec/type/linux/linux_audit_system_spec.rb +139 -0
- data/spec/type/linux/linux_kernel_parameter_spec.rb +33 -0
- data/spec/type/linux/lxc_container_spec.rb +12 -0
- data/spec/type/linux/selinux_module_spec.rb +11 -0
- data/spec/type/linux/selinux_spec.rb +23 -0
- data/spec/type/linux/x509_certificate_spec.rb +62 -0
- data/spec/type/linux/x509_private_key_spec.rb +31 -0
- data/spec/type/linux/zfs_spec.rb +15 -0
- data/spec/type/nixos/package_spec.rb +15 -0
- data/spec/type/nixos/service_spec.rb +9 -0
- data/spec/type/openbsd/file_spec.rb +134 -0
- data/spec/type/openbsd/interface_spec.rb +21 -0
- data/spec/type/openbsd/mail_alias_spec.rb +7 -0
- data/spec/type/openbsd/package_spec.rb +11 -0
- data/spec/type/openbsd/port_spec.rb +7 -0
- data/spec/type/openbsd/service_spec.rb +13 -0
- data/spec/type/openbsd/user_spec.rb +12 -0
- data/spec/type/opensuse/service_spec.rb +16 -0
- data/spec/type/plamo/package_spec.rb +8 -0
- data/spec/type/plamo/service_spec.rb +8 -0
- data/spec/type/redhat/file_spec.rb +19 -0
- data/spec/type/redhat/package_spec.rb +23 -0
- data/spec/type/redhat/service_spec.rb +11 -0
- data/spec/type/redhat/yumrepo_spec.rb +11 -0
- data/spec/type/redhat5/iptables_spec.rb +11 -0
- data/spec/type/redhat7/service_spec.rb +9 -0
- data/spec/type/smartos/package_spec.rb +19 -0
- data/spec/type/smartos/service_spec.rb +16 -0
- data/spec/type/solaris/cron_spec.rb +11 -0
- data/spec/type/solaris/file_spec.rb +15 -0
- data/spec/type/solaris/group_spec.rb +7 -0
- data/spec/type/solaris/host_spec.rb +19 -0
- data/spec/type/solaris/ipfilter_spec.rb +7 -0
- data/spec/type/solaris/ipnat_spec.rb +7 -0
- data/spec/type/solaris/package_spec.rb +7 -0
- data/spec/type/solaris/port_spec.rb +34 -0
- data/spec/type/solaris/service_spec.rb +16 -0
- data/spec/type/solaris/user_spec.rb +16 -0
- data/spec/type/solaris/zfs_spec.rb +15 -0
- data/spec/type/solaris10/file_spec.rb +313 -0
- data/spec/type/solaris10/group_spec.rb +8 -0
- data/spec/type/solaris10/host_spec.rb +16 -0
- data/spec/type/solaris10/package_spec.rb +8 -0
- data/spec/type/solaris10/user_spec.rb +8 -0
- data/spec/type/suse/package_spec.rb +23 -0
- data/spec/type/suse/service_spec.rb +11 -0
- data/spec/type/ubuntu/ppa_spec.rb +11 -0
- data/spec/type/ubuntu/service_spec.rb +7 -0
- data/spec/type/windows/command_spec.rb +64 -0
- data/spec/type/windows/feature_spec.rb +17 -0
- data/spec/type/windows/file_spec.rb +120 -0
- data/spec/type/windows/group_spec.rb +23 -0
- data/spec/type/windows/host_spec.rb +32 -0
- data/spec/type/windows/hot_fix_spec.rb +22 -0
- data/spec/type/windows/iis_app_pool_spec.rb +17 -0
- data/spec/type/windows/iis_webisite_spec.rb +16 -0
- data/spec/type/windows/package_spec.rb +10 -0
- data/spec/type/windows/port_spec.rb +25 -0
- data/spec/type/windows/registry_key_spec.rb +58 -0
- data/spec/type/windows/scheduled_task_spec.rb +9 -0
- data/spec/type/windows/service_spec.rb +30 -0
- data/spec/type/windows/user_spec.rb +33 -0
- data/wercker.yml +1 -0
- metadata +450 -0
|
@@ -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,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
|