vagrant-winrm 0.0.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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.