winrm 1.2.0 → 1.3.0.dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/spec/matchers.rb ADDED
@@ -0,0 +1,72 @@
1
+ require 'rspec/expectations'
2
+
3
+ module WinRMSpecs
4
+ def self.stdout(output)
5
+ output[:data].collect do |i|
6
+ i[:stdout]
7
+ end.join('\r\n').gsub(/(\\r\\n)+$/, '')
8
+ end
9
+
10
+ def self.stderr(output)
11
+ output[:data].collect do |i|
12
+ i[:stderr]
13
+ end.join('\r\n').gsub(/(\\r\\n)+$/, '')
14
+ end
15
+ end
16
+
17
+ RSpec::Matchers.define :have_stdout_match do |expected_stdout|
18
+ match do |actual_output|
19
+ expected_stdout.match(WinRMSpecs.stdout(actual_output)) != nil
20
+ end
21
+ failure_message do |actual_output|
22
+ "expected that '#{WinRMSpecs.stdout(actual_output)}' would match #{expected_stdout}"
23
+ end
24
+ end
25
+
26
+ RSpec::Matchers.define :have_stderr_match do |expected_stderr|
27
+ match do |actual_output|
28
+ expected_stderr.match(WinRMSpecs.stderr(actual_output)) != nil
29
+ end
30
+ failure_message do |actual_output|
31
+ "expected that '#{WinRMSpecs.stderr(actual_output)}' would match #{expected_stderr}"
32
+ end
33
+ end
34
+
35
+ RSpec::Matchers.define :have_no_stdout do
36
+ match do |actual_output|
37
+ stdout = WinRMSpecs.stdout(actual_output)
38
+ stdout == '\r\n' || stdout == ''
39
+ end
40
+ failure_message do |actual_output|
41
+ "expected that '#{WinRMSpecs.stdout(actual_output)}' would have no stdout"
42
+ end
43
+ end
44
+
45
+ RSpec::Matchers.define :have_no_stderr do
46
+ match do |actual_output|
47
+ stderr = WinRMSpecs.stderr(actual_output)
48
+ stderr == '\r\n' || stderr == ''
49
+ end
50
+ failure_message do |actual_output|
51
+ "expected that '#{WinRMSpecs.stderr(actual_output)}' would have no stderr"
52
+ end
53
+ end
54
+
55
+ RSpec::Matchers.define :have_exit_code do |expected_exit_code|
56
+ match do |actual_output|
57
+ expected_exit_code == actual_output[:exitcode]
58
+ end
59
+ failure_message do |actual_output|
60
+ "expected exit code #{expected_exit_code}, but got #{actual_output[:exitcode]}"
61
+ end
62
+ end
63
+
64
+ RSpec::Matchers.define :be_a_uid do
65
+ match do |actual|
66
+ # WinRM1.1 returns uuid's prefixed with 'uuid:' where as later versions do not
67
+ actual != nil && actual.match(/^(uuid:)*\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$/)
68
+ end
69
+ failure_message do |actual|
70
+ "expected a uid, but got '#{actual}'"
71
+ end
72
+ end
@@ -1,12 +1,60 @@
1
- describe "Test remote Powershell features via WinRM", :integration => true do
1
+ describe 'winrm client powershell', :integration => true do
2
2
  before(:all) do
3
3
  @winrm = winrm_connection
4
4
  end
5
5
 
