vagrant-winrm 0.0.2 → 0.4.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 210c89d4530fcbed54ae1c14abfb7296eac6a39f
4
- data.tar.gz: 26bd2ffbf4d1b9aebedd4f3dd5e8c2c14ef6b4ef
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OTEwOWNjNDY2ZjFjZmMzZGNlOGYwZDI2NjZhZmU0YTU3OWIwMWI3NA==
5
+ data.tar.gz: !binary |-
6
+ MmVhYTJmZGY3YjkzNjgwNmM2ODY4YmMxMTNiNWM1OTZlNjg1MTc1Yw==
5
7
  SHA512:
6
- metadata.gz: 376ec1e96ba09e7edb537c4d813b9e39bff4dff4a14024c4ad95d89a5c47bbb2bd2cc82951ead06258da431e0ebc0fbc822a7b338cf30a2931b88d59227885d9
7
- data.tar.gz: 6a14eee48918be937014f323f63f1d9ca5c8554c7c3452963d1a480626009416964c9ce836e50efe9d44792b52a5c2699e63f3cec554423730c21e81959393a7
8
+ metadata.gz: !binary |-
9
+ ODdhMWYyMDdmNjM2Mzk5MWM2N2QxYzJiYThjMDFiZmNjZGEyYTYxMDI4M2Ux
10
+ NDBkNzVlZTdhMDFjMmE3MzFlY2NiNjgwMWJlNWM4MjBjOTllNWVhODgxMDQ2
11
+ NGZkYTgxY2M3NTBjNzdiODVjMDE5MTE3Yjc3MjE4M2MzYTUzY2Y=
12
+ data.tar.gz: !binary |-
13
+ OWJmMzZkMTFmOWFjNmExMWNmMzA4ZGZmM2NlY2NlYTQ2ZTIzOTlmNDU0ODA1
14
+ NTU0ZDhmZmNlOGI3OTgwODUzN2I2ZDNhMmMzYmU2NTY0NDg4MTg2NTJjZDI5
15
+ YzMyZDk1MTMxM2JkY2IwOGUzMTRjNzBkMDA2YTc3NTc2YWMwY2E=
data/.gitignore CHANGED
@@ -20,3 +20,6 @@ tmp
20
20
  *.o
21
21
  *.a
22
22
  mkmf.log
23
+
24
+ # Bundler vendor gems to vendor/
25
+ vendor/
@@ -1,4 +1,12 @@
1
- language: ruby
2
- rvm:
3
- - 2.0.0
4
- script: rake spec
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ deploy:
5
+ provider: rubygems
6
+ api_key:
7
+ secure: gzvD+LH/hVa7RmW3C9Vf6v+asnClSj3I5EHpghwnG7oxJNCiKW1N3zTHPE64M+GhOus9kXlL2/oy358kSNyKAv2eEiqifMs5+hrFAqIU8jEPG+jvaVhBsVpmKedEZEc4ZDgn0Y71Et3+U8+VAEK7iAOQmgKSlVWF1qJxMV7lXSw=
8
+ gem: vagrant-winrm
9
+ on:
10
+ tags: true
11
+ all_branches: true
12
+ repo: criteo/vagrant-winrm
data/Gemfile CHANGED
@@ -3,5 +3,5 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  group :development do
6
- gem 'vagrant', git: 'https://github.com/mitchellh/vagrant.git', :tag => 'v1.6.3'
6
+ gem 'vagrant', git: 'https://github.com/mitchellh/vagrant.git'
7
7
  end
data/README.md CHANGED
@@ -47,8 +47,8 @@ Host CustomHostname
47
47
 
48
48
  ## <a name="development"></a> Development
49
49
 
50
- * Source hosted at [Gitlab][repo]
51
- * Report issues/questions/feature requests on [Gitlab Issues][issues]
50
+ * Source hosted at [Github][repo]
51
+ * Report issues/questions/feature requests on [Github Issues][issues]
52
52
 
53
53
  Pull requests are very welcome! Make sure your patches are well tested.
54
54
  Ideally create a topic branch for every separate change you make. For
@@ -70,9 +70,9 @@ Apache 2.0 (see [LICENSE][license])
70
70
 
71
71
 
72
72
  [author]: https://github.com/Annih
73
- [issues]: https://gitlab.criteois.lan/ruby-gems/kitchen-vagrant_winrm/issues
74
- [license]: https://gitlab.criteois.lan/ruby-gems/kitchen-vagrant_winrm/blob/master/LICENSE
75
- [repo]: https://gitlab.criteois.lan/ruby-gems/kitchen-vagrant_winrm
73
+ [issues]: https://github.com/criteo/vagrant-winrm/issues
74
+ [license]: https://github.com/criteo/vagrant-winrm/blob/master/LICENSE
75
+ [repo]: https://github.com/criteo/vagrant-winrm
76
76
  [plugin_usage]: http://docs.vagrantup.com/v2/plugins/usage.html
77
77
 
78
78
  [vagrant_dl]: http://downloads.vagrantup.com/
@@ -9,19 +9,21 @@ module VagrantPlugins
9
9
  end
10
10
 
11
11
  def execute
12
- options = {}
12
+ options = { shell: :powershell }
13
13
 
14
14
  opts = OptionParser.new do |o|
15
15
  o.banner = 'Usage: vagrant winrm [options] [name]'
16
- o.separator ''
17
16
  o.separator 'Options:'
18
- o.separator ''
19
17
 
20
18
  o.on('-c', '--command COMMAND', 'Execute a WinRM command directly') do |c|
21
19
  options[:command] = Array.new if options[:command].nil?
22
20
  options[:command].push c
23
21
  end
24
22
 
23
+ o.on('-s', '--shell SHELL', [:powershell, :cmd], 'Use the specified shell (powershell, cmd)') do |s|
24
+ options[:shell] = s
25
+ end
26
+
25
27
  o.on('--plugin-version', 'Print the version of the plugin and exit') do
26
28
  options[:version] = true
27
29
  end
@@ -45,15 +47,11 @@ module VagrantPlugins
45
47
  raise Errors::ConfigurationError, { :communicator => vm.config.vm.communicator } if vm.config.vm.communicator != :winrm
