Sha256: 692e23016c424b9e93cd6eee87c5b64d82e34b0f6c4b5e5c4d875f990105f2ab

Contents?: true

Size: 1.9 KB

Versions: 32

Compression:

Stored size: 1.9 KB

Contents

# encoding: UTF-8

require 'winrm/wsmv/command_output'
require 'winrm/wsmv/header'

describe WinRM::WSMV::CommandOutput do
  context 'default session options' do
    let(:cmd_out_opts) do
      {
        shell_id: 'F4A2622B-B842-4EB8-8A78-0225C8A993DF',
        command_id: 'A2A2622B-B842-4EB8-8A78-0225C8A993DF'
      }
    end
    subject { described_class.new(default_connection_opts, cmd_out_opts) }
    let(:xml) { subject.build }
    it 'creates a well formed message' do
      expect(xml).to include('<w:OperationTimeout>PT60S</w:OperationTimeout>')
      expect(xml).to include('<w:Option Name="WSMAN_CMDSHELL_OPTION_KEEPALIVE">TRUE</w:Option>')
      expect(xml).to include('w:ResourceURI mustUnderstand="true">' \
        'http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd</w:ResourceURI>')
      expect(xml).to include('<rsp:DesiredStream ' \
        'CommandId="A2A2622B-B842-4EB8-8A78-0225C8A993DF">stdout stderr</rsp:DesiredStream>')
    end
  end
  context 'powershell' do
    let(:cmd_out_opts) do
      {
        shell_id: 'F4A2622B-B842-4EB8-8A78-0225C8A993DF',
        command_id: 'A2A2622B-B842-4EB8-8A78-0225C8A993DF',
        shell_uri: WinRM::WSMV::Header::RESOURCE_URI_POWERSHELL,
        out_streams: %w(stdout)
      }
    end
    subject { described_class.new(default_connection_opts, cmd_out_opts) }
    let(:xml) { subject.build }
    it 'creates a well formed message' do
      expect(xml).to include('<w:OperationTimeout>PT60S</w:OperationTimeout>')
      expect(xml).to include('<w:Option Name="WSMAN_CMDSHELL_OPTION_KEEPALIVE">TRUE</w:Option>')
      expect(xml).to include('w:ResourceURI mustUnderstand="true">' \
        'http://schemas.microsoft.com/powershell/Microsoft.PowerShell</w:ResourceURI>')
      expect(xml).to include('<rsp:DesiredStream ' \
        'CommandId="A2A2622B-B842-4EB8-8A78-0225C8A993DF">stdout</rsp:DesiredStream>')
    end
  end
end

Version data entries

32 entries across 29 versions & 3 rubygems

Version Path
vagrant-unbundled-2.2.7.0 vendor/bundle/ruby/2.4.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.2.5.0 vendor/bundle/ruby/2.5.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.2.4.0 vendor/bundle/ruby/2.5.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.2.3.0 vendor/bundle/ruby/2.5.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.2.2.0 vendor/bundle/ruby/2.5.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.2.0.0 vendor/bundle/ruby/2.5.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.1.4.0 vendor/bundle/ruby/2.5.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.1.2.0 vendor/bundle/ruby/2.3.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.1.1.0 vendor/bundle/ruby/2.5.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.0.4.0 vendor/bundle/ruby/2.5.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.0.3.0 vendor/bundle/ruby/2.5.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.0.2.0 vendor/bundle/ruby/2.4.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.0.2.0 vendor/bundle/ruby/2.5.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.0.1.0 vendor/bundle/ruby/2.4.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-2.0.0.1 vendor/bundle/ruby/2.4.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-1.9.8.1 vendor/bundle/ruby/2.4.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb
vagrant-unbundled-1.9.7.1 vendor/bundle/ruby/2.4.0/gems/winrm-2.2.3/tests/spec/wsmv/command_output_spec.rb