6
- it 'should run a test Powershell script' do
7
- ps_file = File.open("#{File.dirname(__FILE__)}/test.ps1", 'r+')
8
- output = @winrm.run_powershell_script(ps_file)
9
- ps_file.close
10
- expect(output[:exitcode]).to eq(0)
6
+ describe 'empty string' do
7
+ subject(:output) { @winrm.powershell('') }
8
+ it { should have_exit_code 4294770688 }
9
+ it { should have_stderr_match /Cannot process the command because of a missing parameter/ }
10
+ end
11
+
12
+ describe 'ipconfig' do
13
+ subject(:output) { @winrm.powershell('ipconfig') }
14
+ it { should have_exit_code 0 }
15
+ it { should have_stdout_match /Windows IP Configuration/ }
16
+ it { should have_no_stderr }
17
+ end
18
+
19
+ describe 'echo \'hello world\' using apostrophes' do
20
+ subject(:output) { @winrm.powershell("echo 'hello world'") }
21
+ it { should have_exit_code 0 }
22
+ it { should have_stdout_match /hello world/ }
23
+ it { should have_no_stderr }
24
+ end
25
+
26
+ describe 'dir with incorrect argument /z' do
27
+ subject(:output) { @winrm.powershell('dir /z') }
28
+ it { should have_exit_code 1 }
29
+ it { should have_no_stdout }
30
+ #TODO Better
31
+ #it { should have_stderr_match /Invalid switch/ }
32
+ end
33
+
34
+ describe 'Math area calculation' do
35
+ subject(:output) do
36
+ @winrm.powershell(<<-EOH
37
+ $diameter = 4.5
38
+ $area = [Math]::pow([Math]::PI * ($diameter/2), 2)
39
+ Write-Host $area
40
+ EOH
41
+ )
42
+ end
43
+ it { should have_exit_code 0 }
44
+ it { should have_stdout_match /49.9648722805149/ }
45
+ it { should have_no_stderr }
46
+ end
47
+
48
+ describe 'ipconfig with a block' do
49
+ subject(:stdout) do
50
+ outvar = ''
51
+ @winrm.powershell('ipconfig') do |stdout, stderr|
52
+ outvar << stdout
53
+ end
54
+ outvar
55
+ end
56
+ it { should match(/Windows IP Configuration/) }
11
57
  end
12
58
  end
59
+
60
+
@@ -0,0 +1,44 @@
1
+ require 'winrm/http/response_handler'
2
+
3
+ describe 'response handler', :unit => true do
4
+
5
+ ['v1', 'v2'].each do |winrm_version|
6
+ let(:soap_fault) { File.read("spec/stubs/responses/soap_fault_#{winrm_version}.xml") }
7
+ let(:open_shell) { File.read("spec/stubs/responses/open_shell_#{winrm_version}.xml") }
8
+
9
+ describe "successful 200 #{winrm_version} response" do
10
+ it 'returns an xml doc' do
11
+ handler = WinRM::ResponseHandler.new(open_shell, 200)
12
+ xml_doc = handler.parse_to_xml()
13
+ expect(xml_doc).to be_instance_of(REXML::Document)
14
+ expect(xml_doc.to_s).to eq(REXML::Document.new(open_shell).to_s)
15
+ end
16
+ end
17
+
18
+ describe "failed 500 #{winrm_version} response" do
19
+ it 'raises a WinRMHTTPTransportError' do
20
+ handler = WinRM::ResponseHandler.new('', 500)
21
+ expect { handler.parse_to_xml()}.to raise_error(WinRM::WinRMHTTPTransportError)
22
+ end
23
+ end
24
+
25
+ describe "failed 401 #{winrm_version} response" do
26
+ it 'raises a WinRMAuthorizationError' do
27
+ handler = WinRM::ResponseHandler.new('', 401)
28
+ expect { handler.parse_to_xml()}.to raise_error(WinRM::WinRMAuthorizationError)
29
+ end
30
+ end
31
+
32
+ describe "failed 400 #{winrm_version} response" do
33
+ it 'raises a WinRMWSManFault' do
34
+ handler = WinRM::ResponseHandler.new(soap_fault, 400)
35
+ begin
36
+ handler.parse_to_xml()
37
+ rescue WinRM::WinRMWSManFault => e
38
+ expect(e.fault_code).to eq('2150858778')
39
+ expect(e.fault_description).to include('The specified class does not exist in the given namespace')
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
data/spec/spec_helper.rb CHANGED
@@ -2,6 +2,7 @@ require 'rubygems'
2
2
  require 'bundler/setup'
3
3
  require 'winrm'
