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.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/lib/specinfra.rb +1 -1
  3. data/lib/specinfra/command/aix/base/file.rb +15 -13
  4. data/lib/specinfra/command/aix/base/group.rb +5 -3
  5. data/lib/specinfra/command/aix/base/package.rb +7 -5
  6. data/lib/specinfra/command/aix/base/port.rb +5 -3
  7. data/lib/specinfra/command/aix/base/service.rb +7 -5
  8. data/lib/specinfra/command/aix/base/user.rb +10 -8
  9. data/lib/specinfra/command/arch/base/file.rb +4 -2
  10. data/lib/specinfra/command/arch/base/package.rb +17 -15
  11. data/lib/specinfra/command/arch/base/service.rb +3 -1
  12. data/lib/specinfra/command/base.rb +70 -68
  13. data/lib/specinfra/command/base/cron.rb +8 -6
  14. data/lib/specinfra/command/base/file.rb +94 -92
  15. data/lib/specinfra/command/base/group.rb +8 -6
  16. data/lib/specinfra/command/base/host.rb +18 -16
  17. data/lib/specinfra/command/base/mail_alias.rb +5 -3
  18. data/lib/specinfra/command/base/package.rb +36 -34
  19. data/lib/specinfra/command/base/port.rb +7 -5
  20. data/lib/specinfra/command/base/process.rb +10 -9
  21. data/lib/specinfra/command/base/routing_table.rb +6 -4
  22. data/lib/specinfra/command/base/service.rb +19 -17
  23. data/lib/specinfra/command/base/user.rb +24 -22
  24. data/lib/specinfra/command/darwin/base/file.rb +35 -33
  25. data/lib/specinfra/command/darwin/base/package.rb +12 -10
  26. data/lib/specinfra/command/darwin/base/port.rb +5 -3
  27. data/lib/specinfra/command/darwin/base/service.rb +7 -5
  28. data/lib/specinfra/command/debian/base/package.rb +16 -14
  29. data/lib/specinfra/command/debian/base/service.rb +5 -3
  30. data/lib/specinfra/command/fedora/base/service.rb +7 -6
  31. data/lib/specinfra/command/fedora/v15/service.rb +3 -1
  32. data/lib/specinfra/command/freebsd/base/file.rb +8 -6
  33. data/lib/specinfra/command/freebsd/base/package.rb +13 -11
  34. data/lib/specinfra/command/freebsd/base/port.rb +5 -3
  35. data/lib/specinfra/command/freebsd/base/service.rb +4 -2
  36. data/lib/specinfra/command/freebsd/v10/package.rb +13 -11
  37. data/lib/specinfra/command/gentoo/base/package.rb +4 -2
  38. data/lib/specinfra/command/gentoo/base/service.rb +9 -7
  39. data/lib/specinfra/command/linux/base/file.rb +10 -8
  40. data/lib/specinfra/command/linux/base/interface.rb +13 -11
  41. data/lib/specinfra/command/linux/base/iptables.rb +9 -7
  42. data/lib/specinfra/command/linux/base/kernel_module.rb +4 -2
  43. data/lib/specinfra/command/linux/base/lxc_container.rb +7 -5
  44. data/lib/specinfra/command/linux/base/selinux.rb +9 -7
  45. data/lib/specinfra/command/linux/base/zfs.rb +3 -1
  46. data/lib/specinfra/command/nixos/base/package.rb +12 -10
  47. data/lib/specinfra/command/nixos/base/service.rb +3 -1
  48. data/lib/specinfra/command/openbsd/base/file.rb +31 -29
  49. data/lib/specinfra/command/openbsd/base/interface.rb +8 -13
  50. data/lib/specinfra/command/openbsd/base/mail_alias.rb +4 -2
  51. data/lib/specinfra/command/openbsd/base/package.rb +10 -8
  52. data/lib/specinfra/command/openbsd/base/port.rb +4 -2
  53. data/lib/specinfra/command/openbsd/base/service.rb +7 -5
  54. data/lib/specinfra/command/openbsd/base/user.rb +8 -6
  55. data/lib/specinfra/command/opensuse/base/service.rb +3 -1
  56. data/lib/specinfra/command/plamo/base/package.rb +7 -5
  57. data/lib/specinfra/command/plamo/base/service.rb +6 -4
  58. data/lib/specinfra/command/redhat/base/file.rb +5 -3
  59. data/lib/specinfra/command/redhat/base/package.rb +14 -12
  60. data/lib/specinfra/command/redhat/base/service.rb +4 -2
  61. data/lib/specinfra/command/redhat/base/yumrepo.rb +7 -5
  62. data/lib/specinfra/command/redhat/v5/iptables.rb +7 -5
  63. data/lib/specinfra/command/redhat/v7/service.rb +3 -1
  64. data/lib/specinfra/command/smartos/base/package.rb +10 -8
  65. data/lib/specinfra/command/smartos/base/service.rb +7 -5
  66. data/lib/specinfra/command/solaris/base/cron.rb +8 -6
  67. data/lib/specinfra/command/solaris/base/file.rb +15 -13
  68. data/lib/specinfra/command/solaris/base/group.rb +5 -3
  69. data/lib/specinfra/command/solaris/base/host.rb +7 -5
  70. data/lib/specinfra/command/solaris/base/ipfilter.rb +4 -2
  71. data/lib/specinfra/command/solaris/base/ipnat.rb +5 -3
  72. data/lib/specinfra/command/solaris/base/package.rb +7 -5
  73. data/lib/specinfra/command/solaris/base/port.rb +9 -7
  74. data/lib/specinfra/command/solaris/base/service.rb +14 -13
  75. data/lib/specinfra/command/solaris/base/user.rb +10 -8
  76. data/lib/specinfra/command/solaris/base/zfs.rb +3 -1
  77. data/lib/specinfra/command/solaris/v10/file.rb +33 -31
  78. data/lib/specinfra/command/solaris/v10/group.rb +4 -2
  79. data/lib/specinfra/command/solaris/v10/host.rb +9 -7
  80. data/lib/specinfra/command/solaris/v10/package.rb +7 -5
  81. data/lib/specinfra/command/solaris/v10/user.rb +8 -6
  82. data/lib/specinfra/command/suse/base/package.rb +14 -12
  83. data/lib/specinfra/command/suse/base/service.rb +4 -2
  84. data/lib/specinfra/command/ubuntu/base/ppa.rb +11 -9
  85. data/lib/specinfra/command/ubuntu/base/service.rb +4 -2
  86. data/lib/specinfra/command/windows/base.rb +11 -10
  87. data/lib/specinfra/command/windows/base/feature.rb +11 -9
  88. data/lib/specinfra/command/windows/base/file.rb +72 -71
  89. data/lib/specinfra/command/windows/base/group.rb +7 -5
  90. data/lib/specinfra/command/windows/base/host.rb +18 -16
  91. data/lib/specinfra/command/windows/base/hot_fix.rb +13 -11
  92. data/lib/specinfra/command/windows/base/iis_app_pool.rb +11 -9
  93. data/lib/specinfra/command/windows/base/iis_website.rb +26 -24
  94. data/lib/specinfra/command/windows/base/package.rb +7 -5
  95. data/lib/specinfra/command/windows/base/port.rb +11 -9
  96. data/lib/specinfra/command/windows/base/process.rb +5 -3
  97. data/lib/specinfra/command/windows/base/registry_key.rb +36 -35
  98. data/lib/specinfra/command/windows/base/scheduled_task.rb +6 -4
  99. data/lib/specinfra/command/windows/base/service.rb +21 -19
  100. data/lib/specinfra/command/windows/base/user.rb +16 -14
  101. data/lib/specinfra/runner.rb +1 -2
  102. data/lib/specinfra/version.rb +1 -1
  103. data/spec/command/base_spec.rb +12 -4
  104. data/spec/command/module/systemd_spec.rb +14 -4
  105. data/spec/command/redhat/interface_spec.rb +1 -1
  106. metadata +1 -2
  107. 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
