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.
- checksums.yaml +4 -4
- data/README.md +1 -2
- data/Rakefile +20 -25
- data/lib/serverspec.rb +0 -3
- data/lib/serverspec/helper/os.rb +0 -3
- data/lib/serverspec/helper/type.rb +3 -3
- data/lib/serverspec/matchers.rb +1 -7
- data/lib/serverspec/matchers/have_rule.rb +1 -1
- data/lib/serverspec/setup.rb +12 -11
- data/lib/serverspec/type/file.rb +0 -15
- data/lib/serverspec/type/iis_app_pool.rb +0 -28
- data/lib/serverspec/type/iis_website.rb +0 -12
- data/lib/serverspec/type/interface.rb +0 -3
- data/lib/serverspec/type/user.rb +0 -4
- data/lib/serverspec/version.rb +1 -1
- data/serverspec.gemspec +4 -3
- data/wercker.yml +9 -9
- metadata +36 -471
- data/lib/serverspec/matchers/belong_to_primary_group.rb +0 -5
- data/lib/serverspec/matchers/have_site_application.rb +0 -18
- data/lib/serverspec/matchers/have_site_bindings.rb +0 -22
- data/lib/serverspec/matchers/have_virtual_dir.rb +0 -14
- data/lib/serverspec/type/ip6tables.rb +0 -13
- data/lib/serverspec/type/ppa.rb +0 -13
- data/lib/serverspec/type/windows_scheduled_task.rb +0 -9
- data/spec/aix/command_spec.rb +0 -65
- data/spec/aix/cron_spec.rb +0 -21
- data/spec/aix/default_gateway_spec.rb +0 -16
- data/spec/aix/file_spec.rb +0 -404
- data/spec/aix/group_spec.rb +0 -21
- data/spec/aix/host_spec.rb +0 -58
- data/spec/aix/package_spec.rb +0 -100
- data/spec/aix/php_config_spec.rb +0 -36
- data/spec/aix/port_spec.rb +0 -30
- data/spec/aix/process_spec.rb +0 -29
- data/spec/aix/routing_table_spec.rb +0 -120
- data/spec/aix/service_spec.rb +0 -93
- data/spec/aix/user_spec.rb +0 -57
- data/spec/arch/file_spec.rb +0 -413
- data/spec/arch/package_spec.rb +0 -100
- data/spec/arch/service_spec.rb +0 -84
- data/spec/backend/cmd/configuration_spec.rb +0 -9
- data/spec/backend/exec/configuration_spec.rb +0 -61
- data/spec/backend/powershell/script_helper_spec.rb +0 -105
- data/spec/backend/ssh/configuration_spec.rb +0 -184
- data/spec/backend/winrm/configuration_spec.rb +0 -9
- data/spec/darwin/command_spec.rb +0 -65
- data/spec/darwin/cron_spec.rb +0 -21
- data/spec/darwin/default_gateway_spec.rb +0 -16
- data/spec/darwin/file_spec.rb +0 -413
- data/spec/darwin/group_spec.rb +0 -21
- data/spec/darwin/host_spec.rb +0 -58
- data/spec/darwin/mail_alias_spec.rb +0 -12
- data/spec/darwin/package_spec.rb +0 -82
- data/spec/darwin/php_config_spec.rb +0 -36
- data/spec/darwin/port_spec.rb +0 -30
- data/spec/darwin/process_spec.rb +0 -29
- data/spec/darwin/routing_table_spec.rb +0 -120
- data/spec/darwin/service_spec.rb +0 -91
- data/spec/darwin/user_spec.rb +0 -57
- data/spec/debian/cgroup_spec.rb +0 -14
- data/spec/debian/command_spec.rb +0 -65
- data/spec/debian/cron_spec.rb +0 -21
- data/spec/debian/default_gateway_spec.rb +0 -16
- data/spec/debian/file_spec.rb +0 -413
- data/spec/debian/group_spec.rb +0 -22
- data/spec/debian/host_spec.rb +0 -58
- data/spec/debian/interface_spec.rb +0 -24
- data/spec/debian/ip6tables_spec.rb +0 -21
- data/spec/debian/iptables_spec.rb +0 -21
- data/spec/debian/kernel_module_spec.rb +0 -12
- data/spec/debian/linux_kernel_parameter_spec.rb +0 -36
- data/spec/debian/lxc_spec.rb +0 -22
- data/spec/debian/mail_alias_spec.rb +0 -12
- data/spec/debian/package_spec.rb +0 -130
- data/spec/debian/php_config_spec.rb +0 -36
- data/spec/debian/port_spec.rb +0 -40
- data/spec/debian/process_spec.rb +0 -29
- data/spec/debian/routing_table_spec.rb +0 -120
- data/spec/debian/selinux_spec.rb +0 -18
- data/spec/debian/service_spec.rb +0 -93
- data/spec/debian/user_spec.rb +0 -57
- data/spec/debian/zfs_spec.rb +0 -18
- data/spec/fedora/cgroup_spec.rb +0 -14
- data/spec/fedora/command_spec.rb +0 -67
- data/spec/fedora/cron_spec.rb +0 -21
- data/spec/fedora/default_gateway_spec.rb +0 -16
- data/spec/fedora/file_spec.rb +0 -413
- data/spec/fedora/group_spec.rb +0 -21
- data/spec/fedora/host_spec.rb +0 -58
- data/spec/fedora/interface_spec.rb +0 -24
- data/spec/fedora/ip6tables_spec.rb +0 -21
- data/spec/fedora/iptables_spec.rb +0 -21
- data/spec/fedora/kernel_module_spec.rb +0 -12
- data/spec/fedora/linux_kernel_parameter_spec.rb +0 -36
- data/spec/fedora/lxc_spec.rb +0 -22
- data/spec/fedora/mail_alias_spec.rb +0 -12
- data/spec/fedora/package_spec.rb +0 -118
- data/spec/fedora/php_config_spec.rb +0 -36
- data/spec/fedora/port_spec.rb +0 -30
- data/spec/fedora/process_spec.rb +0 -41
- data/spec/fedora/routing_table_spec.rb +0 -120
- data/spec/fedora/selinux_spec.rb +0 -18
- data/spec/fedora/user_spec.rb +0 -57
- data/spec/fedora/yumrepo_spec.rb +0 -25
- data/spec/fedora/zfs_spec.rb +0 -18
- data/spec/freebsd/command_spec.rb +0 -65
- data/spec/freebsd/cron_spec.rb +0 -21
- data/spec/freebsd/default_gateway_spec.rb +0 -16
- data/spec/freebsd/file_spec.rb +0 -385
- data/spec/freebsd/group_spec.rb +0 -21
- data/spec/freebsd/host_spec.rb +0 -58
- data/spec/freebsd/package_spec.rb +0 -96
- data/spec/freebsd/php_config_spec.rb +0 -36
- data/spec/freebsd/port_spec.rb +0 -30
- data/spec/freebsd/process_spec.rb +0 -29
- data/spec/freebsd/routing_table_spec.rb +0 -120
- data/spec/freebsd/service_spec.rb +0 -93
- data/spec/freebsd/user_spec.rb +0 -57
- data/spec/freebsd10/package_spec.rb +0 -13
- data/spec/gentoo/cgroup_spec.rb +0 -14
- data/spec/gentoo/command_spec.rb +0 -65
- data/spec/gentoo/cron_spec.rb +0 -21
- data/spec/gentoo/default_gateway_spec.rb +0 -16
- data/spec/gentoo/file_spec.rb +0 -413
- data/spec/gentoo/group_spec.rb +0 -21
- data/spec/gentoo/host_spec.rb +0 -58
- data/spec/gentoo/interface_spec.rb +0 -24
- data/spec/gentoo/ip6tables_spec.rb +0 -21
- data/spec/gentoo/iptables_spec.rb +0 -21
- data/spec/gentoo/kernel_module_spec.rb +0 -12
- data/spec/gentoo/linux_kernel_parameter_spec.rb +0 -36
- data/spec/gentoo/lxc_spec.rb +0 -22
- data/spec/gentoo/mail_alias_spec.rb +0 -12
- data/spec/gentoo/package_spec.rb +0 -91
- data/spec/gentoo/php_config_spec.rb +0 -36
- data/spec/gentoo/port_spec.rb +0 -30
- data/spec/gentoo/process_spec.rb +0 -29
- data/spec/gentoo/routing_table_spec.rb +0 -120
- data/spec/gentoo/selinux_spec.rb +0 -18
- data/spec/gentoo/service_spec.rb +0 -93
- data/spec/gentoo/user_spec.rb +0 -57
- data/spec/gentoo/zfs_spec.rb +0 -18
- data/spec/nixos/file_spec.rb +0 -421
- data/spec/nixos/package_spec.rb +0 -109
- data/spec/nixos/service_spec.rb +0 -40
- data/spec/plamo/cgroup_spec.rb +0 -14
- data/spec/plamo/command_spec.rb +0 -65
- data/spec/plamo/cron_spec.rb +0 -21
- data/spec/plamo/default_gateway_spec.rb +0 -16
- data/spec/plamo/file_spec.rb +0 -413
- data/spec/plamo/group_spec.rb +0 -22
- data/spec/plamo/host_spec.rb +0 -58
- data/spec/plamo/interface_spec.rb +0 -24
- data/spec/plamo/ip6tables_spec.rb +0 -21
- data/spec/plamo/iptables_spec.rb +0 -21
- data/spec/plamo/kernel_module_spec.rb +0 -12
- data/spec/plamo/linux_kernel_parameter_spec.rb +0 -36
- data/spec/plamo/lxc_spec.rb +0 -22
- data/spec/plamo/mail_alias_spec.rb +0 -12
- data/spec/plamo/package_spec.rb +0 -100
- data/spec/plamo/php_config_spec.rb +0 -36
- data/spec/plamo/port_spec.rb +0 -30
- data/spec/plamo/routing_table_spec.rb +0 -120
- data/spec/plamo/selinux_spec.rb +0 -18
- data/spec/plamo/service_spec.rb +0 -84
- data/spec/plamo/user_spec.rb +0 -57
- data/spec/plamo/zfs_spec.rb +0 -18
- data/spec/redhat/cgroup_spec.rb +0 -14
- data/spec/redhat/command_spec.rb +0 -67
- data/spec/redhat/cron_spec.rb +0 -21
- data/spec/redhat/default_gateway_spec.rb +0 -16
- data/spec/redhat/file_spec.rb +0 -418
- data/spec/redhat/group_spec.rb +0 -21
- data/spec/redhat/host_spec.rb +0 -64
- data/spec/redhat/interface_spec.rb +0 -24
- data/spec/redhat/ip6tables_spec.rb +0 -21
- data/spec/redhat/iptables_spec.rb +0 -21
- data/spec/redhat/kernel_module_spec.rb +0 -12
- data/spec/redhat/linux_kernel_parameter_spec.rb +0 -36
- data/spec/redhat/lxc_spec.rb +0 -22
- data/spec/redhat/mail_alias_spec.rb +0 -12
- data/spec/redhat/package_spec.rb +0 -118
- data/spec/redhat/php_config_spec.rb +0 -36
- data/spec/redhat/port_spec.rb +0 -30
- data/spec/redhat/process_spec.rb +0 -41
- data/spec/redhat/routing_table_spec.rb +0 -120
- data/spec/redhat/selinux_spec.rb +0 -18
- data/spec/redhat/service_spec.rb +0 -93
- data/spec/redhat/user_spec.rb +0 -57
- data/spec/redhat/yumrepo_spec.rb +0 -25
- data/spec/redhat/zfs_spec.rb +0 -18
- data/spec/redhat7/service_spec.rb +0 -21
- data/spec/smartos/mail_alias_spec.rb +0 -12
- data/spec/smartos/process_spec.rb +0 -29
- data/spec/solaris/command_spec.rb +0 -65
- data/spec/solaris/cron_spec.rb +0 -21
- data/spec/solaris/default_gateway_spec.rb +0 -16
- data/spec/solaris/file_spec.rb +0 -413
- data/spec/solaris/group_spec.rb +0 -21
- data/spec/solaris/host_spec.rb +0 -58
- data/spec/solaris/ipfilter_spec.rb +0 -8
- data/spec/solaris/ipnat_spec.rb +0 -8
- data/spec/solaris/mail_alias_spec.rb +0 -12
- data/spec/solaris/package_spec.rb +0 -100
- data/spec/solaris/php_config_spec.rb +0 -36
- data/spec/solaris/port_spec.rb +0 -30
- data/spec/solaris/process_spec.rb +0 -29
- data/spec/solaris/routing_table_spec.rb +0 -120
- data/spec/solaris/service_spec.rb +0 -93
- data/spec/solaris/svcprop_spec.rb +0 -13
- data/spec/solaris/user_spec.rb +0 -57
- data/spec/solaris/zfs_spec.rb +0 -18
- data/spec/solaris10/file_spec.rb +0 -395
- data/spec/solaris10/group_spec.rb +0 -21
- data/spec/solaris10/mail_alias_spec.rb +0 -12
- data/spec/solaris10/package_spec.rb +0 -85
- data/spec/solaris10/php_config_spec.rb +0 -36
- data/spec/solaris10/user_spec.rb +0 -57
- data/spec/solaris11/command_spec.rb +0 -65
- data/spec/solaris11/cron_spec.rb +0 -21
- data/spec/solaris11/default_gateway_spec.rb +0 -16
- data/spec/solaris11/file_spec.rb +0 -413
- data/spec/solaris11/group_spec.rb +0 -21
- data/spec/solaris11/host_spec.rb +0 -58
- data/spec/solaris11/ipfilter_spec.rb +0 -8
- data/spec/solaris11/ipnat_spec.rb +0 -8
- data/spec/solaris11/mail_alias_spec.rb +0 -12
- data/spec/solaris11/package_spec.rb +0 -100
- data/spec/solaris11/php_config_spec.rb +0 -36
- data/spec/solaris11/port_spec.rb +0 -12
- data/spec/solaris11/routing_table_spec.rb +0 -120
- data/spec/solaris11/service_spec.rb +0 -93
- data/spec/solaris11/svcprop_spec.rb +0 -13
- data/spec/solaris11/user_spec.rb +0 -57
- data/spec/solaris11/zfs_spec.rb +0 -18
- data/spec/support/powershell_command_runner.rb +0 -52
- data/spec/ubuntu/ppa_spec.rb +0 -25
- data/spec/windows/command_spec.rb +0 -67
- data/spec/windows/file_spec.rb +0 -161
- data/spec/windows/group_spec.rb +0 -28
- data/spec/windows/port_spec.rb +0 -31
- data/spec/windows/service_spec.rb +0 -31
- data/spec/windows/user_spec.rb +0 -44
- data/spec/windows/windows_hot_fix_spec.rb +0 -25
- data/spec/windows/windows_registry_key_spec.rb +0 -66
data/spec/arch/package_spec.rb
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
include SpecInfra::Helper::Arch
|
|
4
|
-
|
|
5
|
-
describe package('curl') do
|
|
6
|
-
it { should be_installed }
|
|
7
|
-
its(:command) { should eq "pacman -Q | grep curl" }
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
describe package('invalid-package') do
|
|
11
|
-
it { should_not be_installed }
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
describe package('curl') do
|
|
15
|
-
it { should be_installed.with_version('7.37.0-1') }
|
|
16
|
-
its(:command) { should eq "pacman -Q | grep curl 7.37.0-1" }
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
package('invalid-package') do
|
|
20
|
-
it { should_not be_installed.by('pacman') }
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
describe package('jekyll') do
|
|
24
|
-
it { should be_installed.by('gem') }
|
|
25
|
-
its(:command) { should eq "gem list --local | grep -w -- \\^jekyll" }
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
describe package('invalid-gem') do
|
|
29
|
-
it { should_not be_installed.by('gem') }
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
describe package('jekyll') do
|
|
33
|
-
it { should be_installed.by('gem').with_version('1.1.1') }
|
|
34
|
-
its(:command) { should eq "gem list --local | grep -w -- \\^jekyll | grep -w -- 1.1.1" }
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
describe package('jekyll') do
|
|
38
|
-
it { should_not be_installed.by('gem').with_version('invalid-version') }
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
describe package('bower') do
|
|
42
|
-
it { should be_installed.by('npm') }
|
|
43
|
-
its(:command) { should eq "npm ls bower -g" }
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
describe package('invalid-npm-package') do
|
|
47
|
-
it { should_not be_installed.by('npm') }
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
describe package('bower') do
|
|
51
|
-
it { should be_installed.by('npm').with_version('0.9.2') }
|
|
52
|
-
its(:command) { should eq "npm ls bower -g | grep -w -- 0.9.2" }
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
describe package('bower') do
|
|
56
|
-
it { should_not be_installed.by('npm').with_version('invalid-version') }
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
describe package('mongo') do
|
|
61
|
-
it { should be_installed.by('pecl') }
|
|
62
|
-
its(:command) { should eq "pecl list | grep -w -- \\^mongo" }
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
describe package('invalid-pecl') do
|
|
66
|
-
it { should_not be_installed.by('pecl') }
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
describe package('mongo') do
|
|
70
|
-
it { should be_installed.by('pecl').with_version('1.4.1') }
|
|
71
|
-
its(:command) { should eq "pecl list | grep -w -- \\^mongo | grep -w -- 1.4.1" }
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
describe package('mongo') do
|
|
75
|
-
it { should_not be_installed.by('pecl').with_version('invalid-version') }
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
describe package('XML_Util') do
|
|
79
|
-
it { should be_installed.by('pear').with_version('1.2.1') }
|
|
80
|
-
its(:command) { should eq "pear list | grep -w -- \\^XML_Util | grep -w -- 1.2.1" }
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
describe package('supervisor') do
|
|
84
|
-
it { should be_installed.by('pip').with_version('3.0') }
|
|
85
|
-
its(:command) { should eq "pip list | grep -w -- \\^supervisor | grep -w -- 3.0" }
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
describe package('invalid-pip') do
|
|
89
|
-
it { should_not be_installed.by('pip').with_version('invalid-version') }
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
describe package('App::Ack') do
|
|
93
|
-
it { should be_installed.by('cpan') }
|
|
94
|
-
its(:command) { should eq "cpan -l | grep -w -- \\^App::Ack" }
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
describe package('App::Ack') do
|
|
98
|
-
it { should be_installed.by('cpan').with_version('2.04') }
|
|
99
|
-
its(:command) { should eq "cpan -l | grep -w -- \\^App::Ack | grep -w -- 2.04" }
|
|
100
|
-
end
|
data/spec/arch/service_spec.rb
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
include SpecInfra::Helper::Arch
|
|
4
|
-
|
|
5
|
-
describe service('sshd') do
|
|
6
|
-
it { should be_enabled }
|
|
7
|
-
its(:command) { should eq "systemctl --plain list-dependencies multi-user.target | grep '^sshd.service$'" }
|
|
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("graphical.target") }
|
|
16
|
-
its(:command) { should eq "systemctl --plain list-dependencies graphical.target | grep '^sshd.service$'" }
|
|
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
|
-
it { should be_running }
|
|
25
|
-
its(:command) { should eq "systemctl is-active sshd.service" }
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
describe service('invalid-daemon') do
|
|
29
|
-
it { should_not be_running }
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
describe service('sshd') do
|
|
33
|
-
let(:stdout) { "sshd is stopped\r\n" }
|
|
34
|
-
it { should be_running }
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
describe service('sshd') do
|
|
38
|
-
it { should be_running.under('supervisor') }
|
|
39
|
-
its(:command) { should eq "supervisorctl status sshd | grep RUNNING" }
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
describe service('invalid-daemon') do
|
|
43
|
-
it { should_not be_running.under('supervisor') }
|
|
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,61 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
include SpecInfra::Helper::RedHat
|
|
4
|
-
include SpecInfra::Helper::Exec
|
|
5
|
-
|
|
6
|
-
describe 'configurations are not set' do
|
|
7
|
-
context file('/etc/passwd') do
|
|
8
|
-
it { should be_file }
|
|
9
|
-
its(:command) { should eq 'test -f /etc/passwd' }
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
describe 'path is set' do
|
|
14
|
-
let(:path) { '/sbin:/usr/sbin' }
|
|
15
|
-
context file('/etc/passwd') do
|
|
16
|
-
it { should be_file }
|
|
17
|
-
its(:command) { should eq 'env PATH=/sbin:/usr/sbin:$PATH test -f /etc/passwd' }
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
describe 'path is reset to nil' do
|
|
22
|
-
context file('/etc/passwd') do
|
|
23
|
-
it { should be_file }
|
|
24
|
-
its(:command) { should eq 'test -f /etc/passwd' }
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
describe 'pre_command is set' do
|
|
29
|
-
let(:pre_command) { 'source ~/.zshrc' }
|
|
30
|
-
context file('/etc/passwd') do
|
|
31
|
-
it { should be_file }
|
|
32
|
-
its(:command) { should eq 'source ~/.zshrc && test -f /etc/passwd' }
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
describe 'path and pre_command are set' do
|
|
37
|
-
let(:path) { '/sbin:/usr/sbin' }
|
|
38
|
-
let(:pre_command) { 'source ~/.zshrc' }
|
|
39
|
-
context file('/etc/passwd') do
|
|
40
|
-
it { should be_file }
|
|
41
|
-
its(:command) { should eq 'env PATH=/sbin:/usr/sbin:$PATH source ~/.zshrc && env PATH=/sbin:/usr/sbin:$PATH test -f /etc/passwd' }
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
describe 'path is set for check_selinux' do
|
|
46
|
-
let(:path) { '/sbin:/usr/sbin' }
|
|
47
|
-
context selinux do
|
|
48
|
-
it { should be_disabled }
|
|
49
|
-
its(:command) { should eq "env PATH=/sbin:/usr/sbin:$PATH test ! -f /etc/selinux/config || (env PATH=/sbin:/usr/sbin:$PATH getenforce | grep -i -- disabled && env PATH=/sbin:/usr/sbin:$PATH grep -i -- ^SELINUX=disabled$ /etc/selinux/config)" }
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
context selinux do
|
|
53
|
-
it { should be_enforcing }
|
|
54
|
-
its(:command) { should eq "env PATH=/sbin:/usr/sbin:$PATH getenforce | grep -i -- enforcing && env PATH=/sbin:/usr/sbin:$PATH grep -i -- ^SELINUX=enforcing$ /etc/selinux/config" }
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
context selinux do
|
|
58
|
-
it { should be_permissive }
|
|
59
|
-
its(:command) { should eq "env PATH=/sbin:/usr/sbin:$PATH getenforce | grep -i -- permissive && env PATH=/sbin:/usr/sbin:$PATH grep -i -- ^SELINUX=permissive$ /etc/selinux/config" }
|
|
60
|
-
end
|
|
61
|
-
end
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
include SpecInfra::Backend::PowerShell::ScriptHelper
|
|
4
|
-
|
|
5
|
-
describe 'build command with path' do
|
|
6
|
-
before :each do
|
|
7
|
-
RSpec.configure do |c|
|
|
8
|
-
c.path = 'c:/test/path/bin'
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
it "should prefix the command with the path instruction" do
|
|
13
|
-
cmd = build_command('run_script -f param')
|
|
14
|
-
cmd.should eq <<-eof
|
|
15
|
-
$env:path = "c:/test/path/bin;$env:path"
|
|
16
|
-
run_script -f param
|
|
17
|
-
eof
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
after :each do
|
|
21
|
-
RSpec.configure do |c|
|
|
22
|
-
c.path = nil
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
describe 'add pre-command' do
|
|
28
|
-
before :each do
|
|
29
|
-
SpecInfra.configuration.pre_command = 'test_pre_command'
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
it "should add the test for pre_command before the command" do
|
|
33
|
-
cmd = add_pre_command('run_script -f param')
|
|
34
|
-
cmd.should eq <<-eof
|
|
35
|
-
if (test_pre_command)
|
|
36
|
-
{
|
|
37
|
-
run_script -f param
|
|
38
|
-
}
|
|
39
|
-
eof
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
context "with path" do
|
|
43
|
-
before :each do
|
|
44
|
-
RSpec.configure do |c|
|
|
45
|
-
c.path = 'c:/test/path/bin'
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
it "should add the path instruction and the test for pre_command before the command" do
|
|
50
|
-
cmd = add_pre_command('run_script -f param')
|
|
51
|
-
cmd.should eq <<-eof
|
|
52
|
-
$env:path = "c:/test/path/bin;$env:path"
|
|
53
|
-
if (test_pre_command)
|
|
54
|
-
{
|
|
55
|
-
run_script -f param
|
|
56
|
-
}
|
|
57
|
-
eof
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
after :each do
|
|
61
|
-
RSpec.configure do |c|
|
|
62
|
-
c.path = nil
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
after :each do
|
|
68
|
-
SpecInfra.configuration.pre_command = nil
|
|
69
|
-
end
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
describe "script encoding" do
|
|
73
|
-
it "should encode the given script" do
|
|
74
|
-
script = encode_script("test_powershell_script")
|
|
75
|
-
script.should == "dABlAHMAdABfAHAAbwB3AGUAcgBzAGgAZQBsAGwAXwBzAGMAcgBpAHAAdAA="
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
describe 'script creation' do
|
|
80
|
-
context "powershell command" do
|
|
81
|
-
File.should_receive(:read).with(/test_function1.ps1/).and_return 'function test1'
|
|
82
|
-
command = Backend::PowerShell::Command.new do
|
|
83
|
-
using 'test_function1.ps1'
|
|
84
|
-
exec 'test command'
|
|
85
|
-
end
|
|
86
|
-
script = create_script command
|
|
87
|
-
script.should == <<-eof
|
|
88
|
-
$exitCode = 1
|
|
89
|
-
$ProgressPreference = "SilentlyContinue"
|
|
90
|
-
try {
|
|
91
|
-
function test1
|
|
92
|
-
$success = (test command)
|
|
93
|
-
if ($success -is [Boolean] -and $success) { $exitCode = 0 }
|
|
94
|
-
} catch {
|
|
95
|
-
Write-Output $_.Exception.Message
|
|
96
|
-
}
|
|
97
|
-
Write-Output "Exiting with code: $exitCode"
|
|
98
|
-
exit $exitCode
|
|
99
|
-
eof
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
context 'simple command' do
|
|
103
|
-
create_script('test command').should == 'test command'
|
|
104
|
-
end
|
|
105
|
-
end
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
include SpecInfra::Helper::RedHat
|
|
4
|
-
include SpecInfra::Helper::Ssh
|
|
5
|
-
|
|
6
|
-
ssh = double
|
|
7
|
-
|
|
8
|
-
describe 'configurations are not set' do
|
|
9
|
-
before :all do
|
|
10
|
-
RSpec.configure do |c|
|
|
11
|
-
ssh.stub(:options) { { :user => 'root' } }
|
|
12
|
-
c.ssh = ssh
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
context file('/etc/passwd') do
|
|
17
|
-
it { should be_file }
|
|
18
|
-
its(:command) { should eq 'test -f /etc/passwd' }
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
describe 'path is set' do
|
|
23
|
-
before :all do
|
|
24
|
-
RSpec.configure do |c|
|
|
25
|
-
ssh.stub(:options) { { :user => 'root' } }
|
|
26
|
-
c.ssh = ssh
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
let(:path) { '/sbin:/usr/sbin' }
|
|
31
|
-
context file('/etc/passwd') do
|
|
32
|
-
it { should be_file }
|
|
33
|
-
its(:command) { should eq 'env PATH=/sbin:/usr/sbin:$PATH test -f /etc/passwd' }
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
describe 'pre_command is set and user is root' do
|
|
38
|
-
before :all do
|
|
39
|
-
RSpec.configure do |c|
|
|
40
|
-
ssh.stub(:options) { { :user => 'root' } }
|
|
41
|
-
c.ssh = ssh
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
let(:pre_command) { 'source ~/.zshrc' }
|
|
46
|
-
context file('/etc/passwd') do
|
|
47
|
-
it { should be_file }
|
|
48
|
-
its(:command) { should eq 'source ~/.zshrc && test -f /etc/passwd' }
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
describe 'pre_command is set and user is non-root' do
|
|
53
|
-
before :all do
|
|
54
|
-
RSpec.configure do |c|
|
|
55
|
-
ssh.stub(:options) { { :user => 'foo' } }
|
|
56
|
-
c.ssh = ssh
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
let(:pre_command) { 'source ~/.zshrc' }
|
|
61
|
-
context file('/etc/passwd') do
|
|
62
|
-
it { should be_file }
|
|
63
|
-
its(:command) { should eq 'sudo source ~/.zshrc && sudo test -f /etc/passwd' }
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
describe 'pre_command is not set and user is non-root' do
|
|
68
|
-
before :all do
|
|
69
|
-
RSpec.configure do |c|
|
|
70
|
-
ssh.stub(:options) { { :user => 'foo' } }
|
|
71
|
-
c.ssh = ssh
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
context file('/etc/passwd') do
|
|
76
|
-
it { should be_file }
|
|
77
|
-
its(:command) { should eq 'sudo test -f /etc/passwd' }
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
describe 'path pre_command and set and user is non-root' do
|
|
83
|
-
before :all do
|
|
84
|
-
RSpec.configure do |c|
|
|
85
|
-
ssh.stub(:options) { { :user => 'foo' } }
|
|
86
|
-
c.ssh = ssh
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
let(:path) { '/sbin:/usr/sbin' }
|
|
91
|
-
let(:pre_command) { 'source ~/.zshrc' }
|
|
92
|
-
context file('/etc/passwd') do
|
|
93
|
-
it { should be_file }
|
|
94
|
-
its(:command) { should eq 'sudo env PATH=/sbin:/usr/sbin:$PATH source ~/.zshrc && sudo env PATH=/sbin:/usr/sbin:$PATH test -f /etc/passwd' }
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
describe 'path pre_command and set and user is non-root' do
|
|
99
|
-
before :all do
|
|
100
|
-
RSpec.configure do |c|
|
|
101
|
-
ssh.stub(:options) { { :user => 'root' } }
|
|
102
|
-
c.ssh = ssh
|
|
103
|
-
end
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
let(:path) { '/sbin:/usr/sbin' }
|
|
107
|
-
let(:pre_command) { 'source ~/.zshrc' }
|
|
108
|
-
context file('/etc/passwd') do
|
|
109
|
-
it { should be_file }
|
|
110
|
-
its(:command) { should eq 'env PATH=/sbin:/usr/sbin:$PATH source ~/.zshrc && env PATH=/sbin:/usr/sbin:$PATH test -f /etc/passwd' }
|
|
111
|
-
end
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
describe 'user is non-root for check_selinux' do
|
|
115
|
-
context selinux do
|
|
116
|
-
before :all do
|
|
117
|
-
RSpec.configure do |c|
|
|
118
|
-
ssh.stub(:options) { { :user => 'foo' } }
|
|
119
|
-
c.ssh = ssh
|
|
120
|
-
end
|
|
121
|
-
end
|
|
122
|
-
it { should be_disabled }
|
|
123
|
-
its(:command) { should eq "sudo test ! -f /etc/selinux/config || (sudo getenforce | grep -i -- disabled && sudo grep -i -- ^SELINUX=disabled$ /etc/selinux/config)" }
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
context selinux do
|
|
127
|
-
before :all do
|
|
128
|
-
RSpec.configure do |c|
|
|
129
|
-
ssh.stub(:options) { { :user => 'foo' } }
|
|
130
|
-
c.ssh = ssh
|
|
131
|
-
end
|
|
132
|
-
end
|
|
133
|
-
it { should be_enforcing }
|
|
134
|
-
its(:command) { should eq "sudo getenforce | grep -i -- enforcing && sudo grep -i -- ^SELINUX=enforcing$ /etc/selinux/config" }
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
context selinux do
|
|
138
|
-
before :all do
|
|
139
|
-
RSpec.configure do |c|
|
|
140
|
-
ssh.stub(:options) { { :user => 'foo' } }
|
|
141
|
-
c.ssh = ssh
|
|
142
|
-
end
|
|
143
|
-
end
|
|
144
|
-
it { should be_permissive }
|
|
145
|
-
its(:command) { should eq "sudo getenforce | grep -i -- permissive && sudo grep -i -- ^SELINUX=permissive$ /etc/selinux/config" }
|
|
146
|
-
end
|
|
147
|
-
end
|
|
148
|
-
|
|
149
|
-
describe 'path is set and user is non-root for check_selinux' do
|
|
150
|
-
let(:path) { "/sbin:/usr/sbin" }
|
|
151
|
-
|
|
152
|
-
context selinux do
|
|
153
|
-
before :all do
|
|
154
|
-
RSpec.configure do |c|
|
|
155
|
-
ssh.stub(:options) { { :user => 'foo' } }
|
|
156
|
-
c.ssh = ssh
|
|
157
|
-
end
|
|
158
|
-
end
|
|
159
|
-
it { should be_disabled }
|
|
160
|
-
its(:command) { should eq "sudo env PATH=/sbin:/usr/sbin:$PATH test ! -f /etc/selinux/config || (sudo env PATH=/sbin:/usr/sbin:$PATH getenforce | grep -i -- disabled && sudo env PATH=/sbin:/usr/sbin:$PATH grep -i -- ^SELINUX=disabled$ /etc/selinux/config)" }
|
|
161
|
-
end
|
|
162
|
-
|
|
163
|
-
context selinux do
|
|
164
|
-
before :all do
|
|
165
|
-
RSpec.configure do |c|
|
|
166
|
-
ssh.stub(:options) { { :user => 'foo' } }
|
|
167
|
-
c.ssh = ssh
|
|
168
|
-
end
|
|
169
|
-
end
|
|
170
|
-
it { should be_enforcing }
|
|
171
|
-
its(:command) { should eq "sudo env PATH=/sbin:/usr/sbin:$PATH getenforce | grep -i -- enforcing && sudo env PATH=/sbin:/usr/sbin:$PATH grep -i -- ^SELINUX=enforcing$ /etc/selinux/config" }
|
|
172
|
-
end
|
|
173
|
-
|
|
174
|
-
context selinux do
|
|
175
|
-
before :all do
|
|
176
|
-
RSpec.configure do |c|
|
|
177
|
-
ssh.stub(:options) { { :user => 'foo' } }
|
|
178
|
-
c.ssh = ssh
|
|
179
|
-
end
|
|
180
|
-
end
|
|
181
|
-
it { should be_permissive }
|
|
182
|
-
its(:command) { should eq "sudo env PATH=/sbin:/usr/sbin:$PATH getenforce | grep -i -- permissive && sudo env PATH=/sbin:/usr/sbin:$PATH grep -i -- ^SELINUX=permissive$ /etc/selinux/config" }
|
|
183
|
-
end
|
|
184
|
-
end
|