4
4
  require 'json'
5
+ require_relative 'matchers'
5
6
 
6
7
  module ConnectionHelper
7
8
 
@@ -0,0 +1,19 @@
1
+ <s:Envelope xml:lang='en-US' xmlns:s='http://www.w3.org/2003/05/soap-envelope' xmlns:a='http://schemas.xmlsoap.org/ws/2004/08/addressing' xmlns:w='http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd'>
2
+ <s:Header>
3
+ <a:Action>http://schemas.xmlsoap.org/ws/2004/09/transfer/CreateResponse</a:Action>
4
+ <a:MessageID>uuid:94D35B73-3DD8-428D-9495-7AF3F0559428</a:MessageID>
5
+ <a:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:To>
6
+ <a:RelatesTo>uuid:EEF803CE-B9A6-48C1-BF00-90C6F077EC2A</a:RelatesTo>
7
+ </s:Header>
8
+ <s:Body>
9
+ <x:ResourceCreated xmlns:w='http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd' xmlns:a='http://schemas.xmlsoap.org/ws/2004/08/addressing' xmlns:x='http://schemas.xmlsoap.org/ws/2004/09/transfer' xmlns:rsp='http://schemas.microsoft.com/wbem/wsman/1/windows/shell'>
10
+ <a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address>
11
+ <a:ReferenceParameters>
12
+ <w:ResourceURI>http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd</w:ResourceURI>
13
+ <w:SelectorSet>
14
+ <w:Selector Name='ShellId'>uuid:739990FF-1492-4CDD-80BB-6E07ADB06D85</w:Selector>
15
+ </w:SelectorSet>
16
+ </a:ReferenceParameters>
17
+ </x:ResourceCreated>
18
+ </s:Body>
19
+ </s:Envelope>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0"?>
2
+ <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:x="http://schemas.xmlsoap.org/ws/2004/09/transfer" xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns:rsp="http://schemas.microsoft.com/wbem/wsman/1/windows/shell" xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd" xml:lang="en-US">
3
+ <s:Header>
4
+ <a:Action>http://schemas.xmlsoap.org/ws/2004/09/transfer/CreateResponse</a:Action>
5
+ <a:MessageID>uuid:9FF5B7FE-CC97-4FA4-B51F-E4220C016AE7</a:MessageID>
6
+ <a:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:To>
7
+ <a:RelatesTo>uuid:EA2A7785-D8E6-4E28-8AD8-FC27156537B3</a:RelatesTo>
8
+ </s:Header>
9
+ <s:Body>
10
+ <x:ResourceCreated>
11
+ <a:Address>http://localhost:5985/wsman</a:Address>
12
+ <a:ReferenceParameters>
13
+ <w:ResourceURI>http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd</w:ResourceURI>
14
+ <w:SelectorSet>
15
+ <w:Selector Name="ShellId">62DE33F0-8674-43D9-B6A5-3298012CC4CD</w:Selector>
16
+ </w:SelectorSet>
17
+ </a:ReferenceParameters>
18
+ </x:ResourceCreated>
19
+ </s:Body>
20
+ </s:Envelope>
@@ -0,0 +1,36 @@
1
+ <s:Envelope xml:lang='en-US' xmlns:s='http://www.w3.org/2003/05/soap-envelope' xmlns:a='http://schemas.xmlsoap.org/ws/2004/08/addressing' xmlns:x='http://schemas.xmlsoap.org/ws/2004/09/transfer' xmlns:e='http://schemas.xmlsoap.org/ws/2004/08/eventing' xmlns:n='http://schemas.xmlsoap.org/ws/2004/09/enumeration' xmlns:w='http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd'>
2
+ <s:Header>
3
+ <a:Action>http://schemas.xmlsoap.org/ws/2004/09/enumeration/fault</a:Action>
4
+ <a:MessageID>uuid:AF8907B2-F47E-4DE5-A4AA-E1EC36EA0E49</a:MessageID>
5
+ <a:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:To>
6
+ <a:RelatesTo>uuid:B90EC4BB-4484-4ADA-920B-019517747915</a:RelatesTo>
7
+ </s:Header>
8
+ <s:Body>
9
+ <s:Fault>
10
+ <s:Code>
11
+ <s:Value>s:Sender</s:Value>
12
+ <s:Subcode>
13
+ <s:Value>n:CannotProcessFilter</s:Value>
14
+ </s:Subcode>
15
+ </s:Code>
16
+ <s:Reason>
17
+ <s:Text xml:lang='en-US'>
18
+ The data source could not process the filter. The filter might be
19
+ missing or it might be invalid. Change the filter and try the request
20
+ again.
21
+ </s:Text>
22
+ </s:Reason>
23
+ <s:Detail>
24
+ <f:WSManFault xmlns:f='http://schemas.microsoft.com/wbem/wsman/1/wsmanfault' Code='2150858778' Machine=''>
25
+ <f:Message>
26
+ <f:ProviderFault provider='WMIv1 plugin for Windows Remote Management ' path='%systemroot%\system32\WsmWmiPl.dll'>
27
+ <f:WSManFault xmlns:f='http://schemas.microsoft.com/wbem/wsman/1/wsmanfault' Code='2150858778' Machine='' xml:lang='en-US'>
28
+ <f:Message>The specified class does not exist in the given namespace. </f:Message>
29
+ </f:WSManFault>
30
+ </f:ProviderFault>
31
+ </f:Message>
32
+ </f:WSManFault>
33
+ </s:Detail>
34
+ </s:Fault>
35
+ </s:Body>
36
+ </s:Envelope>
@@ -0,0 +1,42 @@
1
+ <?xml version="1.0"?>
2
+ <s:Envelope xml:lang="en-US" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:n="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd" xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns:x="http://schemas.xmlsoap.org/ws/2004/09/transfer">
3
+ <s:Header>
4
+ <a:Action>http://schemas.xmlsoap.org/ws/2004/09/enumeration/fault</a:Action>
5
+ <a:MessageID>uuid:CC816664-896D-46C7-9227-AE6E1231CE49</a:MessageID>
6
+ <a:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:To>
7
+ <a:RelatesTo>uuid:0CB1C49A-5054-4C12-AF30-FC60BE995DD9</a:RelatesTo>
8
+ </s:Header>
9
+ <s:Body>
10
+ <s:Fault>
11
+ <s:Code>
12
+ <s:Value>s:Sender</s:Value>
13
+ <s:Subcode>
14
+ <s:Value>n:CannotProcessFilter</s:Value>
15
+ </s:Subcode>
16
+ </s:Code>
17
+ <s:Reason>
18
+ <s:Text xml:lang="en-US">The data source could not process the filter. The filter might be missing or it might be invalid. Change the filter and try the request again. </s:Text>
19
+ </s:Reason>
20
+ <s:Detail>
21
+ <f:WSManFault Code="2150858778" Machine="localhost" xmlns:f="http://schemas.microsoft.com/wbem/wsman/1/wsmanfault">
22
+ <f:Message>
23
+ <f:ProviderFault path="%systemroot%\system32\WsmWmiPl.dll" provider="WMI Provider">
24
+ <f:WSManFault Code="2150858778" Machine="vagrant-2008R2" xmlns:f="http://schemas.microsoft.com/wbem/wsman/1/wsmanfault">
25
+ <f:Message>The specified class does not exist in the given namespace. </f:Message>
26
+ </f:WSManFault>
27
+ <f:ExtendedError>
28
+ <p:__ExtendedStatus xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/__ExtendedStatus" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="p:__ExtendedStatus_Type">
29
+ <p:Description xsi:nil="true"/>
30
+ <p:Operation>ExecQuery</p:Operation>
31
+ <p:ParameterInfo>Select * from Win32_Processa where name=&quot;sshd.exe&quot;</p:ParameterInfo>
32
+ <p:ProviderName>WinMgmt</p:ProviderName>
33
+ <p:StatusCode xsi:nil="true"/>
34
+ </p:__ExtendedStatus>
35
+ </f:ExtendedError>
36
+ </f:ProviderFault>
37
+ </f:Message>
38
+ </f:WSManFault>
39
+ </s:Detail>
40
+ </s:Fault>
41
+ </s:Body>
42
+ </s:Envelope>
@@ -1,4 +1,4 @@
1
- describe "Test WinRM primitive methods" do
1
+ describe "winrm client primitives" do
2
2
  before(:all) do