46
48
 
47
49
  exit_code = 0
48
- @logger.debug("Executing a batch of #{options[:command].length} on remote machine")
50
+ @logger.debug("Executing a batch of #{options[:command].length} on remote machine with #{options[:shell]}")
49
51
 
50
52
  options[:command].each do |c|
51
53
  @logger.debug("Executing command: #{c}")
52
- c.gsub! '"', '\"' if c.include? '`' or c.include? '$(' # Powershell is so strange sometimes!
53
- exit_code |= vm.communicate.execute(c) do |type, data|
54
- $stdout.print data if type == :stdout
55
- $stderr.print data if type == :stderr
56
- end
54
+ exit_code |= vm.communicate.execute(c, shell: options[:shell]) { |type, data| (type == :stderr ? $stderr : $stdout).print data }
57
55
  end
58
56
  return exit_code
59
57
  end
@@ -15,9 +15,7 @@ module VagrantPlugins
15
15
 
16
16
  opts = OptionParser.new do |o|
17
17
  o.banner = 'Usage: vagrant winrm-config [options] [name]'
18
- o.separator ''
19
18
  o.separator 'Options:'
20
- o.separator ''
21
19
 
22
20
  o.on('--host NAME', 'Name the host for the config') do |h|
23
21
  options[:host] = h
@@ -8,32 +8,103 @@ module VagrantPlugins
8
8
  end
9
9
 
10
10
  def execute
11
+ options = { temporary: false, compress: false }
12
+ source, destination, argv = parse_args options
11
13
 
14
+ return unless source || destination
15
+
16
+ # Execute the actual WinRM
17
+ with_target_vms(argv, single_target: true) do |vm|
18
+
19
+ raise Errors::ConfigurationError, { :communicator => vm.config.vm.communicator } if vm.config.vm.communicator != :winrm
20
+
21
+ tmp_dest = get_remote_temp_folder(vm) if options[:temporary] || options[:compress]
22
+
23
+ dest_file = options[:temporary] ? ::File.join(tmp_dest, destination) : destination
24
+ $stdout.print dest_file if options[:temporary]
25
+
26
+ @logger.debug("Uploading #{source} to #{destination}")
27
+ if options[:compress]
28
+ source_is_dir = ::File.directory? source
29
+ source = compress(source, source_is_dir)
30
+
31
+ dest_dir = source_is_dir || dest_file.end_with?('/') || dest_file.end_with?('\\') ? dest_file : ::File.dirname(dest_file)
32
+ remote_tgz_path = ::File.join(::File.dirname(tmp_dest), ::File.basename(source))
33
+ vm.communicate.upload(source, remote_tgz_path)
34
+ return vm.communicate.execute("New-Item '#{dest_dir}' -type directory -force; tar -xzf '#{remote_tgz_path}' -C '#{dest_dir}'; ")
35
+ else
36
+ return vm.communicate.upload(source, dest_file)
37
+ end
38
+ end
39
+ end
40
+
41
+
42
+ private
43
+
44
+ def compress(source, source_is_dir)
45
+ require 'zlib'
46
+ require 'tempfile'
47
+ require 'archive/tar/minitar'
48
+
49
+ cwd = Dir.pwd
50
+ begin
51
+ tmp = ::Tempfile.new(['script', '.tar.gz'])
52
+ tmp.binmode
53
+ tgz = Zlib::GzipWriter.new (tmp)
54
+
55
+ Dir.chdir source_is_dir ? source : ::File.dirname(source)
56
+ Archive::Tar::Minitar.pack(source_is_dir ? '.' : ::File.basename(source), tgz)
57
+
58
+ tmp.path # returns the temporary file path
59
+ ensure
60
+ tgz.close if tgz && !tgz.closed?
61
+ tmp.close if tmp && !tmp.closed?
62
+ Dir.chdir cwd
63
+ end
64
+ end
65
+
66
+ def parse_args(options)
12
67
  opts = OptionParser.new do |o|
13
- o.banner = 'Usage: vagrant winrm-upload <source> <destination> [name]'
68
+ o.banner = <<-EOS
69
+ Usage:
70
+ \tvagrant winrm-upload [-c] <source> <destination> [name]
71
+ \tvagrant winrm-upload [-c] -t <source> [name]
72
+ EOS
73
+ o.separator 'Options:'
74
+
75
+ o.on('-t', '--temporary', 'Upload the source file to a temporary directory and return the path') do
76
+ options[:temporary] = true
77
+ end
78
+
79
+ o.on('-c', '--compress', 'Use gzip compression to speed up the upload') do
80
+ options[:compress] = true
81
+ end
14
82
  end
15
83
 
16
84
  # Parse the options and return if we don't have any target.
17
85
  argv = parse_options opts
18
86
  return unless argv
19
87
 
20
- if argv.empty? || argv.length > 3 || argv.length < 2
21
- raise Vagrant::Errors::CLIInvalidUsage,
22
- help: opts.help.chomp
23
- end
24
-
25
88
  source = argv[0]
26
- destination = argv[1]
27
- argv = argv.drop(2)
28
-
29
- # Execute the actual WinRM
30
- with_target_vms(argv, single_target: true) do |vm|
89
+ if options[:temporary]
90
+ min, max, destination = 1, 2, ::File.basename(argv[0])
91
+ else
92
+ min, max, destination = 2, 3, argv[1]
93
+ end
31
94
 
32
- raise Errors::ConfigurationError, { :communicator => vm.config.vm.communicator } if vm.config.vm.communicator != :winrm
95
+ if argv.empty? || argv.length > max || argv.length < min
96
+ raise Vagrant::Errors::CLIInvalidUsage, help: opts.help.chomp
97
+ end
98
+ [source, destination, argv.drop(min)]
99
+ end
33
100
 
34
- @logger.debug("Uploading #{source} to #{destination}")
35
- return vm.communicate.upload(source, destination)
101
+ def get_remote_temp_folder(vm)
102
+ dir = nil
103
+ vm.communicate.execute('[System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName()) | Write-Host -NoNewline') do |type, data|
104
+ raise Errors::TempFolderError, { :communicator => vm.config.vm.communicator } if type == :stderr || dir
105
+ dir = data
36
106
  end
