Class: NodeSpec::BackendProxy::Winrm

Inherits:
Base
  • Object
show all
Defined in:
lib/nodespec/backend_proxy/winrm.rb

Instance Method Summary collapse

Methods included from CommandExecution

#execute_within_timeout

Methods included from VerboseOutput

#verbose_puts

Constructor Details

#initialize(winrm) ⇒ Winrm

Returns a new instance of Winrm.



8
9
10
# File 'lib/nodespec/backend_proxy/winrm.rb', line 8

def initialize(winrm)
  @winrm_session = winrm
end

Instance Method Details

#execute(command) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/nodespec/backend_proxy/winrm.rb', line 12

def execute command
  @winrm_session.set_timeout(NodeSpec::RunOptions.command_timeout)
  result = @winrm_session.powershell(command)
  stdout, stderr = [:stdout, :stderr].map do |s|
    result[:data].select {|item| item.key? s}.map {|item| item[s]}.join
  end
  [stdout, stderr].each {|s| verbose_puts s}
  result[:exitcode] == 0 and stderr.empty?
end