specinfra 2.0.0.beta15 → 2.0.0.beta16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/specinfra.rb +1 -1
- data/lib/specinfra/command/aix/base/file.rb +15 -13
- data/lib/specinfra/command/aix/base/group.rb +5 -3
- data/lib/specinfra/command/aix/base/package.rb +7 -5
- data/lib/specinfra/command/aix/base/port.rb +5 -3
- data/lib/specinfra/command/aix/base/service.rb +7 -5
- data/lib/specinfra/command/aix/base/user.rb +10 -8
- data/lib/specinfra/command/arch/base/file.rb +4 -2
- data/lib/specinfra/command/arch/base/package.rb +17 -15
- data/lib/specinfra/command/arch/base/service.rb +3 -1
- data/lib/specinfra/command/base.rb +70 -68
- data/lib/specinfra/command/base/cron.rb +8 -6
- data/lib/specinfra/command/base/file.rb +94 -92
- data/lib/specinfra/command/base/group.rb +8 -6
- data/lib/specinfra/command/base/host.rb +18 -16
- data/lib/specinfra/command/base/mail_alias.rb +5 -3
- data/lib/specinfra/command/base/package.rb +36 -34
- data/lib/specinfra/command/base/port.rb +7 -5
- data/lib/specinfra/command/base/process.rb +10 -9
- data/lib/specinfra/command/base/routing_table.rb +6 -4
- data/lib/specinfra/command/base/service.rb +19 -17
- data/lib/specinfra/command/base/user.rb +24 -22
- data/lib/specinfra/command/darwin/base/file.rb +35 -33
- data/lib/specinfra/command/darwin/base/package.rb +12 -10
- data/lib/specinfra/command/darwin/base/port.rb +5 -3
- data/lib/specinfra/command/darwin/base/service.rb +7 -5
- data/lib/specinfra/command/debian/base/package.rb +16 -14
- data/lib/specinfra/command/debian/base/service.rb +5 -3
- data/lib/specinfra/command/fedora/base/service.rb +7 -6
- data/lib/specinfra/command/fedora/v15/service.rb +3 -1
- data/lib/specinfra/command/freebsd/base/file.rb +8 -6
- data/lib/specinfra/command/freebsd/base/package.rb +13 -11
- data/lib/specinfra/command/freebsd/base/port.rb +5 -3
- data/lib/specinfra/command/freebsd/base/service.rb +4 -2
- data/lib/specinfra/command/freebsd/v10/package.rb +13 -11
- data/lib/specinfra/command/gentoo/base/package.rb +4 -2
- data/lib/specinfra/command/gentoo/base/service.rb +9 -7
- data/lib/specinfra/command/linux/base/file.rb +10 -8
- data/lib/specinfra/command/linux/base/interface.rb +13 -11
- data/lib/specinfra/command/linux/base/iptables.rb +9 -7
- data/lib/specinfra/command/linux/base/kernel_module.rb +4 -2
- data/lib/specinfra/command/linux/base/lxc_container.rb +7 -5
- data/lib/specinfra/command/linux/base/selinux.rb +9 -7
- data/lib/specinfra/command/linux/base/zfs.rb +3 -1
- data/lib/specinfra/command/nixos/base/package.rb +12 -10
- data/lib/specinfra/command/nixos/base/service.rb +3 -1
- data/lib/specinfra/command/openbsd/base/file.rb +31 -29
- data/lib/specinfra/command/openbsd/base/interface.rb +8 -13
- data/lib/specinfra/command/openbsd/base/mail_alias.rb +4 -2
- data/lib/specinfra/command/openbsd/base/package.rb +10 -8
- data/lib/specinfra/command/openbsd/base/port.rb +4 -2
- data/lib/specinfra/command/openbsd/base/service.rb +7 -5
- data/lib/specinfra/command/openbsd/base/user.rb +8 -6
- data/lib/specinfra/command/opensuse/base/service.rb +3 -1
- data/lib/specinfra/command/plamo/base/package.rb +7 -5
- data/lib/specinfra/command/plamo/base/service.rb +6 -4
- data/lib/specinfra/command/redhat/base/file.rb +5 -3
- data/lib/specinfra/command/redhat/base/package.rb +14 -12
- data/lib/specinfra/command/redhat/base/service.rb +4 -2
- data/lib/specinfra/command/redhat/base/yumrepo.rb +7 -5
- data/lib/specinfra/command/redhat/v5/iptables.rb +7 -5
- data/lib/specinfra/command/redhat/v7/service.rb +3 -1
- data/lib/specinfra/command/smartos/base/package.rb +10 -8
- data/lib/specinfra/command/smartos/base/service.rb +7 -5
- data/lib/specinfra/command/solaris/base/cron.rb +8 -6
- data/lib/specinfra/command/solaris/base/file.rb +15 -13
- data/lib/specinfra/command/solaris/base/group.rb +5 -3
- data/lib/specinfra/command/solaris/base/host.rb +7 -5
- data/lib/specinfra/command/solaris/base/ipfilter.rb +4 -2
- data/lib/specinfra/command/solaris/base/ipnat.rb +5 -3
- data/lib/specinfra/command/solaris/base/package.rb +7 -5
- data/lib/specinfra/command/solaris/base/port.rb +9 -7
- data/lib/specinfra/command/solaris/base/service.rb +14 -13
- data/lib/specinfra/command/solaris/base/user.rb +10 -8
- data/lib/specinfra/command/solaris/base/zfs.rb +3 -1
- data/lib/specinfra/command/solaris/v10/file.rb +33 -31
- data/lib/specinfra/command/solaris/v10/group.rb +4 -2
- data/lib/specinfra/command/solaris/v10/host.rb +9 -7
- data/lib/specinfra/command/solaris/v10/package.rb +7 -5
- data/lib/specinfra/command/solaris/v10/user.rb +8 -6
- data/lib/specinfra/command/suse/base/package.rb +14 -12
- data/lib/specinfra/command/suse/base/service.rb +4 -2
- data/lib/specinfra/command/ubuntu/base/ppa.rb +11 -9
- data/lib/specinfra/command/ubuntu/base/service.rb +4 -2
- data/lib/specinfra/command/windows/base.rb +11 -10
- data/lib/specinfra/command/windows/base/feature.rb +11 -9
- data/lib/specinfra/command/windows/base/file.rb +72 -71
- data/lib/specinfra/command/windows/base/group.rb +7 -5
- data/lib/specinfra/command/windows/base/host.rb +18 -16
- data/lib/specinfra/command/windows/base/hot_fix.rb +13 -11
- data/lib/specinfra/command/windows/base/iis_app_pool.rb +11 -9
- data/lib/specinfra/command/windows/base/iis_website.rb +26 -24
- data/lib/specinfra/command/windows/base/package.rb +7 -5
- data/lib/specinfra/command/windows/base/port.rb +11 -9
- data/lib/specinfra/command/windows/base/process.rb +5 -3
- data/lib/specinfra/command/windows/base/registry_key.rb +36 -35
- data/lib/specinfra/command/windows/base/scheduled_task.rb +6 -4
- data/lib/specinfra/command/windows/base/service.rb +21 -19
- data/lib/specinfra/command/windows/base/user.rb +16 -14
- data/lib/specinfra/runner.rb +1 -2
- data/lib/specinfra/version.rb +1 -1
- data/spec/command/base_spec.rb +12 -4
- data/spec/command/module/systemd_spec.rb +14 -4
- data/spec/command/redhat/interface_spec.rb +1 -1
- metadata +1 -2
- data/lib/specinfra/command/smartos/tmp.rb +0 -8
@@ -1,9 +1,11 @@
|
|
1
1
|
class Specinfra::Command::Windows::Base::Group < Specinfra::Command::Windows::Base
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
class << self
|
3
|
+
def check_exists(group)
|
4
|
+
group_id, domain = windows_account group
|
5
|
+
Backend::PowerShell::Command.new do
|
6
|
+
using 'find_group.ps1'
|
7
|
+
exec "(FindGroup -groupName '#{group_id}'#{domain.nil? ? "" : " -domain '#{domain}'"}) -ne $null"
|
8
|
+
end
|
7
9
|
end
|
8
10
|
end
|
9
11
|
end
|
@@ -1,22 +1,24 @@
|
|
1
1
|
class Specinfra::Command::Windows::Base::Host < Specinfra::Command::Windows::Base
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
class << self
|
3
|
+
def check_is_resolvable(name, type)
|
4
|
+
if type == "hosts"
|
5
|
+
cmd = "@(Select-String -path (Join-Path -Path $($env:windir) -ChildPath 'system32/drivers/etc/hosts') -pattern '#{name}\\b').count -gt 0"
|
6
|
+
else
|
7
|
+
cmd = "@([System.Net.Dns]::GetHostAddresses('#{name}')).count -gt 0"
|
8
|
+
end
|
9
|
+
Backend::PowerShell::Command.new { exec cmd }
|
7
10
|
end
|
8
|
-
Backend::PowerShell::Command.new { exec cmd }
|
9
|
-
end
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
12
|
+
def check_is_reachable(host, port, proto, timeout)
|
13
|
+
if port.nil?
|
14
|
+
Backend::PowerShell::Command.new do
|
15
|
+
exec "(New-Object System.Net.NetworkInformation.Ping).send('#{host}').Status -eq 'Success'"
|
16
|
+
end
|
17
|
+
else
|
18
|
+
Backend::PowerShell::Command.new do
|
19
|
+
using 'is_remote_port_listening.ps1'
|
20
|
+
exec"(IsRemotePortListening -hostname #{host} -port #{port} -timeout #{timeout} -proto #{proto}) -eq $true"
|
21
|
+
end
|
20
22
|
end
|
21
23
|
end
|
22
24
|
end
|
@@ -1,17 +1,19 @@
|
|
1
1
|
class Specinfra::Command::Windows::Base::HotFix < Specinfra::Command::Windows::Base
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
class << self
|
3
|
+
def check_is_installed(description, hot_fix_id=nil)
|
4
|
+
hot_fix_id_match = /(KB\d+)/i.match(description)
|
5
|
+
hot_fix_id = hot_fix_id_match ? hot_fix_id_match[1] : description if hot_fix_id.nil?
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
args = [
|
8
|
+
'-description', "'#{description}'",
|
9
|
+
'-hotFixId', "'#{hot_fix_id}'"
|
10
|
+
]
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
cmd = "(FindInstalledHotFix #{args.join(' ')})"
|
13
|
+
Backend::PowerShell::Command.new do
|
14
|
+
using 'find_installed_hot_fix.ps1'
|
15
|
+
exec "#{cmd} -eq $true"
|
16
|
+
end
|
15
17
|
end
|
16
18
|
end
|
17
19
|
end
|
@@ -1,15 +1,17 @@
|
|
1
1
|
class Specinfra::Command::Windows::Base::IisAppPool < Specinfra::Command::Windows::Base
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
class << self
|
3
|
+
def check_exists(name)
|
4
|
+
Backend::PowerShell::Command.new do
|
5
|
+
using 'find_iis_component.ps1'
|
6
|
+
exec "@(FindIISAppPool -name '#{name}').count -gt 0"
|
7
|
+
end
|
6
8
|
end
|
7
|
-
end
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
def check_has_dotnet_version(name, dotnet)
|
11
|
+
Backend::PowerShell::Command.new do
|
12
|
+
using 'find_iis_component.ps1'
|
13
|
+
exec "(FindIISAppPool -name '#{name}').managedRuntimeVersion -match 'v#{dotnet}'"
|
14
|
+
end
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
@@ -1,36 +1,38 @@
|
|
1
1
|
class Specinfra::Command::Windows::Base::IisWebsite < Specinfra::Command::Windows::Base
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
class << self
|
3
|
+
def check_is_enabled(name)
|
4
|
+
Backend::PowerShell::Command.new do
|
5
|
+
using 'find_iis_component.ps1'
|
6
|
+
exec "(FindIISWebsite -name '#{name}').serverAutoStart -eq $true"
|
7
|
+
end
|
6
8
|
end
|
7
|
-
end
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
def check_is_installed(name)
|
11
|
+
Backend::PowerShell::Command.new do
|
12
|
+
using 'find_iis_component.ps1'
|
13
|
+
exec "@(FindIISWebsite -name '#{name}').count -gt 0"
|
14
|
+
end
|
13
15
|
end
|
14
|
-
end
|
15
16
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
def check_is_running(name)
|
18
|
+
Backend::PowerShell::Command.new do
|
19
|
+
using 'find_iis_component.ps1'
|
20
|
+
exec "(FindIISWebsite -name '#{name}').state -eq 'Started'"
|
21
|
+
end
|
20
22
|
end
|
21
|
-
end
|
22
23
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
24
|
+
def check_is_in_app_pool(name, app_pool)
|
25
|
+
Backend::PowerShell::Command.new do
|
26
|
+
using 'find_iis_component.ps1'
|
27
|
+
exec "(FindIISWebsite -name '#{name}').applicationPool -match '#{app_pool}'"
|
28
|
+
end
|
27
29
|
end
|
28
|
-
end
|
29
30
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
31
|
+
def check_has_physical_path(name, path)
|
32
|
+
Backend::PowerShell::Command.new do
|
33
|
+
using 'find_iis_component.ps1'
|
34
|
+
exec "[System.Environment]::ExpandEnvironmentVariables( ( FindIISWebsite -name '#{name}' ).physicalPath ).replace('\\', '/' ) -eq ('#{path}'.trimEnd('/').replace('\\', '/'))"
|
35
|
+
end
|
34
36
|
end
|
35
37
|
end
|
36
38
|
end
|
@@ -1,9 +1,11 @@
|
|
1
1
|
class Specinfra::Command::Windows::Base::Package < Specinfra::Command::Windows::Base
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
class << self
|
3
|
+
def check_is_installed(package, version=nil)
|
4
|
+
version_selection = version.nil? ? "" : "-appVersion '#{version}'"
|
5
|
+
Backend::PowerShell::Command.new do
|
6
|
+
using 'find_installed_application.ps1'
|
7
|
+
exec "(FindInstalledApplication -appName '#{package}' #{version_selection}) -eq $true"
|
8
|
+
end
|
7
9
|
end
|
8
10
|
end
|
9
11
|
end
|
@@ -1,15 +1,17 @@
|
|
1
1
|
class Specinfra::Command::Windows::Base::Port < Specinfra::Command::Windows::Base
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
class << self
|
3
|
+
def check_is_listening(port, options=nil)
|
4
|
+
Backend::PowerShell::Command.new do
|
5
|
+
using 'is_port_listening.ps1'
|
6
|
+
exec "IsPortListening -portNumber #{port}"
|
7
|
+
end
|
6
8
|
end
|
7
|
-
end
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
def check_is_listening_with_protocol(port, protocol)
|
11
|
+
Backend::PowerShell::Command.new do
|
12
|
+
using 'is_port_listening.ps1'
|
13
|
+
exec "IsPortListening -portNumber #{port} -protocol '#{protocol}'"
|
14
|
+
end
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
@@ -1,7 +1,9 @@
|
|
1
1
|
class Specinfra::Command::Windows::Base::Process < Specinfra::Command::Windows::Base
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
class << self
|
3
|
+
def check_process(process)
|
4
|
+
Backend::PowerShell::Command.new do
|
5
|
+
exec "(Get-Process '#{process}') -ne $null"
|
6
|
+
end
|
5
7
|
end
|
6
8
|
end
|
7
9
|
end
|
@@ -1,43 +1,44 @@
|
|
1
1
|
class Specinfra::Command::Windows::Base::RegistryKey < Specinfra::Command::Windows::Base
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
2
|
+
class << self
|
3
|
+
REGISTRY_KEY_TYPES = {
|
4
|
+
:type_string => 'String',
|
5
|
+
:type_binary => 'Binary',
|
6
|
+
:type_dword => 'DWord',
|
7
|
+
:type_qword => 'QWord',
|
8
|
+
:type_multistring => 'MultiString',
|
9
|
+
:type_expandstring => 'ExpandString'
|
10
|
+
}
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
def check_exists(key_name)
|
13
|
+
cmd = "(Get-Item 'Registry::#{key_name}') -ne $null"
|
14
|
+
Backend::PowerShell::Command.new { exec cmd }
|
15
|
+
end
|
15
16
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
def check_has_property(key_name, key_property)
|
18
|
+
cmd = "(Get-Item 'Registry::#{key_name}').GetValueKind('#{key_property[:name]}') -eq '#{REGISTRY_KEY_TYPES[key_property[:type]]}'"
|
19
|
+
Backend::PowerShell::Command.new { exec cmd }
|
20
|
+
end
|
20
21
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
def check_has_value(key_name, key_property)
|
23
|
+
value = convert_key_property_value key_property
|
24
|
+
cmd = "(Compare-Object (Get-Item 'Registry::#{key_name}').GetValue('#{key_property[:name]}') #{value}) -eq $null"
|
25
|
+
Backend::PowerShell::Command.new { exec cmd }
|
26
|
+
end
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
28
|
+
private
|
29
|
+
def convert_key_property_value property
|
30
|
+
case property[:type]
|
31
|
+
when :type_binary
|
32
|
+
byte_array = [property[:value]].pack('H*').bytes.to_a
|
33
|
+
"([byte[]] #{byte_array.join(',')})"
|
34
|
+
when :type_dword
|
35
|
+
[property[:value].rjust(8, '0').scan(/[0-9a-f]{2}/i).reverse.join].pack("H*").unpack("l").first
|
36
|
+
when :type_qword
|
37
|
+
property[:value].hex
|
38
|
+
else
|
39
|
+
string_array = property[:value].split("\n").map {|s| "'#{s}'"}.reduce {|acc, s| "#{acc},#{s}"}
|
40
|
+
"@(#{string_array})"
|
41
|
+
end
|
40
42
|
end
|
41
43
|
end
|
42
|
-
|
43
44
|
end
|
@@ -1,8 +1,10 @@
|
|
1
1
|
class Specinfra::Command::Windows::Base::ScheduledTask < Specinfra::Command::Windows::Base
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
class << self
|
3
|
+
def check_exists(name)
|
4
|
+
Backend::PowerShell::Command.new do
|
5
|
+
using 'find_scheduled_task.ps1'
|
6
|
+
exec "(FindScheduledTask -name '#{name}').TaskName -eq '\\#{name}'"
|
7
|
+
end
|
6
8
|
end
|
7
9
|
end
|
8
10
|
end
|
@@ -1,29 +1,31 @@
|
|
1
1
|
class Specinfra::Command::Windows::Base::Service < Specinfra::Command::Windows::Base
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
class << self
|
3
|
+
def check_is_installed(service)
|
4
|
+
Backend::PowerShell::Command.new do
|
5
|
+
using 'find_service.ps1'
|
6
|
+
exec "@(FindService -name '#{service}').count -gt 0"
|
7
|
+
end
|
6
8
|
end
|
7
|
-
end
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
def check_has_start_mode(service, mode)
|
11
|
+
Backend::PowerShell::Command.new do
|
12
|
+
using 'find_service.ps1'
|
13
|
+
exec "'#{mode}' -match (FindService -name '#{service}').StartMode -and (FindService -name '#{service}') -ne $null"
|
14
|
+
end
|
13
15
|
end
|
14
|
-
end
|
15
16
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
def check_is_enabled(service, level=nil)
|
18
|
+
Backend::PowerShell::Command.new do
|
19
|
+
using 'find_service.ps1'
|
20
|
+
exec "(FindService -name '#{service}').StartMode -eq 'Auto'"
|
21
|
+
end
|
20
22
|
end
|
21
|
-
end
|
22
23
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
24
|
+
def check_is_running(service)
|
25
|
+
Backend::PowerShell::Command.new do
|
26
|
+
using 'find_service.ps1'
|
27
|
+
exec "(FindService -name '#{service}').State -eq 'Running'"
|
28
|
+
end
|
27
29
|
end
|
28
30
|
end
|
29
31
|
end
|
@@ -1,20 +1,22 @@
|
|
1
1
|
class Specinfra::Command::Windows::Base::User < Specinfra::Command::Windows::Base
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
class << self
|
3
|
+
def check_exists(user)
|
4
|
+
user_id, domain = windows_account user
|
5
|
+
Backend::PowerShell::Command.new do
|
6
|
+
using 'find_user.ps1'
|
7
|
+
exec "(FindUser -userName '#{user_id}'#{domain.nil? ? "" : " -domain '#{domain}'"}) -ne $null"
|
8
|
+
end
|
7
9
|
end
|
8
|
-
end
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
11
|
+
def check_belongs_to_group(user, group)
|
12
|
+
user_id, user_domain = windows_account user
|
13
|
+
group_id, group_domain = windows_account group
|
14
|
+
Backend::PowerShell::Command.new do
|
15
|
+
using 'find_user.ps1'
|
16
|
+
using 'find_group.ps1'
|
17
|
+
using 'find_usergroup.ps1'
|
18
|
+
exec "(FindUserGroup -userName '#{user_id}'#{user_domain.nil? ? "" : " -userDomain '#{user_domain}'"} -groupName '#{group_id}'#{group_domain.nil? ? "" : " -groupDomain '#{group_domain}'"}) -ne $null"
|
19
|
+
end
|
18
20
|
end
|
19
21
|
end
|
20
22
|
end
|
data/lib/specinfra/runner.rb
CHANGED
data/lib/specinfra/version.rb
CHANGED
data/spec/command/base_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
3
|
+
describe 'create_command_class work correctly' do
|
4
4
|
after do
|
5
5
|
property[:os_by_host] = nil
|
6
6
|
end
|
@@ -9,20 +9,28 @@ describe Specinfra::Command::Base do
|
|
9
9
|
before do
|
10
10
|
set :os, :family => 'base'
|
11
11
|
end
|
12
|
-
it { expect(
|
12
|
+
it { expect(Specinfra::Command::Base.create_command_class('file')).to eq Specinfra::Command::Base::File }
|
13
13
|
end
|
14
14
|
|
15
15
|
context 'family: redhat, release: nil' do
|
16
16
|
before do
|
17
17
|
set :os, :family => 'redhat'
|
18
18
|
end
|
19
|
-
it { expect(
|
19
|
+
it { expect(Specinfra::Command::Base.create_command_class('file')).to eq Specinfra::Command::Redhat::Base::File }
|
20
20
|
end
|
21
21
|
|
22
22
|
context 'family: redhat, release: 7' do
|
23
23
|
before do
|
24
24
|
set :os, :family => 'redhat', :release => 7
|
25
25
|
end
|
26
|
-
|
26
|
+
it { expect(Specinfra::Command::Base.create_command_class('file')).to eq Specinfra::Command::Redhat::V7::File }
|
27
27
|
end
|
28
28
|
end
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
|