107
+ dir
37
108
  end
38
109
  end
39
110
  end
@@ -9,6 +9,10 @@ module VagrantPlugins
9
9
  class ConfigurationError < WinRMError
10
10
  error_key(:config_error)
11
11
  end
12
+
13
+ class TempFolderError < WinRMError
14
+ error_key(:tempfolder_error)
15
+ end
12
16
  end
13
17
  end
14
18
  end
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module VagrantWinRM
3
- VERSION = '0.0.2'
3
+ VERSION = '0.4.0'
4
4
  end
5
5
  end
@@ -4,4 +4,8 @@ en:
4
4
  config_error: |-
5
5
  The current machine is not configured to communicate through WinRM.
6
6
 
7
+ Communicator: %{communicator}
8
+ tempfolder_error: |-
9
+ Unable to retrieve a temporary folder on the remote machine through WinRM.
10
+
7
11
  Communicator: %{communicator}
@@ -1,102 +1,112 @@
1
- require 'spec_helper'
2
- require 'stringio'
3
-
4
- describe VagrantPlugins::VagrantWinRM::WinRMConfig, :unit => true do
5
-
6
- =begin ############
7
- # Here we mock!
8
- =end ##############
9
-
10
- let(:idx) { double('idx') }
11
- let(:winrm_config) { double('winrm_config', host: 'winrm_super_host', port: 32424, username: 'usern@me', password: 'p4ssw0rd') }
12
- let(:machine_config) { double('machine_config', winrm: winrm_config) }
13
- let(:machine) { double('machine', config: machine_config, name: 'vagrant', provider: 'virtualbox', config: machine_config, ui: double('ui', opts: {})) }
14
- let(:env) { double('env', root_path: '', home_path: '', ui_class: '', machine_names: [machine.name], active_machines: [machine], machine_index: idx, default_provider: 'virtualbox') }
15
-
16
- before do
17
- # Mock the local env creation
18
- allow(machine).to receive(:vagrant_env).with('', { :ui_class => '' }).and_return env
19
-
20
- # Mock the index to include only our machine
21
- allow(idx).to receive(:release).with machine
22
- allow(idx).to receive(:include?).with(any_args) do |name|
23
- 'vagrant' == name
24
- end
25
- allow(idx).to receive(:get).with(any_args) do |name|
26
- env.machine(name.to_sym, :virtualbox)
27
- end
28
-
29
- # Add our machine to the environment
30
- allow(env).to receive(:machine).with(any_args, :virtualbox) do |name, provider|
31
- machine if :vagrant == name
32
- end
33
- end
34
-
35
- =begin ############
36
- # Here we test!
37
- =end ##############
38
- describe 'execute' do
39
-
40
- it 'displays help message with option --help' do
41
- c = VagrantPlugins::VagrantWinRM::WinRMConfig.new(['--help'], env)
42
- expect {
43
- expect(c.execute).to be_nil
44
- }.to output.to_stdout
45
- end
46
-
47
- it 'raises error on unknown target' do
48
- c = VagrantPlugins::VagrantWinRM::WinRMConfig.new(['unknownTarget'], env)
49
- expect { c.execute }.to raise_error(Vagrant::Errors::VMNotFoundError)
50
- end
51
-
52
- it 'raises error ''invalid options'' on unknown option' do
53
- c = VagrantPlugins::VagrantWinRM::WinRMConfig.new(['--unknown'], env)
54
- expect { c.execute }.to raise_error(Vagrant::Errors::CLIInvalidOptions)
55
- end
56
-
57
- it 'ouputs the WinRMConfig with no Target' do
58
- c = VagrantPlugins::VagrantWinRM::WinRMConfig.new([], env)
59
- begin
60
- $stdout = StringIO.new
61
- expect(c.execute).to be_zero
62
- expect($stdout.string).to match(/#{machine.name}/)
63
- expect($stdout.string).to match(/#{winrm_config.host}/)
64
- expect($stdout.string).to match(/#{winrm_config.port}/)
65
- expect($stdout.string).to match(/#{winrm_config.username}/)
66
- expect($stdout.string).to match(/#{winrm_config.password}/)
67
- ensure
68
- $stdout = STDOUT
69
- end
70
- end
71
-
72
- it 'ouputs the WinRMConfig with target' do
73
- c = VagrantPlugins::VagrantWinRM::WinRMConfig.new(['vagrant'], env)
74
- begin
75
- $stdout = StringIO.new
76
- expect(c.execute).to be_zero
77
- expect($stdout.string).to match(/#{machine.name}/)
78
- expect($stdout.string).to match(/#{winrm_config.host}/)
79
- expect($stdout.string).to match(/#{winrm_config.port}/)
80
- expect($stdout.string).to match(/#{winrm_config.username}/)
81
- expect($stdout.string).to match(/#{winrm_config.password}/)
82
- ensure
83
- $stdout = STDOUT
84
- end
85
- end
86
-
87
- it 'ouputs the WinRMConfig with custom host key when --host is provided' do
88
- c = VagrantPlugins::VagrantWinRM::WinRMConfig.new(['--host', 'custom_host_key', 'vagrant'], env)
89
- begin
90
- $stdout = StringIO.new
91
- expect(c.execute).to be_zero
92
- expect($stdout.string).to match(/custom_host_key/)
93
- expect($stdout.string).to match(/#{winrm_config.host}/)
94
- expect($stdout.string).to match(/#{winrm_config.port}/)
95
- expect($stdout.string).to match(/#{winrm_config.username}/)
96
- expect($stdout.string).to match(/#{winrm_config.password}/)
97
- ensure
98
- $stdout = STDOUT
99
- end
100
- end
101
- end
102
- end
1
+ require 'spec_helper'
2
+ require 'stringio'
3
+
4
+ describe VagrantPlugins::VagrantWinRM::WinRMConfig, :unit => true do
5
+
6
+ =begin ############
7
+ # Here we mock!
8
+ =end ##############
9
+
10
+ let(:idx) { double('idx') }
11
+ let(:winrm_config) { double('winrm_config', host: 'winrm_super_host', port: 32424, username: 'usern@me', password: 'p4ssw0rd') }
12
+ let(:machine_config) { double('machine_config', winrm: winrm_config) }
13
+ let(:machine) {
14
+ double(
15
+ 'machine',
16
+ config: machine_config,
17
+ name: 'vagrant',
18
+ provider: 'virtualbox',
19
+ config: machine_config,
20
+ ui: double('ui', opts: {}),
21
+ state: nil
22
+ )
23
+ }
24
+ let(:env) { double('env', root_path: '', home_path: '', ui_class: '', machine_names: [machine.name], active_machines: [machine], machine_index: idx, default_provider: 'virtualbox') }
25
+
26
+ before do
27
+ # Mock the local env creation
28
+ allow(machine).to receive(:vagrant_env).with('', { :ui_class => '' }).and_return env
29
+
30
+ # Mock the index to include only our machine
31
+ allow(idx).to receive(:release).with machine
32
+ allow(idx).to receive(:include?).with(any_args) do |name|
33
+ 'vagrant' == name
34
+ end
35
+ allow(idx).to receive(:get).with(any_args) do |name|
36
+ env.machine(name.to_sym, :virtualbox)
37
+ end
38
+
39
+ # Add our machine to the environment
40
+ allow(env).to receive(:machine).with(any_args, :virtualbox) do |name, provider|
41
+ machine if :vagrant == name
42
+ end
43
+ end
44
+
45
+ =begin ############
46
+ # Here we test!
47
+ =end ##############
48
+ describe 'execute' do
49
+
50
+ it 'displays help message with option --help' do
51
+ c = VagrantPlugins::VagrantWinRM::WinRMConfig.new(['--help'], env)
52
+ expect {
53
+ expect(c.execute).to be_nil
54
+ }.to output.to_stdout
55
+ end
56
+
57
+ it 'raises error on unknown target' do
58
+ c = VagrantPlugins::VagrantWinRM::WinRMConfig.new(['unknownTarget'], env)
59
+ expect { c.execute }.to raise_error(Vagrant::Errors::VMNotFoundError)
60
+ end
61
+
62
+ it 'raises error ''invalid options'' on unknown option' do
63
+ c = VagrantPlugins::VagrantWinRM::WinRMConfig.new(['--unknown'], env)
64
+ expect { c.execute }.to raise_error(Vagrant::Errors::CLIInvalidOptions)
65
+ end
66
+
67
+ it 'ouputs the WinRMConfig with no Target' do
68
+ c = VagrantPlugins::VagrantWinRM::WinRMConfig.new([], env)
69
+ begin
70
+ $stdout = StringIO.new
71
+ expect(c.execute).to be_zero
72
+ expect($stdout.string).to match(/#{machine.name}/)
73
+ expect($stdout.string).to match(/#{winrm_config.host}/)
74
+ expect($stdout.string).to match(/#{winrm_config.port}/)
75
+ expect($stdout.string).to match(/#{winrm_config.username}/)
76
+ expect($stdout.string).to match(/#{winrm_config.password}/)
77
+ ensure
78
+ $stdout = STDOUT
79
+ end
80
+ end
81
+
82
+ it 'ouputs the WinRMConfig with target' do
83
+ c = VagrantPlugins::VagrantWinRM::WinRMConfig.new(['vagrant'], env)
84
+ begin
85
+ $stdout = StringIO.new
86
+ expect(c.execute).to be_zero
87
+ expect($stdout.string).to match(/#{machine.name}/)
88
+ expect($stdout.string).to match(/#{winrm_config.host}/)
89
+ expect($stdout.string).to match(/#{winrm_config.port}/)
90
+ expect($stdout.string).to match(/#{winrm_config.username}/)
91
+ expect($stdout.string).to match(/#{winrm_config.password}/)
92
+ ensure
93
+ $stdout = STDOUT
94
+ end
95
+ end
96
+
97
+ it 'ouputs the WinRMConfig with custom host key when --host is provided' do
98
+ c = VagrantPlugins::VagrantWinRM::WinRMConfig.new(['--host', 'custom_host_key', 'vagrant'], env)
99
+ begin
100
+ $stdout = StringIO.new
101
+ expect(c.execute).to be_zero
102
+ expect($stdout.string).to match(/custom_host_key/)
103
+ expect($stdout.string).to match(/#{winrm_config.host}/)
104
+ expect($stdout.string).to match(/#{winrm_config.port}/)
105
+ expect($stdout.string).to match(/#{winrm_config.username}/)
106
+ expect($stdout.string).to match(/#{winrm_config.password}/)
107
+ ensure
108
+ $stdout = STDOUT
109
+ end
110
+ end
111
+ end
112
+ end
@@ -1,120 +1,120 @@
1
- require 'spec_helper'
2
- require 'stringio'
3
-
4
- describe VagrantPlugins::VagrantWinRM::WinRM, :unit => true do
5
-
6
- =begin ############
7
- # Here we mock!
8
- =end ##############
9
-
10
- let(:idx) { double('idx') }
11
- let(:communicator) { double('communicator') }
12
- let(:config_vm) { double('config_vm', communicator: :winrm) }
13
- let(:machine_config) { double('machine_config', vm: config_vm) }
14
- let(:machine) { double('machine', config: machine_config, name: 'vagrant', provider: 'virtualbox', config: machine_config, communicate: communicator, ui: double('ui', opts: {})) }
15
- let(:env) { double('env', root_path: '', home_path: '', ui_class: '', machine_names: [machine.name], active_machines: [machine], machine_index: idx, default_provider: 'virtualbox') }
16
-
17
- before do
18
- # Mock the local env creation
19
- allow(machine).to receive(:vagrant_env).with('', { :ui_class => '' }).and_return env
20
-
21
- # Mock the index to include only our machine
22
- allow(idx).to receive(:release).with machine
23
- allow(idx).to receive(:include?).with(any_args) do |name|
24
- 'vagrant' == name
25
- end
26
- allow(idx).to receive(:get).with(any_args) do |name|
27
- env.machine(name.to_sym, :virtualbox)
28
- end
29
-
30
- # Add our machine to the environment
31
- allow(env).to receive(:machine).with(any_args, :virtualbox) do |name, provider|
32
- machine if :vagrant == name
33
- end
34
- end
35
-
36
- =begin ############
37
- # Here we test!
38
- =end ##############
39
- describe 'execute' do
40
- it 'does nothing with no option' do
41
- c = VagrantPlugins::VagrantWinRM::WinRM.new([], env)
42
- expect {
43
- expect(c.execute).to be_zero
44
- }.not_to output.to_stdout
45
- end
46
-
47
- it 'gives proper version with option --plugin-version' do
48
- c = VagrantPlugins::VagrantWinRM::WinRM.new(['--plugin-version'], env)
49
- expect {
50
- expect(c.execute).to be_zero
51
- }.to output("Vagrant-winrm plugin 0.0.1\n").to_stdout
52
- end
53
-
54
- it 'displays help message with option --help' do
55
- c = VagrantPlugins::VagrantWinRM::WinRM.new(['--help'], env)
56
- expect {
57
- expect(c.execute).to be_nil
58
- }.to output.to_stdout
59
- end
60
-
61
- it 'raises error when communicator not winrm' do
62
- c = VagrantPlugins::VagrantWinRM::WinRM.new(['-c', 'dummyCommand'], env)
63
- expect(config_vm).to receive(:communicator).and_return :ssh
64
-
65
- expect { c.execute }.to raise_error(VagrantPlugins::VagrantWinRM::Errors::ConfigurationError, /not configured to communicate through WinRM/)
66
- end
67
-
68
- it 'raises error on unknown target' do
69
- c = VagrantPlugins::VagrantWinRM::WinRM.new(['-c', 'command1', 'unknownTarget'], env)
70
- expect { c.execute }.to raise_error(Vagrant::Errors::VMNotFoundError)
71
- end
72
-
73
- it 'raises error ''invalid options'' on unknown option' do
74
- c = VagrantPlugins::VagrantWinRM::WinRM.new(['--unknown'], env)
75
- expect { c.execute }.to raise_error(Vagrant::Errors::CLIInvalidOptions)
76
- end
77
-
78
- it 'passes commands to communicator with no target' do
79
- c = VagrantPlugins::VagrantWinRM::WinRM.new(['-c', 'command1', '--command', 'command2', '-c', 'command3', '--command', 'command4'], env)
80
-
81
- expect(communicator).to receive(:execute).ordered.with('command1').and_return 0
82
- expect(communicator).to receive(:execute).ordered.with('command2').and_return 0
83
- expect(communicator).to receive(:execute).ordered.with('command3').and_return 0
84
- expect(communicator).to receive(:execute).ordered.with('command4').and_return 0
85
-
86
- expect {
87
- expect(c.execute).to be_zero
88
- }.not_to output.to_stdout
89
- end
90
-
91
- it 'passes commands to communicator even with a specific target' do
92
- c = VagrantPlugins::VagrantWinRM::WinRM.new(['-c', 'command5', '--command', 'command6', '-c', 'command7', '--command', 'command8', 'vagrant'], env)
93
- expect(communicator).to receive(:execute).ordered.with('command5').and_return 0
94
- expect(communicator).to receive(:execute).ordered.with('command6').and_return 0
95
- expect(communicator).to receive(:execute).ordered.with('command7').and_return 0
96
- expect(communicator).to receive(:execute).ordered.with('command8').and_return 0
97
- expect {
98
- expect(c.execute).to be_zero
99
- }.not_to output.to_stdout
100
- end
101
-
102
- it 'redirects winrm outputs to stdout' do
103
- c = VagrantPlugins::VagrantWinRM::WinRM.new(['-c', 'command'], env)
104
-
105
- expect(communicator).to receive(:execute).with('command').and_yield(:stdout, 'output message').and_return 0
106
- expect {
107
- expect(c.execute).to be_zero
108
- }.to output('output message').to_stdout
109
- end
110
-
111
- it 'redirects winrm errors to stderr' do
112
- c = VagrantPlugins::VagrantWinRM::WinRM.new(['-c', 'command'], env)
113
-
114
- expect(communicator).to receive(:execute).with('command').and_yield(:stderr, 'error message').and_return 0
115
- expect {
116
- expect(c.execute).to be_zero
117
- }.to output('error message').to_stderr
118
- end
119
- end
120
- end
1
+ require 'spec_helper'
2
+ require 'stringio'
3
+
4
+ describe VagrantPlugins::VagrantWinRM::WinRM, :unit => true do
5
+
6
+ =begin ############
7
+ # Here we mock!
8
+ =end ##############
9
+
10
+ let(:idx) { double('idx') }
11
+ let(:communicator) { double('communicator') }
12
+ let(:config_vm) { double('config_vm', communicator: :winrm) }
13
+ let(:machine_config) { double('machine_config', vm: config_vm) }
14
+ let(:machine) { double('machine', config: machine_config, name: 'vagrant', provider: 'virtualbox', config: machine_config, communicate: communicator, ui: double('ui', opts: {})) }
15
+ let(:env) { double('env', root_path: '', home_path: '', ui_class: '', machine_names: [machine.name], active_machines: [machine], machine_index: idx, default_provider: 'virtualbox') }
16
+
17
+ before do
18
+ # Mock the local env creation
19
+ allow(machine).to receive(:vagrant_env).with('', { :ui_class => '' }).and_return env
20
+
21
+ # Mock the index to include only our machine
22
+ allow(idx).to receive(:release).with machine
23
+ allow(idx).to receive(:include?).with(any_args) do |name|
24
+ 'vagrant' == name
25
+ end
26
+ allow(idx).to receive(:get).with(any_args) do |name|
27
+ env.machine(name.to_sym, :virtualbox)
28
+ end
29
+
30
+ # Add our machine to the environment
31
+ allow(env).to receive(:machine).with(any_args, :virtualbox) do |name, provider|
32
+ machine if :vagrant == name
33
+ end
34
+ end
35
+
36
+ =begin ############
37
+ # Here we test!
38
+ =end ##############
39
+ describe 'execute' do
40
+ it 'does nothing with no option' do
41
+ c = VagrantPlugins::VagrantWinRM::WinRM.new([], env)
42
+ expect {
43
+ expect(c.execute).to be_zero
44
+ }.not_to output.to_stdout
45
+ end
46
+
47
+ it 'gives proper version with option --plugin-version' do
48
+ c = VagrantPlugins::VagrantWinRM::WinRM.new(['--plugin-version'], env)
49
+ expect {
50
+ expect(c.execute).to be_zero
51
+ }.to output("Vagrant-winrm plugin #{VagrantPlugins::VagrantWinRM::VERSION}\n").to_stdout
52
+ end
53
+
54
+ it 'displays help message with option --help' do
55
+ c = VagrantPlugins::VagrantWinRM::WinRM.new(['--help'], env)
56
+ expect {
57
+ expect(c.execute).to be_nil
58
+ }.to output.to_stdout
59
+ end
60
+
61
+ it 'raises error when communicator not winrm' do
62
+ c = VagrantPlugins::VagrantWinRM::WinRM.new(['-c', 'dummyCommand'], env)
63
+ expect(config_vm).to receive(:communicator).and_return :ssh
64
+
65
+ expect { c.execute }.to raise_error(VagrantPlugins::VagrantWinRM::Errors::ConfigurationError, /not configured to communicate through WinRM/)
66
+ end
67
+
68
+ it 'raises error on unknown target' do
69
+ c = VagrantPlugins::VagrantWinRM::WinRM.new(['-c', 'command1', 'unknownTarget'], env)
70
+ expect { c.execute }.to raise_error(Vagrant::Errors::VMNotFoundError)
71
+ end
72
+
73
+ it 'raises error ''invalid options'' on unknown option' do
74
+ c = VagrantPlugins::VagrantWinRM::WinRM.new(['--unknown'], env)
75
+ expect { c.execute }.to raise_error(Vagrant::Errors::CLIInvalidOptions)
76
+ end
77
+
78
+ it 'passes commands to communicator with no target' do
79
+ c = VagrantPlugins::VagrantWinRM::WinRM.new(['-c', 'command1', '--command', 'command2', '-c', 'command3', '--command', 'command4'], env)
80
+
81
+ expect(communicator).to receive(:execute).ordered.with('command1', { shell: :powershell }).and_return 0
82
+ expect(communicator).to receive(:execute).ordered.with('command2', { shell: :powershell }).and_return 0
83
+ expect(communicator).to receive(:execute).ordered.with('command3', { shell: :powershell }).and_return 0
84
+ expect(communicator).to receive(:execute).ordered.with('command4', { shell: :powershell }).and_return 0
85
+
86
+ expect {
87
+ expect(c.execute).to be_zero
88
+ }.not_to output.to_stdout
89
+ end
90
+
91
+ it 'passes commands to communicator even with a specific target' do
92
+ c = VagrantPlugins::VagrantWinRM::WinRM.new(['-c', 'command5', '--command', 'command6', '-c', 'command7', '--command', 'command8', 'vagrant'], env)
93
+ expect(communicator).to receive(:execute).ordered.with('command5', { shell: :powershell }).and_return 0
94
+ expect(communicator).to receive(:execute).ordered.with('command6', { shell: :powershell }).and_return 0
95
+ expect(communicator).to receive(:execute).ordered.with('command7', { shell: :powershell }).and_return 0
96
+ expect(communicator).to receive(:execute).ordered.with('command8', { shell: :powershell }).and_return 0
97
+ expect {
98
+ expect(c.execute).to be_zero
99
+ }.not_to output.to_stdout
100
+ end
101
+
102
+ it 'redirects winrm outputs to stdout' do
103
+ c = VagrantPlugins::VagrantWinRM::WinRM.new(['-c', 'command'], env)
104
+
105
+ expect(communicator).to receive(:execute).with('command', { shell: :powershell }).and_yield(:stdout, 'output message').and_return 0
106
+ expect {
107
+ expect(c.execute).to be_zero
108
+ }.to output('output message').to_stdout
109
+ end
110
+
111
+ it 'redirects winrm errors to stderr' do
112
+ c = VagrantPlugins::VagrantWinRM::WinRM.new(['-c', 'command'], env)
113
+
114
+ expect(communicator).to receive(:execute).with('command', { shell: :powershell }).and_yield(:stderr, 'error message').and_return 0
115
+ expect {
116
+ expect(c.execute).to be_zero
117
+ }.to output('error message').to_stderr
118
+ end
119
+ end
120
+ end
@@ -1,87 +1,87 @@
1
- require 'spec_helper'
2
- require 'stringio'
3
-
4
- describe VagrantPlugins::VagrantWinRM::WinRMUpload, :unit => true do
5
-
6
- =begin ############
7
- # Here we mock!
8
- =end ##############
9
-
10
- let(:idx) { double('idx') }
11
- let(:communicator) { double('communicator') }
12
- let(:config_vm) { double('config_vm', communicator: :winrm) }
13
- let(:machine_config) { double('machine_config', vm: config_vm) }
14
- let(:machine) { double('machine', config: machine_config, name: 'vagrant', provider: 'virtualbox', config: machine_config, communicate: communicator, ui: double('ui', opts: {})) }
15
- let(:env) { double('env', root_path: '', home_path: '', ui_class: '', machine_names: [machine.name], active_machines: [machine], machine_index: idx, default_provider: 'virtualbox') }
16
-
17
- before do
18
- # Mock the local env creation
19
- allow(machine).to receive(:vagrant_env).with('', { :ui_class => '' }).and_return env
20
-
21
- # Mock the index to include only our machine
22
- allow(idx).to receive(:release).with machine
23
- allow(idx).to receive(:include?).with(any_args) do |name|
24
- 'vagrant' == name
25
- end
26
- allow(idx).to receive(:get).with(any_args) do |name|
27
- env.machine(name.to_sym, :virtualbox)
28
- end
29
-
30
- # Add our machine to the environment
31
- allow(env).to receive(:machine).with(any_args, :virtualbox) do |name, provider|
32
- machine if :vagrant == name
33
- end
34
- end
35
-
36
- =begin ############
37
- # Here we test!
38
- =end ##############
39
- describe 'execute' do
40
- it 'raises error ''invalid usage'' on bad usage' do
41
- c = VagrantPlugins::VagrantWinRM::WinRMUpload.new([], env)
42
- expect { c.execute }.to raise_error(Vagrant::Errors::CLIInvalidUsage)
43
- end
44
-
45
- it 'raises error ''invalid options'' on unknown option' do
46
- c = VagrantPlugins::VagrantWinRM::WinRMUpload.new(['--unknown'], env)
47
- expect { c.execute }.to raise_error(Vagrant::Errors::CLIInvalidOptions)
48
- end
49
-
50
- it 'displays help message with option --help' do
51
- c = VagrantPlugins::VagrantWinRM::WinRMUpload.new(['--help'], env)
52
- expect {
53
- expect(c.execute).to be_nil
54
- }.to output.to_stdout
55
- end
56
-
57
- it 'raises error when communicator not winrm' do
58
- c = VagrantPlugins::VagrantWinRM::WinRMUpload.new(['source', 'destination'], env)
59
- expect(config_vm).to receive(:communicator).and_return :ssh
60
-
61
- expect { c.execute }.to raise_error(VagrantPlugins::VagrantWinRM::Errors::ConfigurationError, /not configured to communicate through WinRM/)
62
- end
63
-
64
- it 'raises error on unknown target' do
65
- c = VagrantPlugins::VagrantWinRM::WinRMUpload.new(['source', 'destination', 'unknownTarget'], env)
66
- expect { c.execute }.to raise_error Vagrant::Errors::VMNotFoundError
67
- end
68
-
69
-
70
- it 'passes source and destination to communicator with no target' do
71
- c = VagrantPlugins::VagrantWinRM::WinRMUpload.new(['source', 'destination'], env)
72
- expect(communicator).to receive(:upload).with('source', 'destination').and_return 0
73
-
74
- expect {
75
- expect(c.execute).to be_zero
76
- }.not_to output.to_stdout
77
- end
78
-
79
- it 'passes source and destination to communicator even with a specific target' do
80
- c = VagrantPlugins::VagrantWinRM::WinRMUpload.new(['source', 'destination', 'vagrant'], env)
81
- expect(communicator).to receive(:upload).with('source', 'destination').and_return 0
82
- expect {
83
- expect(c.execute).to be_zero
84
- }.not_to output.to_stdout
85
- end
86
- end
87
- end
1
+ require 'spec_helper'
2
+ require 'stringio'
3
+
4
+ describe VagrantPlugins::VagrantWinRM::WinRMUpload, :unit => true do
5
+
6
+ =begin ############
7
+ # Here we mock!
8
+ =end ##############
9
+
10
+ let(:idx) { double('idx') }
11
+ let(:communicator) { double('communicator') }
12
+ let(:config_vm) { double('config_vm', communicator: :winrm) }
13
+ let(:machine_config) { double('machine_config', vm: config_vm) }
14
+ let(:machine) { double('machine', config: machine_config, name: 'vagrant', provider: 'virtualbox', config: machine_config, communicate: communicator, state:nil, ui: double('ui', opts: {})) }
15
+ let(:env) { double('env', root_path: '', home_path: '', ui_class: '', machine_names: [machine.name], active_machines: [machine], machine_index: idx, default_provider: 'virtualbox') }
16
+
17
+ before do
18
+ # Mock the local env creation
19
+ allow(machine).to receive(:vagrant_env).with('', { :ui_class => '' }).and_return env
20
+
21
+ # Mock the index to include only our machine
22
+ allow(idx).to receive(:release).with machine
23
+ allow(idx).to receive(:include?).with(any_args) do |name|
24
+ 'vagrant' == name
25
+ end
26
+ allow(idx).to receive(:get).with(any_args) do |name|
27
+ env.machine(name.to_sym, :virtualbox)
28
+ end
29
+
30
+ # Add our machine to the environment
31
+ allow(env).to receive(:machine).with(any_args, :virtualbox) do |name, provider|
32
+ machine if :vagrant == name
33
+ end
34
+ end
35
+
36
+ =begin ############
37
+ # Here we test!
38
+ =end ##############
39
+ describe 'execute' do
40
+ it 'raises error ''invalid usage'' on bad usage' do
41
+ c = VagrantPlugins::VagrantWinRM::WinRMUpload.new([], env)
42
+ expect { c.execute }.to raise_error(Vagrant::Errors::CLIInvalidUsage)
43
+ end
44
+
45
+ it 'raises error ''invalid options'' on unknown option' do
46
+ c = VagrantPlugins::VagrantWinRM::WinRMUpload.new(['--unknown'], env)
47
+ expect { c.execute }.to raise_error(Vagrant::Errors::CLIInvalidOptions)
48
+ end
49
+
50
+ it 'displays help message with option --help' do
51
+ c = VagrantPlugins::VagrantWinRM::WinRMUpload.new(['--help'], env)
52
+ expect {
53
+ expect(c.execute).to be_nil
54
+ }.to output.to_stdout
55
+ end
56
+
57
+ it 'raises error when communicator not winrm' do
58
+ c = VagrantPlugins::VagrantWinRM::WinRMUpload.new(['source', 'destination'], env)
59
+ expect(config_vm).to receive(:communicator).and_return :ssh
60
+
61
+ expect { c.execute }.to raise_error(VagrantPlugins::VagrantWinRM::Errors::ConfigurationError, /not configured to communicate through WinRM/)
62
+ end
63
+
64
+ it 'raises error on unknown target' do
65
+ c = VagrantPlugins::VagrantWinRM::WinRMUpload.new(['source', 'destination', 'unknownTarget'], env)
66
+ expect { c.execute }.to raise_error Vagrant::Errors::VMNotFoundError
67
+ end
68
+
69
+
70
+ it 'passes source and destination to communicator with no target' do
71
+ c = VagrantPlugins::VagrantWinRM::WinRMUpload.new(['source', 'destination'], env)
72
+ expect(communicator).to receive(:upload).with('source', 'destination').and_return 0
73
+
74
+ expect {
75
+ expect(c.execute).to be_zero
76
+ }.not_to output.to_stdout
77
+ end
78
+
79
+ it 'passes source and destination to communicator even with a specific target' do
80
+ c = VagrantPlugins::VagrantWinRM::WinRMUpload.new(['source', 'destination', 'vagrant'], env)
81
+ expect(communicator).to receive(:upload).with('source', 'destination').and_return 0
82
+ expect {
83
+ expect(c.execute).to be_zero
84
+ }.not_to output.to_stdout
85
+ end
86
+ end
87
+ end
@@ -7,20 +7,22 @@ Gem::Specification.new do |s|
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ['Baptiste Courtois']
9
9
  s.email = ['b.courtois@criteo.fr']
10
- s.homepage = 'https://gitlab.criteois.lan/ruby-gems/vagrant-winrm/'
10
+ s.homepage = 'https://github.com/criteo/vagrant-winrm/'
11
11
  s.summary = 'A Vagrant 1.6+ plugin extending WinRM communication features.'
12
12
  s.description = 'A Vagrant 1.6+ plugin that adds new command to extends WinRM communication features.'
13
13
  s.license = 'Apache 2.0'
14
14
 
15
15
  s.required_rubygems_version = '>= 2.0.0'
16
16
 
17
+ s.add_dependency 'minitar', '~> 0.5'
18
+
17
19
  s.add_development_dependency 'rake'
18
20
  s.add_development_dependency 'rspec_junit_formatter'
19
- s.add_development_dependency 'rspec-core', '~> 3.0.0'
20
- s.add_development_dependency 'rspec-expectations', '~> 3.0.0'
21
- s.add_development_dependency 'rspec-mocks', '~> 3.0.0'
21
+ s.add_development_dependency 'rspec-core', '~> 3.0'
22
+ s.add_development_dependency 'rspec-expectations', '~> 3.0'
23
+ s.add_development_dependency 'rspec-mocks', '~> 3.0'
22
24
 
23
- s.add_development_dependency 'bundler', '>= 1.0.0'
25
+ s.add_development_dependency 'bundler', '~> 1.0'
24
26
 
25
27
  s.files = `git ls-files`.split("\n")
26
28
  s.executables = `git ls-files`.split("\n").map { |f| f =~ /^bin\/(.*)/ ? $1 : nil }.compact
metadata CHANGED
@@ -1,41 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-winrm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Baptiste Courtois
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-26 00:00:00.000000000 Z
11
+ date: 2014-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitar
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '0.5'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '0.5'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rake
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
- - - '>='
31
+ - - ! '>='
18
32
  - !ruby/object:Gem::Version
19
33
  version: '0'
20
34
  type: :development
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
- - - '>='
38
+ - - ! '>='
25
39
  - !ruby/object:Gem::Version
26
40
  version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rspec_junit_formatter
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - '>='
45
+ - - ! '>='
32
46
  - !ruby/object:Gem::Version
33
47
  version: '0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - '>='
52
+ - - ! '>='
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
41
55
  - !ruby/object:Gem::Dependency
@@ -44,56 +58,56 @@ dependencies:
44
58
  requirements:
45
59
  - - ~>
46
60
  - !ruby/object:Gem::Version
47
- version: 3.0.0
61
+ version: '3.0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - ~>
53
67
  - !ruby/object:Gem::Version
54
- version: 3.0.0
68
+ version: '3.0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rspec-expectations
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ~>
60
74
  - !ruby/object:Gem::Version
61
- version: 3.0.0
75
+ version: '3.0'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - ~>
67
81
  - !ruby/object:Gem::Version
68
- version: 3.0.0
82
+ version: '3.0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rspec-mocks
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - ~>
74
88
  - !ruby/object:Gem::Version
75
- version: 3.0.0
89
+ version: '3.0'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - ~>
81
95
  - !ruby/object:Gem::Version
82
- version: 3.0.0
96
+ version: '3.0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: bundler
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - '>='
101
+ - - ~>
88
102
  - !ruby/object:Gem::Version
89
- version: 1.0.0
103
+ version: '1.0'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - '>='
108
+ - - ~>
95
109
  - !ruby/object:Gem::Version
96
- version: 1.0.0
110
+ version: '1.0'
97
111
  description: A Vagrant 1.6+ plugin that adds new command to extends WinRM communication
98
112
  features.
99
113
  email:
@@ -102,6 +116,7 @@ executables: []
102
116
  extensions: []
103
117
  extra_rdoc_files: []
104
118
  files:
119
+ - .bundle/config
105
120
  - .gitignore
106
121
  - .travis.yml
107
122
  - Gemfile
@@ -122,7 +137,7 @@ files:
122
137
  - spec/vagrant-winrm/commands/winrm_upload_spec.rb
123
138
  - templates/winrm_config/config.erb
124
139
  - vagrant-winrm.gemspec
125
- homepage: https://gitlab.criteois.lan/ruby-gems/vagrant-winrm/
140
+ homepage: https://github.com/criteo/vagrant-winrm/
126
141
  licenses:
127
142
  - Apache 2.0
128
143
  metadata: {}
@@ -132,17 +147,17 @@ require_paths:
132
147
  - lib
133
148
  required_ruby_version: !ruby/object:Gem::Requirement
134
149
  requirements:
135
- - - '>='
150
+ - - ! '>='
136
151
  - !ruby/object:Gem::Version
137
152
  version: '0'
138
153
  required_rubygems_version: !ruby/object:Gem::Requirement
139
154
  requirements:
140
- - - '>='
155
+ - - ! '>='
141
156
  - !ruby/object:Gem::Version
142
157
  version: 2.0.0
143
158
  requirements: []
144
159
  rubyforge_project:
145
- rubygems_version: 2.0.14
160
+ rubygems_version: 2.4.5
146
161
  signing_key:
147
162
  specification_version: 4
148
163
  summary: A Vagrant 1.6+ plugin extending WinRM communication features.