3
3
  @winrm = winrm_connection
4
4
  end
@@ -7,8 +7,7 @@ describe "Test WinRM primitive methods" do
7
7
 
8
8
  it 'should #open_shell and #close_shell' do
9
9
  sid = @winrm.open_shell
10
- # match a UUID
11
- expect(sid).to match(/^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$/)
10
+ expect(sid).to be_a_uid
12
11
  expect(@winrm.close_shell(sid)).to be true
13
12
  end
14
13
 
@@ -16,7 +15,7 @@ describe "Test WinRM primitive methods" do
16
15
  sid = @winrm.open_shell
17
16
 
18
17
  cmd_id = @winrm.run_command(sid, 'ipconfig', %w{/all})
19
- expect(sid).to match(/^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}$/)
18
+ expect(sid).to be_a_uid
20
19
 
21
20
  expect(@winrm.cleanup_command(sid, cmd_id)).to be true
22
21
  @winrm.close_shell(sid)
@@ -27,8 +26,9 @@ describe "Test WinRM primitive methods" do
27
26
  cmd_id = @winrm.run_command(sid, 'ipconfig', %w{/all})
28
27
 
29
28
  output = @winrm.get_command_output(sid, cmd_id)
30
- expect(output[:exitcode]).to eq(0)
31
- expect(output[:data]).to_not be_empty
29
+ expect(output).to have_exit_code 0
30
+ expect(output).to have_stdout_match /.+/
31
+ expect(output).to have_no_stderr
32
32
 