- def check_exists(group)
3
- group_id, domain = windows_account group
4
- Backend::PowerShell::Command.new do
5
- using 'find_group.ps1'
6
- exec "(FindGroup -groupName '#{group_id}'#{domain.nil? ? "" : " -domain '#{domain}'"}) -ne $null"
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
- def check_is_resolvable(name, type)
3
- if type == "hosts"
4
- cmd = "@(Select-String -path (Join-Path -Path $($env:windir) -ChildPath 'system32/drivers/etc/hosts') -pattern '#{name}\\b').count -gt 0"
5
- else
6
- cmd = "@([System.Net.Dns]::GetHostAddresses('#{name}')).count -gt 0"
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
- def check_is_reachable(host, port, proto, timeout)
12
- if port.nil?
13
- Backend::PowerShell::Command.new do
14
- exec "(New-Object System.Net.NetworkInformation.Ping).send('#{host}').Status -eq 'Success'"
15
- end
16
- else
17
- Backend::PowerShell::Command.new do
18
- using 'is_remote_port_listening.ps1'
19
- exec"(IsRemotePortListening -hostname #{host} -port #{port} -timeout #{timeout} -proto #{proto}) -eq $true"
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
- def check_is_installed(description, hot_fix_id=nil)
3
- hot_fix_id_match = /(KB\d+)/i.match(description)
4
- hot_fix_id = hot_fix_id_match ? hot_fix_id_match[1] : description if hot_fix_id.nil?
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
- args = [
7
- '-description', "'#{description}'",
8
- '-hotFixId', "'#{hot_fix_id}'"
9
- ]
7
+ args = [
8
+ '-description', "'#{description}'",
9
+ '-hotFixId', "'#{hot_fix_id}'"
10
+ ]
10
11
 
