Sha256: 219529d20a7990d2f442ef77ceb0cdbdba2959821bda2cb290f5f9ba71fc330f

Contents?: true

Size: 751 Bytes

Versions: 29

Compression:

Stored size: 751 Bytes

Contents

module Specinfra
  module Backend
    class WinRM < Base
      include PowerShell::ScriptHelper

      def run_command(cmd, opts={})
        script = create_script(cmd)
        winrm = Specinfra.configuration.winrm

        result = winrm.powershell(script)
        stdout, stderr = [:stdout, :stderr].map do |s|
          result[:data].select {|item| item.key? s}.map {|item| item[s]}.join
        end
        result[:exitcode] = 1 if result[:exitcode] == 0 and !stderr.empty?

        if @example
          @example.metadata[:command] = script
          @example.metadata[:stdout]  = stdout + stderr
        end

        CommandResult.new :stdout => stdout, :stderr => stderr,
          :exit_status => result[:exitcode]
      end
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
specinfra-2.0.0.beta31 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta30 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta29 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta28 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta27 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta26 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta25 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta23 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta22 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta21 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta20 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta19 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta18 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta17 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta16 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta15 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta14 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta13 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta12 lib/specinfra/backend/winrm.rb
specinfra-2.0.0.beta11 lib/specinfra/backend/winrm.rb