33
33
  @winrm.cleanup_command(sid, cmd_id)
34
34
  @winrm.close_shell(sid)
data/spec/wql_spec.rb CHANGED
@@ -1,10 +1,13 @@
1
- describe "Test remote WQL features via WinRM", :integration => true do
1
+ describe "winrm client wql", :integration => true do
2
2
  before(:all) do
3
3
  @winrm = winrm_connection
4
4
  end
5
5
 
6
- it 'should run a WQL query against Win32_Service' do
7
- output = @winrm.run_wql('select Name,Status from Win32_Service')
6
+ it 'should query Win32_OperatingSystem' do
7
+ output = @winrm.run_wql('select * from Win32_OperatingSystem')
8
8
  expect(output).to_not be_empty
9
+ output_caption = output[:win32_operating_system][0][:caption]
10
+ expect(output_caption).to include('Microsoft')
11
+ expect(output_caption).to include('Windows')
9
12
  end
10
13
  end
data/winrm.gemspec CHANGED
@@ -24,13 +24,14 @@ Gem::Specification.new do |s|
24
24
  s.extra_rdoc_files = %w(README.md LICENSE)
25
25
 
26
26
  s.required_ruby_version = '>= 1.9.0'
27
- s.add_runtime_dependency 'gssapi', '~> 1.0.0'
28
- s.add_runtime_dependency 'httpclient', '~> 2.2', '>= 2.2.0.2'
29
- s.add_runtime_dependency 'nokogiri', '~> 1.5'
30
- s.add_runtime_dependency 'rubyntlm', '~> 0.1.1'
31
- s.add_runtime_dependency 'uuidtools', '~> 2.1.2'
32
- s.add_runtime_dependency 'savon', '= 0.9.5'
33
- s.add_runtime_dependency 'logging', '~> 1.6', '>= 1.6.1'
27
+ s.add_runtime_dependency 'gssapi', '~> 1.0'
28
+ s.add_runtime_dependency 'httpclient', '~> 2.2', '>= 2.2.0.2'
29
+ s.add_runtime_dependency 'rubyntlm', '~> 0.1'
30
+ s.add_runtime_dependency 'uuidtools', '~> 2.1.2'
31
+ s.add_runtime_dependency 'logging', '~> 1.6', '>= 1.6.1'
32
+ s.add_runtime_dependency 'nori', '~> 2.0'
33
+ s.add_runtime_dependency 'gyoku', '~> 1.0'
34
+ s.add_runtime_dependency 'builder', '>= 2.1.2'
34
35
  s.add_development_dependency 'rspec', '~> 3.0.0'
