winrm 2.3.0 → 2.3.5

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.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/lib/winrm/http/response_handler.rb +1 -1
  3. data/lib/winrm/http/transport.rb +2 -2
  4. data/lib/winrm/psrp/message.rb +128 -128
  5. data/lib/winrm/psrp/message_data/error_record.rb +2 -0
  6. data/lib/winrm/psrp/message_data/pipeline_output.rb +1 -1
  7. data/lib/winrm/psrp/message_factory.rb +14 -2
  8. data/lib/winrm/psrp/powershell_output_decoder.rb +142 -142
  9. data/lib/winrm/shells/base.rb +1 -0
  10. data/lib/winrm/shells/power_shell.rb +4 -4
  11. data/lib/winrm/version.rb +1 -1
  12. metadata +16 -90
  13. data/.gitignore +0 -10
  14. data/.rubocop.yml +0 -38
  15. data/.travis.yml +0 -10
  16. data/Gemfile +0 -2
  17. data/Rakefile +0 -33
  18. data/Vagrantfile +0 -6
  19. data/WinrmAppveyor.psm1 +0 -32
  20. data/appveyor.yml +0 -50
  21. data/changelog.md +0 -133
  22. data/preamble +0 -17
  23. data/tests/integration/auth_timeout_spec.rb +0 -17
  24. data/tests/integration/cmd_spec.rb +0 -130
  25. data/tests/integration/config-example.yml +0 -16
  26. data/tests/integration/issue_59_spec.rb +0 -25
  27. data/tests/integration/powershell_spec.rb +0 -164
  28. data/tests/integration/spec_helper.rb +0 -62
  29. data/tests/integration/transport_spec.rb +0 -98
  30. data/tests/integration/wql_spec.rb +0 -33
  31. data/tests/matchers.rb +0 -59
  32. data/tests/spec/configuration_spec.rb +0 -183
  33. data/tests/spec/connection_spec.rb +0 -37
  34. data/tests/spec/exception_spec.rb +0 -49
  35. data/tests/spec/http/transport_factory_spec.rb +0 -66
  36. data/tests/spec/http/transport_spec.rb +0 -43
  37. data/tests/spec/output_spec.rb +0 -128
  38. data/tests/spec/psrp/fragment_spec.rb +0 -60
  39. data/tests/spec/psrp/message_data/base_spec.rb +0 -11
  40. data/tests/spec/psrp/message_data/error_record_spec.rb +0 -39
  41. data/tests/spec/psrp/message_data/pipeline_host_call_spec.rb +0 -23
  42. data/tests/spec/psrp/message_data/pipeline_output_spec.rb +0 -30
  43. data/tests/spec/psrp/message_data/pipeline_state_spec.rb +0 -38
  44. data/tests/spec/psrp/message_data/runspace_pool_host_call_spec.rb +0 -23
  45. data/tests/spec/psrp/message_data/runspacepool_state_spec.rb +0 -14
  46. data/tests/spec/psrp/message_data/session_capability_spec.rb +0 -28
  47. data/tests/spec/psrp/message_data_spec.rb +0 -33
  48. data/tests/spec/psrp/message_defragmenter_spec.rb +0 -45
  49. data/tests/spec/psrp/message_fragmenter_spec.rb +0 -103
  50. data/tests/spec/psrp/powershell_output_decoder_spec.rb +0 -98
  51. data/tests/spec/psrp/psrp_message_spec.rb +0 -73
  52. data/tests/spec/psrp/recieve_response_reader_spec.rb +0 -170
  53. data/tests/spec/psrp/uuid_spec.rb +0 -28
  54. data/tests/spec/response_handler_spec.rb +0 -69
  55. data/tests/spec/shells/base_spec.rb +0 -227
  56. data/tests/spec/shells/cmd_spec.rb +0 -75
  57. data/tests/spec/shells/powershell_spec.rb +0 -221
  58. data/tests/spec/spec_helper.rb +0 -46
  59. data/tests/spec/stubs/clixml/error_record.xml.erb +0 -84
  60. data/tests/spec/stubs/clixml/pipeline_state.xml.erb +0 -88
  61. data/tests/spec/stubs/responses/get_command_output_response.xml.erb +0 -13
  62. data/tests/spec/stubs/responses/get_command_output_response_not_done.xml.erb +0 -10
  63. data/tests/spec/stubs/responses/get_omi_command_output_response.xml.erb +0 -23
  64. data/tests/spec/stubs/responses/get_omi_command_output_response_not_done.xml.erb +0 -24
  65. data/tests/spec/stubs/responses/get_omi_config_response.xml +0 -45
  66. data/tests/spec/stubs/responses/get_omi_powershell_keepalive_response.xml.erb +0 -33
  67. data/tests/spec/stubs/responses/get_powershell_keepalive_response.xml.erb +0 -10
  68. data/tests/spec/stubs/responses/get_powershell_output_response.xml.erb +0 -12
  69. data/tests/spec/stubs/responses/get_powershell_output_response_not_done.xml.erb +0 -9
  70. data/tests/spec/stubs/responses/open_shell_omi.xml +0 -43
  71. data/tests/spec/stubs/responses/open_shell_v1.xml +0 -19
  72. data/tests/spec/stubs/responses/open_shell_v2.xml +0 -20
  73. data/tests/spec/stubs/responses/soap_fault_omi.xml +0 -31
  74. data/tests/spec/stubs/responses/soap_fault_v1.xml +0 -36
  75. data/tests/spec/stubs/responses/soap_fault_v2.xml +0 -42
  76. data/tests/spec/stubs/responses/wmi_error_v2.xml +0 -41
  77. data/tests/spec/wsmv/cleanup_command_spec.rb +0 -20
  78. data/tests/spec/wsmv/close_shell_spec.rb +0 -15
  79. data/tests/spec/wsmv/command_output_decoder_spec.rb +0 -35
  80. data/tests/spec/wsmv/command_output_spec.rb +0 -43
  81. data/tests/spec/wsmv/command_spec.rb +0 -17
  82. data/tests/spec/wsmv/configuration_spec.rb +0 -15
  83. data/tests/spec/wsmv/create_pipeline_spec.rb +0 -30
  84. data/tests/spec/wsmv/create_shell_spec.rb +0 -39
  85. data/tests/spec/wsmv/init_runspace_pool_spec.rb +0 -38
  86. data/tests/spec/wsmv/keep_alive_spec.rb +0 -21
  87. data/tests/spec/wsmv/receive_response_reader_spec.rb +0 -124
  88. data/tests/spec/wsmv/send_data_spec.rb +0 -30
  89. data/tests/spec/wsmv/wql_query_spec.rb +0 -11
  90. data/tests/spec/wsmv/write_stdin_spec.rb +0 -20
  91. data/winrm.gemspec +0 -46