11
- cmd = "(FindInstalledHotFix #{args.join(' ')})"
12
- Backend::PowerShell::Command.new do
13
- using 'find_installed_hot_fix.ps1'
14
- exec "#{cmd} -eq $true"
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
- def check_exists(name)
3
- Backend::PowerShell::Command.new do
4
- using 'find_iis_component.ps1'
5
- exec "@(FindIISAppPool -name '#{name}').count -gt 0"
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
- def check_has_dotnet_version(name, dotnet)
10
- Backend::PowerShell::Command.new do
11
- using 'find_iis_component.ps1'
12
- exec "(FindIISAppPool -name '#{name}').managedRuntimeVersion -match 'v#{dotnet}'"
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
- def check_is_enabled(name)
3
- Backend::PowerShell::Command.new do
4
- using 'find_iis_component.ps1'
5
- exec "(FindIISWebsite -name '#{name}').serverAutoStart -eq $true"
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
- def check_is_installed(name)
10
- Backend::PowerShell::Command.new do
11
- using 'find_iis_component.ps1'
12
- exec "@(FindIISWebsite -name '#{name}').count -gt 0"
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
- def check_is_running(name)
17
- Backend::PowerShell::Command.new do
18
- using 'find_iis_component.ps1'
19
- exec "(FindIISWebsite -name '#{name}').state -eq 'Started'"
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
- def check_is_in_app_pool(name, app_pool)
24
- Backend::PowerShell::Command.new do
25
- using 'find_iis_component.ps1'
26
- exec "(FindIISWebsite -name '#{name}').applicationPool -match '#{app_pool}'"
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
- def check_has_physical_path(name, path)
31
- Backend::PowerShell::Command.new do
32
- using 'find_iis_component.ps1'
33
- exec "[System.Environment]::ExpandEnvironmentVariables( ( FindIISWebsite -name '#{name}' ).physicalPath ).replace('\\', '/' ) -eq ('#{path}'.trimEnd('/').replace('\\', '/'))"
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
- def check_is_installed(package, version=nil)
3
- version_selection = version.nil? ? "" : "-appVersion '#{version}'"
4
- Backend::PowerShell::Command.new do
5
- using 'find_installed_application.ps1'
6
- exec "(FindInstalledApplication -appName '#{package}' #{version_selection}) -eq $true"
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
- def check_is_listening(port, options=nil)
3
- Backend::PowerShell::Command.new do
4
- using 'is_port_listening.ps1'
5
- exec "IsPortListening -portNumber #{port}"
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
- def check_is_listening_with_protocol(port, protocol)
10
- Backend::PowerShell::Command.new do
11
- using 'is_port_listening.ps1'
12
- exec "IsPortListening -portNumber #{port} -protocol '#{protocol}'"
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
- def check_process(process)
3
- Backend::PowerShell::Command.new do
4
- exec "(Get-Process '#{process}') -ne $null"
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
- REGISTRY_KEY_TYPES = {
3
- :type_string => 'String',
4
- :type_binary => 'Binary',
5
- :type_dword => 'DWord',
6
- :type_qword => 'QWord',
7
- :type_multistring => 'MultiString',
8
- :type_expandstring => 'ExpandString'
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
- def check_exists(key_name)
12
- cmd = "(Get-Item 'Registry::#{key_name}') -ne $null"
13
- Backend::PowerShell::Command.new { exec cmd }
14
- end
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
- def check_has_property(key_name, key_property)
17
- cmd = "(Get-Item 'Registry::#{key_name}').GetValueKind('#{key_property[:name]}') -eq '#{REGISTRY_KEY_TYPES[key_property[:type]]}'"
18
- Backend::PowerShell::Command.new { exec cmd }
19
- end
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
- def check_has_value(key_name, key_property)
22
- value = convert_key_property_value key_property
23
- cmd = "(Compare-Object (Get-Item 'Registry::#{key_name}').GetValue('#{key_property[:name]}') #{value}) -eq $null"
24
- Backend::PowerShell::Command.new { exec cmd }
25
- end
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
- private
28
- def convert_key_property_value property
29
- case property[:type]
30
- when :type_binary
31
- byte_array = [property[:value]].pack('H*').bytes.to_a
32
- "([byte[]] #{byte_array.join(',')})"
33
- when :type_dword
34
- [property[:value].rjust(8, '0').scan(/[0-9a-f]{2}/i).reverse.join].pack("H*").unpack("l").first
35
- when :type_qword
36
- property[:value].hex
37
- else
38
- string_array = property[:value].split("\n").map {|s| "'#{s}'"}.reduce {|acc, s| "#{acc},#{s}"}
39
- "@(#{string_array})"
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
- def check_exists(name)
3
- Backend::PowerShell::Command.new do
4
- using 'find_scheduled_task.ps1'
5
- exec "(FindScheduledTask -name '#{name}').TaskName -eq '\\#{name}'"
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
- def check_is_installed(service)
3
- Backend::PowerShell::Command.new do
4
- using 'find_service.ps1'
5
- exec "@(FindService -name '#{service}').count -gt 0"
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
- def check_has_start_mode(service, mode)
10
- Backend::PowerShell::Command.new do
11
- using 'find_service.ps1'
12
- exec "'#{mode}' -match (FindService -name '#{service}').StartMode -and (FindService -name '#{service}') -ne $null"
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
- def check_is_enabled(service, level=nil)
17
- Backend::PowerShell::Command.new do
18
- using 'find_service.ps1'
19
- exec "(FindService -name '#{service}').StartMode -eq 'Auto'"
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
- def check_is_running(service)
24
- Backend::PowerShell::Command.new do
25
- using 'find_service.ps1'
26
- exec "(FindService -name '#{service}').State -eq 'Running'"
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
- def check_exists(user)
3
- user_id, domain = windows_account user
4
- Backend::PowerShell::Command.new do
5
- using 'find_user.ps1'
6
- exec "(FindUser -userName '#{user_id}'#{domain.nil? ? "" : " -domain '#{domain}'"}) -ne $null"
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
- def check_belongs_to_group(user, group)
11
- user_id, user_domain = windows_account user
12
- group_id, group_domain = windows_account group
13
- Backend::PowerShell::Command.new do
14
- using 'find_user.ps1'
15
- using 'find_group.ps1'
16
- using 'find_usergroup.ps1'
17
- exec "(FindUserGroup -userName '#{user_id}'#{user_domain.nil? ? "" : " -userDomain '#{user_domain}'"} -groupName '#{group_id}'#{group_domain.nil? ? "" : " -groupDomain '#{group_domain}'"}) -ne $null"
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
@@ -1,7 +1,6 @@
1
1
  module Specinfra
2
2
  class Runner
3
- include Singleton
4
- def method_missing(meth, *args, &block)
3
+ def self.method_missing(meth, *args, &block)
5
4
  if os.include?(:family) && os[:family] == 'windows'
6
5
  Specinfra.backend.send(meth, *args)
7
6
  else
@@ -1,3 +1,3 @@
1
1
  module Specinfra
2
- VERSION = "2.0.0.beta15"
2
+ VERSION = "2.0.0.beta16"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Specinfra::Command::Base do
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(subject.command_class('file')).to be Specinfra::Command::Base::File }
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(subject.command_class('file')).to be Specinfra::Command::Redhat::Base::File }
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
- xit { expect(subject.command_class('file')).to be Specinfra::Command::Redhat::V7::File }
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
+