35
36
  s.add_development_dependency 'rake', '~> 10.3.2'
36
37
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: winrm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0.dev.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Wanek
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-07-22 00:00:00.000000000 Z
12
+ date: 2014-10-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gssapi
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - ~>
19
19
  - !ruby/object:Gem::Version
20
- version: 1.0.0
20
+ version: '1.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ~>
26
26
  - !ruby/object:Gem::Version
27
- version: 1.0.0
27
+ version: '1.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: httpclient
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -46,81 +46,95 @@ dependencies:
46
46
  - !ruby/object:Gem::Version
47
47
  version: 2.2.0.2
48
48
  - !ruby/object:Gem::Dependency
49
- name: nokogiri
49
+ name: rubyntlm
50
50
  requirement: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: '1.5'
54
+ version: '0.1'
55
55
  type: :runtime
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: '1.5'
61
+ version: '0.1'
62
62
  - !ruby/object:Gem::Dependency
63
- name: rubyntlm
63
+ name: uuidtools
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ~>
67
67
  - !ruby/object:Gem::Version
68
- version: 0.1.1
68
+ version: 2.1.2
69
69
  type: :runtime
70
70
  prerelease: false
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ~>
74
74
  - !ruby/object:Gem::Version
75
- version: 0.1.1
75
+ version: 2.1.2
76
76
  - !ruby/object:Gem::Dependency
77
- name: uuidtools
77
+ name: logging
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ~>
81
81
  - !ruby/object:Gem::Version
82
- version: 2.1.2
82
+ version: '1.6'
83
+ - - '>='
84
+ - !ruby/object:Gem::Version
85
+ version: 1.6.1
83
86
  type: :runtime
84
87
  prerelease: false
85
88
  version_requirements: !ruby/object:Gem::Requirement
86
89
  requirements:
87
90
  - - ~>
88
91
  - !ruby/object:Gem::Version
89
- version: 2.1.2
92
+ version: '1.6'
93
+ - - '>='
94
+ - !ruby/object:Gem::Version
95
+ version: 1.6.1
90
96
  - !ruby/object:Gem::Dependency
91
- name: savon
97
+ name: nori
92
98
  requirement: !ruby/object:Gem::Requirement
93
99
  requirements:
94
- - - '='
100
+ - - ~>
95
101
  - !ruby/object:Gem::Version
96
- version: 0.9.5
102
+ version: '2.0'
97
103
  type: :runtime
98
104
  prerelease: false
99
105
  version_requirements: !ruby/object:Gem::Requirement
100
106
  requirements:
101
- - - '='
107
+ - - ~>
102
108
  - !ruby/object:Gem::Version
103
- version: 0.9.5
109
+ version: '2.0'
104
110
  - !ruby/object:Gem::Dependency
105
- name: logging
111
+ name: gyoku
106
112
  requirement: !ruby/object:Gem::Requirement
107
113
  requirements:
108
114
  - - ~>
109
115
  - !ruby/object:Gem::Version
110
- version: '1.6'
111
- - - '>='
112
- - !ruby/object:Gem::Version
113
- version: 1.6.1
116
+ version: '1.0'
114
117
  type: :runtime
115
118
  prerelease: false
116
119
  version_requirements: !ruby/object:Gem::Requirement
117
120
  requirements:
118
121
  - - ~>
119
122
  - !ruby/object:Gem::Version