data/preamble DELETED
@@ -1,17 +0,0 @@
1
- =begin
2
- This file is part of WinRM; the Ruby library for Microsoft WinRM.
3
-
4
- Copyright © 2010 Dan Wanek <dan.wanek@gmail.com>
5
-
6
- Licensed under the Apache License, Version 2.0 (the "License");
7
- you may not use this file except in compliance with the License.
8
- You may obtain a copy of the License at
9
-
10
- http://www.apache.org/licenses/LICENSE-2.0
11
-
12
- Unless required by applicable law or agreed to in writing, software
13
- distributed under the License is distributed on an "AS IS" BASIS,
14
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- See the License for the specific language governing permissions and
16
- limitations under the License.
17
- =end
@@ -1,17 +0,0 @@
1
- require_relative 'spec_helper'
2
-
3
- # This test may only be meaningful with kerberos auth
4
- # Against server 2012, a kerberos connection will require reauth (get a 401)
5
- # if there are no requests for >= 15 seconds
6
-
7
- describe 'Verify kerberos will reauth when necessary', kerberos: true do
8
- before(:all) do
9
- @powershell = winrm_connection.shell(:powershell)
10
- end
11
-
12
- it 'work with a 18 second sleep' do
13
- ps_command = 'Start-Sleep -s 18'
14
- output = @powershell.run(ps_command)
15
- expect(output.exitcode).to eq(0)
16
- end
17
- end
@@ -1,130 +0,0 @@
1
- require_relative 'spec_helper'
2
-
3
- describe 'winrm client cmd' do
4
- before(:all) do
5
- @cmd_shell = winrm_connection.shell(:cmd)
6
- end
7
-
8
- describe 'empty string' do
9
- subject(:output) { @cmd_shell.run('') }
10
- it { should have_exit_code 0 }
11
- it { should have_no_stdout }
12
- it { should have_no_stderr }
13
- end
14
-
15
- describe 'ipconfig' do
16
- subject(:output) { @cmd_shell.run('ipconfig') }
17
- it { should have_exit_code 0 }
18
- it { should have_stdout_match(/Windows IP Configuration/) }
19
- it { should have_no_stderr }
20
- end
21
-
22
- describe 'codepage' do
23
- let(:options) { {} }
24
- let(:shell) { winrm_connection.shell(:cmd, options) }
25
-
26
- after { shell.close }
27
-
28
- subject(:output) { shell.run('chcp') }
29
-
30
- it 'should default to UTF-8 (65001)' do
31
- should have_stdout_match(/Active code page: 65001/)
32
- end
33
-
34
- context 'when changing the codepage' do
35
- let(:options) { { codepage: 437 } }
36
-
37
- it 'sets the codepage to the one given' do
38
- should have_stdout_match(/Active code page: 437/)
39
- end
40
- end
41
- end
42
-
43
- describe 'echo \'hello world\' using apostrophes' do
44
- subject(:output) { @cmd_shell.run("echo 'hello world'") }
45
- it { should have_exit_code 0 }
46
- it { should have_stdout_match(/'hello world'/) }
47
- it { should have_no_stderr }
48
- end
49
-
50
- describe 'multi stream output from large file' do
51
- subject(:output) { @cmd_shell.run('type c:\windows\logs\dism\dism.log') }
52
- it { should have_exit_code 0 }
53
- it { should have_no_stderr }
54
- end
55
-
56
- describe 'echo "string with trailing \\" using double quotes' do
57
- # This is a regression test for #131. " is converted to &quot; when serializing
58
- # the command to SOAP/XML. Any naive substitution performed on such a serialized
59
- # string can result in any \& sequence being interpreted as a back-substitution.
60
- subject(:output) { @cmd_shell.run('echo "string with trailing \\"') }
61
- it { should have_exit_code 0 }
62
- it { should have_stdout_match(/string with trailing \\/) }
63
- it { should have_no_stderr }
64
- end
65
-
66
- describe 'capturing output from stdout and stderr' do
67
- subject(:output) do
68
- # Note: Multiple lines doesn't work:
69
- # script = <<-eos
70
- # echo Hello
71
- # echo , world! 1>&2
72
- # eos
73
-
74
- script = 'echo Hello & echo , world! 1>&2'
75
-
76
- @captured_stdout = ''
77
- @captured_stderr = ''
78
- @cmd_shell.run(script) do |stdout, stderr|
79
- @captured_stdout << stdout if stdout
80
- @captured_stderr << stderr if stderr
81
- end
82
- end
83
-
84
- it 'should have stdout' do
85
- expect(output.stdout).to eq("Hello \r\n")
86
- expect(output.stdout).to eq(@captured_stdout)
87
- end
88
-
89
- it 'should have stderr' do
90
- expect(output.stderr).to eq(", world! \r\n")
91
- expect(output.stderr).to eq(@captured_stderr)
92
- end
93
-
94
- it 'should have output' do
95
- expect(output.output).to eq("Hello \r\n, world! \r\n")
96
- end
97
- end
98
-
99
- describe 'ipconfig with /all argument' do
100
- subject(:output) { @cmd_shell.run('ipconfig', %w[/all]) }
101
- it { should have_exit_code 0 }
102
- it { should have_stdout_match(/Windows IP Configuration/) }
103
- it { should have_no_stderr }
104
- end
105
-
106
- describe 'dir with incorrect argument /z' do
107
- subject(:output) { @cmd_shell.run('dir /z') }
108
- it { should have_exit_code 1 }
109
- it { should have_no_stdout }
110
- it { should have_stderr_match(/Invalid switch/) }
111
- end
112
-
113
- describe 'ipconfig && echo error 1>&2' do
114
- subject(:output) { @cmd_shell.run('ipconfig && echo error 1>&2') }
115
- it { should have_exit_code 0 }
116
- it { should have_stdout_match(/Windows IP Configuration/) }
117
- it { should have_stderr_match(/error/) }
118
- end
119
-
120
- describe 'ipconfig with a block' do
121
- subject(:stdout) do
122
- outvar = ''
123
- @cmd_shell.run('ipconfig') do |stdout, _stderr|
124
- outvar << stdout
125
- end
126
- outvar
127
- end
128
- it { should match(/Windows IP Configuration/) }
129
- end
130
- end
@@ -1,16 +0,0 @@
1
- # Copy this file to config.yml and edit the settings below.
2
- # This should work out of the box for vagrant provisioned boxes.
3
-
4
- ## Kerberos
5
- # auth_type: kerberos
6
- # realm: "your.realm"
7
- # endpoint: "http://<yourserver>:5985/wsman"
8
-
9
- # If you are running this in a vagrant provisioned box using NAT,
10
- # this will be the forwarded WinRM HTTP port to your VM.
11
- # If you are running this on the VM, the default HTTP port is 5985.
12
- # See README.md#Troubleshooting.
13
-
14
- endpoint: "http://localhost:55985/wsman"
15
- user: vagrant
16
- password: vagrant
@@ -1,25 +0,0 @@
1
- require_relative 'spec_helper'
2
-
3
- describe 'issue 59' do
4
- describe 'long running script without output' do
5
- let(:logged_output) { StringIO.new }
6
- let(:logger) { Logging.logger(logged_output) }
7
-
8
- before do
9
- opts = connection_opts.dup
10
- opts[:operation_timeout] = 1
11
- conn = WinRM::Connection.new(opts)
12
- conn.logger = logger
13
- @powershell = conn.shell(:powershell)
14
- end
15
-
16
- it 'should not error' do
17
- out = @powershell.run('$ProgressPreference="SilentlyContinue";sleep 3; Write-Host "Hello"')
18
-
19
- expect(out).to have_exit_code 0
20
- expect(out).to have_stdout_match(/Hello/)
21
- expect(out).to have_no_stderr
22
- expect(logged_output.string).to match(/retrying receive request/)
23
- end
24
- end
25
- end
@@ -1,164 +0,0 @@
1
- require_relative 'spec_helper'
2
-
3
- describe 'winrm client powershell' do
4
- before(:all) do
5
- @powershell = winrm_connection.shell(:powershell)
6
- end
7
-
8
- describe 'ipconfig' do
9
- subject(:output) { @powershell.run('ipconfig') }
10
- it { should have_exit_code 0 }
11
- it { should have_stdout_match(/Windows IP Configuration/) }
12
- it { should have_no_stderr }
13
- end
14
-
15
- describe 'ipconfig with invalid args' do
16
- subject(:output) { @powershell.run('ipconfig blah') }
17
- it { should have_exit_code 1 }
18
- end
19
-
20
- describe 'throw' do
21
- subject(:output) { @powershell.run("throw 'an error occured'") }
22
- it { should have_exit_code 0 }
23
- it { should have_stderr_match(/an error occured/) }
24
- end
25
-
26
- describe 'exit' do
27
- subject(:output) { @powershell.run('exit 5') }
28
- it { should have_exit_code 5 }
29
- end
30
-
31
- describe 'echo \'hello world\' using apostrophes' do
32
- subject(:output) { @powershell.run("echo 'hello world'") }
33
- it { should have_exit_code 0 }
34
- it { should have_stdout_match(/hello world/) }
35
- it { should have_no_stderr }
36
- end
37
-
38
- describe 'handling special XML characters' do
39
- subject(:output) { @powershell.run("echo 'hello & <world>'") }
40
- it { should have_exit_code 0 }
41
- it { should have_stdout_match(/hello & <world>/) }
42
- it { should have_no_stderr }
43
- end
44
-
45
- describe 'dir with incorrect argument /z' do
46
- subject(:output) { @powershell.run('dir /z') }
47
- it { should have_stderr_match(/Cannot find path/) }
48
- it { should have_no_stdout }
49
- end
50
-
51
- describe 'Math area calculation' do
52
- subject(:output) do
53
- @powershell.run <<-EOH
54
- $diameter = 4.5
55
- $area = [Math]::pow([Math]::PI * ($diameter/2), 2)
56
- Write-Host $area
57
- EOH
58
- end
59
- it { should have_exit_code 0 }
60
- it { should have_stdout_match(/49.9648722805149/) }
61
- it { should have_no_stderr }
62
- end
63
-
64
- describe 'ipconfig with a block' do
65
- subject(:stdout) do
66
- outvar = ''
67
- @powershell.run('ipconfig') do |stdout, _stderr|
68
- outvar << stdout
69
- end
70
- outvar
71
- end
72
- it { should match(/Windows IP Configuration/) }
73
- end
74
-
75
- describe 'capturing output from Write-Host and Write-Error' do
76
- subject(:output) do
77
- script = <<-EOS
78
- Write-Host 'Hello'
79
- $host.ui.WriteErrorLine(', world!')
80
- EOS
81
-
82
- @captured_stdout = ''
83
- @captured_stderr = ''
84
- @powershell.run(script) do |stdout, stderr|
85
- @captured_stdout << stdout if stdout
86
- @captured_stderr << stderr if stderr
87
- end
88
- end
89
-
90
- it 'should have stdout' do
91
- expect(output.stdout).to eq("Hello\r\n")
92
- expect(output.stdout).to eq(@captured_stdout)
93
- end
94
-
95
- it 'should have stderr' do
96
- expect(output.stderr).to eq(", world!\r\n")
97
- expect(output.stderr).to eq(@captured_stderr)
98
- end
99
-
100
- it 'should have output' do
101
- expect(output.output).to eq("Hello\r\n, world!\r\n")
102
- end
103
- end
104
-
105
- describe 'capturing output from pipeline followed by Host' do
106
- subject(:output) do
107
- script = <<-EOS
108
- Write-Output 'output'
109
- $host.UI.Writeline('host')
110
- EOS
111
-
112
- @captured_stdout = ''
113
- @captured_stderr = ''
114
- @powershell.run(script) do |stdout, stderr|
115
- @captured_stdout << stdout if stdout
116
- @captured_stderr << stderr if stderr
117
- end
118
- end
119
-
120
- it 'should print from the pipeline first' do
121
- expect(output.stdout).to start_with("output\r\n")
122
- end
123
-
124
- it 'should write to host last' do
125
- expect(output.stdout).to end_with("host\r\n")
126
- end
127
- end
128
-
129
- describe 'it should handle utf-8 characters' do
130
- subject(:output) { @powershell.run('echo "✓1234-äöü"') }
131
- it { should have_exit_code 0 }
132
- it { should have_stdout_match(/✓1234-äöü/) }
133
- end
134
-
135
- describe 'output exceeds a single fragment' do
136
- subject(:output) { @powershell.run('Write-Output $("a"*600000)') }
137
- it { should have_exit_code 0 }
138
- it 'has assebled the output' do
139
- expect(output.stdout).to eq('a' * 600000 + "\r\n")
140
- end
141
- end
142
-
143
- describe 'command exceeds a single fragment' do
144
- subject(:output) { @powershell.run("$var='#{'a' * 600000}';Write-Output 'long var'") }
145
- it { should have_exit_code 0 }
146
- it 'has sent the output' do
147
- expect(output.stdout).to eq("long var\r\n")
148
- end
149
- end
150
-
151
- describe 'reading pipeline messages' do
152
- subject(:messages) { @powershell.send_pipeline_command('ipconfig') }
153
-
154
- it 'returns multiple messages' do
155
- expect(messages.length).to be > 1
156
- end
157
- it 'first message is pipeline output' do
158
- expect(messages.first.type).to eq(WinRM::PSRP::Message::MESSAGE_TYPES[:pipeline_output])
159
- end
160
- it 'last message is pipeline state' do
161
- expect(messages.last.type).to eq(WinRM::PSRP::Message::MESSAGE_TYPES[:pipeline_state])
162
- end
163
- end
164
- end
@@ -1,62 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler/setup'
3
- require 'winrm'
4
- require 'json'
5
- require_relative '../matchers'
6
-
7
- # Creates a WinRM connection for integration tests
8
- module ConnectionHelper
9
- def winrm_connection
10
- WinRM::Connection.new(connection_opts)
11
- end
12
-
13
- def connection_opts
14
- @connection_opts ||= begin
15
- cfg = symbolize_keys(YAML.safe_load(File.read(winrm_config_path)))
16
- merge_environment(cfg)
17
- end
18
- end
19
-
20
- def merge_environment(config)
21
- merge_config_option_from_environment(config, 'user')
22
- merge_config_option_from_environment(config, 'password')
23
- merge_config_option_from_environment(config, 'no_ssl_peer_verification')
24
- config[:ssl_peer_fingerprint] = ENV['winrm_cert'] if ENV['use_ssl_peer_fingerprint']
25
- config[:endpoint] = ENV['winrm_endpoint'] if ENV['winrm_endpoint']
26
- config
27
- end
28
-
29
- def merge_config_option_from_environment(config, key)
30
- env_key = 'winrm_' + key
31
- config[key.to_sym] = ENV[env_key] if ENV[env_key]
32
- end
33
-
34
- def winrm_config_path
35
- # Copy config-example.yml to config.yml and edit for your local ConnectionOpts
36
- path = File.expand_path("#{File.dirname(__FILE__)}/config.yml")
37
- unless File.exist?(path)
38
- # user hasn't done this, so use sane defaults for unit tests
39
- path = File.expand_path("#{File.dirname(__FILE__)}/config-example.yml")
40
- end
41
- path
42
- end
43
-
44
- def symbolize_keys(hash)
45
- hash.each_with_object({}) do |(key, value), result|
46
- new_key = case key
47
- when String then key.to_sym
48
- else key
49
- end
50
- new_value = case value
51
- when Hash then symbolize_keys(value)
52
- else value
53
- end
54
- result[new_key] = new_value
55
- result
56
- end
57
- end
58
- end
59
-
60
- RSpec.configure do |config|
61
- config.include(ConnectionHelper)
62
- end
@@ -1,98 +0,0 @@
1
- require_relative 'spec_helper'
2
-
3
- describe 'WinRM connection' do
4
- let(:connection) do
5
- endpoint = connection_opts[:endpoint].dup
6
- if auth_type == :ssl
7
- endpoint.sub!('5985', '5986')
8
- endpoint.sub!('http', 'https')
9
- end
10
- conn_options = {
11
- transport: auth_type,
12
- endpoint: endpoint
13
- }.merge(options)
14
- WinRM::Connection.new(conn_options).shell(:cmd)
15
- end
16
- let(:options) do
17
- opts = {}
18
- opts[:user] = connection_opts[:user]
19
- opts[:password] = connection_opts[:password]
20
- opts[:basic_auth_only] = basic_auth_only
21
- opts[:no_ssl_peer_verification] = no_ssl_peer_verification
22
- opts[:ssl_peer_fingerprint] = ssl_peer_fingerprint
23
- opts[:client_cert] = user_cert
24
- opts[:client_key] = user_key
25
- opts
26
- end
27
- let(:basic_auth_only) { false }
28
- let(:no_ssl_peer_verification) { false }
29
- let(:ssl_peer_fingerprint) { nil }
30
- let(:user_cert) { nil }
31
- let(:user_key) { nil }
32
-
33
- subject(:output) { connection.run('ipconfig') }
34
-
35
- after(:each) do
36
- connection.close
37
- end
38
-
39
- shared_examples 'a valid_connection' do
40
- it 'has a 0 exit code' do
41
- expect(subject).to have_exit_code 0
42
- end
43
-
44
- it 'includes command output' do
45
- expect(subject).to have_stdout_match(/Windows IP Configuration/)
46
- end
47
-
48
- it 'has no errors' do
49
- expect(subject).to have_no_stderr
50
- end
51
- end
52
-
53
- context 'HttpPlaintext' do
54
- let(:basic_auth_only) { true }
55
- let(:auth_type) { :plaintext }
56
-
57
- it_behaves_like 'a valid_connection'
58
- end
59
-
60
- context 'HttpNegotiate' do
61
- let(:auth_type) { :negotiate }
62
-
63
- it_behaves_like 'a valid_connection'
64
- end
65
-
66
- context 'BasicAuthSSL', skip: ENV['winrm_cert'].nil? do
67
- let(:basic_auth_only) { true }
68
- let(:auth_type) { :ssl }
69
- let(:no_ssl_peer_verification) { true }
70
-
71
- it_behaves_like 'a valid_connection'
72
- end
73
-
74
- context 'ClientCertAuthSSL', skip: ENV['user_cert'].nil? do
75
- let(:auth_type) { :ssl }
76
- let(:no_ssl_peer_verification) { true }
77
- let(:user_cert) { ENV['user_cert'] }
78
- let(:user_key) { ENV['user_key'] }
79
-
80
- before { options[:pass] = nil }
81
-
82
- it_behaves_like 'a valid_connection'
83
- end
84
-
85
- context 'Negotiate over SSL', skip: ENV['winrm_cert'].nil? do
86
- let(:auth_type) { :ssl }
87
- let(:no_ssl_peer_verification) { true }
88
-
89
- it_behaves_like 'a valid_connection'
90
- end
91
-
92
- context 'SSL fingerprint', skip: ENV['winrm_cert'].nil? do
93
- let(:auth_type) { :ssl }
94
- let(:ssl_peer_fingerprint) { ENV['winrm_cert'] }
95
-
96
- it_behaves_like 'a valid_connection'
97
- end
98
- end