120
- version: '1.6'
123
+ version: '1.0'
124
+ - !ruby/object:Gem::Dependency
125
+ name: builder
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
121
128
  - - '>='
122
129
  - !ruby/object:Gem::Version
123
- version: 1.6.1
130
+ version: 2.1.2
131
+ type: :runtime
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - '>='
136
+ - !ruby/object:Gem::Version
137
+ version: 2.1.2
124
138
  - !ruby/object:Gem::Dependency
125
139
  name: rspec
126
140
  requirement: !ruby/object:Gem::Requirement
@@ -168,20 +182,28 @@ files:
168
182
  - README.md
169
183
  - Rakefile
170
184
  - VERSION
185
+ - bin/rwinrm
171
186
  - changelog.md
172
187
  - lib/winrm.rb
173
188
  - lib/winrm/exceptions/exceptions.rb
174
189
  - lib/winrm/helpers/iso8601_duration.rb
190
+ - lib/winrm/http/response_handler.rb
175
191
  - lib/winrm/http/transport.rb
176
192
  - lib/winrm/soap_provider.rb
177
193
  - lib/winrm/winrm_service.rb
178
194
  - preamble
195
+ - spec/auth_timeout_spec.rb
179
196
  - spec/cmd_spec.rb
180
197
  - spec/config-example.yml
181
- - spec/nori_type_casting_spec.rb
198
+ - spec/exception_spec.rb
199
+ - spec/matchers.rb
182
200
  - spec/powershell_spec.rb
201
+ - spec/response_handler_spec.rb
183
202
  - spec/spec_helper.rb
184
- - spec/test.ps1
203
+ - spec/stubs/responses/open_shell_v1.xml
204
+ - spec/stubs/responses/open_shell_v2.xml
205
+ - spec/stubs/responses/soap_fault_v1.xml
206
+ - spec/stubs/responses/soap_fault_v2.xml
185
207
  - spec/winrm_primitives_spec.rb
186
208
  - spec/wql_spec.rb
187
209
  - winrm.gemspec
@@ -203,9 +225,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
203
225
  version: 1.9.0
204
226
  required_rubygems_version: !ruby/object:Gem::Requirement
205
227
  requirements:
206
- - - '>='
228
+ - - '>'
207
229
  - !ruby/object:Gem::Version
208
- version: '0'
230
+ version: 1.3.1
209
231
  requirements: []
210
232
  rubyforge_project:
211
233
  rubygems_version: 2.0.14
@@ -1,28 +0,0 @@
1
- require 'nori'
2
-
3
- describe "Test Nori Type Cast Toggler", :unit => true do
4
- before(:all) do
5
- @winrm = winrm_connection
6
- end
7
-
8
- it 'should have nori advanced type casting on' do
9
- expect(Nori.advanced_typecasting?).to be true
10
- end
11
-
12
- it 'should turn off nori advanced type casting' do
13
- @winrm.toggle_nori_type_casting :off
14
- expect(Nori.advanced_typecasting?).to be false
15
- end
16
-
17
- it 'should return nori advanced type casting to the original state' do
18
- @winrm.toggle_nori_type_casting :original
19
- expect(Nori.advanced_typecasting?).to be true
20
- end
21
-
22
- it 'should turn on nori advanced type casting' do
23
- @winrm.toggle_nori_type_casting :off
24
- @winrm.toggle_nori_type_casting :on
25
- expect(Nori.advanced_typecasting?).to be true
26
- end
27
-
28
- end
data/spec/test.ps1 DELETED
@@ -1,14 +0,0 @@
1
- echo 'Getting the Environment'
2
- echo '------------------------------------------------'
3
- Get-ChildItem Env:
4
-
5
- $diameter = 4.5
6
-
7
- $area = [Math]::pow([Math]::PI * ($diameter/2), 2)
8
-
9
- echo '------------------------------------------------'
10
-
11
- echo 'Testing the Math library'
12
- echo '------------------------------------------------'
13
-
14
- echo "Circle Area: $area"