vagrant-unbundled 1.9.7.1 → 1.9.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +36 -0
- data/Gemfile.lock +10 -6
- data/contrib/bash/completion.sh +1 -1
- data/contrib/sudoers/linux-ubuntu +3 -4
- data/lib/vagrant/errors.rb +8 -0
- data/lib/vagrant/machine.rb +2 -0
- data/lib/vagrant/util/platform.rb +1 -1
- data/lib/vagrant/util/powershell.rb +42 -13
- data/lib/vagrant/util/safe_exec.rb +13 -2
- data/lib/vagrant/util/ssh.rb +11 -1
- data/plugins/commands/box/command/update.rb +12 -7
- data/plugins/commands/login/client.rb +15 -6
- data/plugins/commands/login/command.rb +13 -3
- data/plugins/commands/up/command.rb +9 -0
- data/plugins/commands/validate/command.rb +4 -4
- data/plugins/guests/darwin/cap/shell_expand_guest_path.rb +2 -2
- data/plugins/guests/freebsd/cap/configure_networks.rb +1 -1
- data/plugins/guests/freebsd/cap/shell_expand_guest_path.rb +2 -2
- data/plugins/guests/linux/cap/shell_expand_guest_path.rb +2 -2
- data/plugins/guests/netbsd/cap/shell_expand_guest_path.rb +2 -2
- data/plugins/guests/openbsd/cap/shell_expand_guest_path.rb +2 -2
- data/plugins/guests/windows/cap/public_key.rb +21 -45
- data/plugins/kernel_v2/config/ssh_connect.rb +3 -0
- data/plugins/providers/docker/config.rb +4 -0
- data/plugins/providers/docker/driver/compose.rb +11 -4
- data/plugins/providers/hyperv/action/wait_for_ip_address.rb +15 -11
- data/plugins/providers/hyperv/scripts/get_network_config.ps1 +24 -9
- data/plugins/providers/virtualbox/action/prepare_nfs_settings.rb +18 -0
- data/plugins/provisioners/ansible/provisioner/host.rb +1 -1
- data/plugins/provisioners/chef/cap/debian/chef_install.rb +2 -2
- data/plugins/provisioners/chef/cap/freebsd/chef_install.rb +2 -2
- data/plugins/provisioners/chef/cap/omnios/chef_install.rb +2 -2
- data/plugins/provisioners/chef/cap/redhat/chef_install.rb +2 -2
- data/plugins/provisioners/chef/cap/suse/chef_install.rb +2 -2
- data/plugins/provisioners/chef/cap/windows/chef_install.rb +2 -2
- data/plugins/provisioners/chef/config/base.rb +17 -0
- data/plugins/provisioners/chef/config/chef_zero.rb +7 -0
- data/plugins/provisioners/chef/installer.rb +8 -7
- data/plugins/provisioners/chef/omnibus.rb +4 -6
- data/plugins/provisioners/chef/provisioner/base.rb +1 -0
- data/plugins/provisioners/chef/provisioner/chef_solo.rb +2 -1
- data/plugins/provisioners/file/provisioner.rb +18 -2
- data/plugins/provisioners/puppet/provisioner/puppet.rb +0 -2
- data/plugins/provisioners/salt/bootstrap-salt.sh +9 -5
- data/plugins/provisioners/shell/provisioner.rb +1 -1
- data/plugins/synced_folders/rsync/command/rsync_auto.rb +6 -1
- data/plugins/synced_folders/rsync/helper.rb +10 -0
- data/templates/locales/en.yml +27 -1
- data/templates/locales/providers_docker.yml +2 -0
- data/test/unit/base.rb +1 -3
- data/test/unit/plugins/commands/box/command/add_test.rb +3 -3
- data/test/unit/plugins/commands/box/command/remove_test.rb +6 -6
- data/test/unit/plugins/commands/box/command/repackage_test.rb +2 -4
- data/test/unit/plugins/commands/box/command/update_test.rb +36 -14
- data/test/unit/plugins/commands/init/command_test.rb +1 -1
- data/test/unit/plugins/commands/list-commands/command_test.rb +2 -2
- data/test/unit/plugins/commands/login/client_test.rb +5 -1
- data/test/unit/plugins/commands/package/command_test.rb +1 -1
- data/test/unit/plugins/commands/plugin/action/expunge_plugins_test.rb +1 -1
- data/test/unit/plugins/commands/plugin/action/install_gem_test.rb +3 -3
- data/test/unit/plugins/commands/plugin/action/plugin_exists_check_test.rb +3 -3
- data/test/unit/plugins/commands/plugin/action/uninstall_plugin_test.rb +1 -1
- data/test/unit/plugins/commands/plugin/action/update_gems_test.rb +2 -2
- data/test/unit/plugins/commands/port/command_test.rb +3 -3
- data/test/unit/plugins/commands/push/command_test.rb +1 -1
- data/test/unit/plugins/commands/snapshot/command/list_test.rb +2 -3
- data/test/unit/plugins/commands/ssh_config/command_test.rb +1 -1
- data/test/unit/plugins/commands/up/command_test.rb +69 -2
- data/test/unit/plugins/commands/validate/command_test.rb +47 -1
- data/test/unit/plugins/communicators/ssh/communicator_test.rb +5 -5
- data/test/unit/plugins/communicators/winrm/communicator_test.rb +6 -6
- data/test/unit/plugins/communicators/winrm/helper_test.rb +24 -23
- data/test/unit/plugins/communicators/winssh/communicator_test.rb +5 -5
- data/test/unit/plugins/guests/darwin/cap/shell_expand_guest_path_test.rb +43 -0
- data/test/unit/plugins/guests/freebsd/cap/configure_networks_test.rb +1 -1
- data/test/unit/plugins/guests/freebsd/cap/shell_expand_guest_path_test.rb +44 -0
- data/test/unit/plugins/guests/linux/cap/shell_expand_guest_path_test.rb +43 -0
- data/test/unit/plugins/guests/netbsd/cap/shell_expand_guest_path_test.rb +43 -0
- data/test/unit/plugins/guests/omnios/cap/mount_nfs_folder_test.rb +1 -3
- data/test/unit/plugins/guests/openbsd/cap/shell_expand_guest_path_test.rb +43 -0
- data/test/unit/plugins/guests/smartos/cap/change_host_name_test.rb +2 -2
- data/test/unit/plugins/guests/smartos/cap/configure_networks_test.rb +2 -2
- data/test/unit/plugins/guests/smartos/cap/halt_test.rb +2 -2
- data/test/unit/plugins/guests/smartos/cap/insert_public_key_test.rb +1 -1
- data/test/unit/plugins/guests/smartos/cap/mount_nfs_test.rb +2 -2
- data/test/unit/plugins/guests/smartos/cap/rsync_test.rb +2 -2
- data/test/unit/plugins/guests/windows/cap/insert_public_key_test.rb +2 -2
- data/test/unit/plugins/guests/windows/cap/remove_public_key_test.rb +4 -3
- data/test/unit/plugins/guests/windows/config_test.rb +1 -1
- data/test/unit/plugins/guests/windows/guest_network_test.rb +2 -2
- data/test/unit/plugins/hosts/linux/cap/nfs_test.rb +2 -0
- data/test/unit/plugins/kernel_v2/config/push_test.rb +1 -1
- data/test/unit/plugins/kernel_v2/config/vm_test.rb +7 -7
- data/test/unit/plugins/providers/docker/action/create_test.rb +1 -1
- data/test/unit/plugins/providers/docker/command/exec_test.rb +1 -1
- data/test/unit/plugins/providers/docker/config_test.rb +23 -4
- data/test/unit/plugins/providers/docker/driver_compose_test.rb +60 -30
- data/test/unit/plugins/providers/docker/driver_test.rb +31 -31
- data/test/unit/plugins/providers/docker/synced_folder_test.rb +3 -3
- data/test/unit/plugins/providers/hyperv/provider_test.rb +19 -19
- data/test/unit/plugins/providers/virtualbox/action/network_fix_ipv6_test.rb +2 -2
- data/test/unit/plugins/providers/virtualbox/action/network_test.rb +1 -1
- data/test/unit/plugins/providers/virtualbox/action/prepare_nfs_settings_test.rb +34 -8
- data/test/unit/plugins/providers/virtualbox/action/prepare_nfs_valid_ids_test.rb +3 -3
- data/test/unit/plugins/providers/virtualbox/cap_test.rb +2 -2
- data/test/unit/plugins/providers/virtualbox/config_test.rb +6 -6
- data/test/unit/plugins/providers/virtualbox/synced_folder_test.rb +6 -8
- data/test/unit/plugins/provisioners/ansible/config/guest_test.rb +1 -1
- data/test/unit/plugins/provisioners/ansible/config/host_test.rb +4 -4
- data/test/unit/plugins/provisioners/ansible/config/shared.rb +2 -2
- data/test/unit/plugins/provisioners/ansible/provisioner_test.rb +165 -157
- data/test/unit/plugins/provisioners/chef/command_builder_test.rb +2 -2
- data/test/unit/plugins/provisioners/chef/config/base_test.rb +13 -0
- data/test/unit/plugins/provisioners/chef/config/chef_zero_test.rb +11 -0
- data/test/unit/plugins/provisioners/chef/omnibus_test.rb +17 -7
- data/test/unit/plugins/provisioners/docker/config_test.rb +2 -1
- data/test/unit/plugins/provisioners/docker/provisioner_test.rb +13 -13
- data/test/unit/plugins/provisioners/file/provisioner_test.rb +32 -14
- data/test/unit/plugins/provisioners/puppet/provisioner/puppet_test.rb +51 -0
- data/test/unit/plugins/provisioners/salt/provisioner_test.rb +5 -5
- data/test/unit/plugins/provisioners/shell/provisioner_test.rb +35 -4
- data/test/unit/plugins/pushes/ftp/adapter_test.rb +1 -0
- data/test/unit/plugins/synced_folders/nfs/action_cleanup_test.rb +1 -1
- data/test/unit/plugins/synced_folders/nfs/config_test.rb +1 -1
- data/test/unit/plugins/synced_folders/rsync/command/rsync_auto_test.rb +44 -12
- data/test/unit/plugins/synced_folders/rsync/command/rsync_test.rb +5 -5
- data/test/unit/plugins/synced_folders/rsync/helper_test.rb +47 -29
- data/test/unit/plugins/synced_folders/rsync/synced_folder_test.rb +5 -5
- data/test/unit/vagrant/action/builtin/box_add_test.rb +27 -27
- data/test/unit/vagrant/action/builtin/box_check_outdated_test.rb +10 -10
- data/test/unit/vagrant/action/builtin/box_remove_test.rb +15 -15
- data/test/unit/vagrant/action/builtin/confirm_test.rb +1 -1
- data/test/unit/vagrant/action/builtin/graceful_halt_test.rb +2 -2
- data/test/unit/vagrant/action/builtin/handle_box_test.rb +8 -8
- data/test/unit/vagrant/action/builtin/handle_forwarded_port_collisions_test.rb +1 -1
- data/test/unit/vagrant/action/builtin/is_env_set_test.rb +2 -2
- data/test/unit/vagrant/action/builtin/is_state_test.rb +6 -6
- data/test/unit/vagrant/action/builtin/mixin_synced_folders_test.rb +6 -6
- data/test/unit/vagrant/action/builtin/provision_test.rb +1 -1
- data/test/unit/vagrant/action/builtin/provisioner_cleanup_test.rb +1 -1
- data/test/unit/vagrant/action/builtin/synced_folder_cleanup_test.rb +6 -6
- data/test/unit/vagrant/action/builtin/synced_folders_test.rb +3 -3
- data/test/unit/vagrant/batch_action_test.rb +2 -2
- data/test/unit/vagrant/box_collection_test.rb +1 -1
- data/test/unit/vagrant/box_test.rb +6 -6
- data/test/unit/vagrant/capability_host_test.rb +3 -3
- data/test/unit/vagrant/cli_test.rb +3 -3
- data/test/unit/vagrant/environment_test.rb +21 -20
- data/test/unit/vagrant/guest_test.rb +7 -7
- data/test/unit/vagrant/machine_index_test.rb +4 -4
- data/test/unit/vagrant/machine_test.rb +28 -17
- data/test/unit/vagrant/plugin/manager_test.rb +12 -12
- data/test/unit/vagrant/plugin/state_file_test.rb +2 -2
- data/test/unit/vagrant/plugin/v1/command_test.rb +9 -8
- data/test/unit/vagrant/plugin/v2/command_test.rb +54 -43
- data/test/unit/vagrant/plugin/v2/plugin_test.rb +4 -3
- data/test/unit/vagrant/plugin/v2/provider_test.rb +3 -3
- data/test/unit/vagrant/shared_helpers_test.rb +6 -6
- data/test/unit/vagrant/ui_test.rb +21 -21
- data/test/unit/vagrant/util/downloader_test.rb +7 -7
- data/test/unit/vagrant/util/ssh_test.rb +41 -5
- data/test/unit/vagrant/util/subprocess_test.rb +7 -7
- data/test/unit/vagrant_test.rb +9 -9
- data/vagrant.gemspec +3 -2
- data/vendor/bundle/ruby/2.4.0/bundler/gems/vagrant-spec-af86757912f7/vagrant-spec.gemspec +1 -1
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/.gitignore +7 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/.rspec +2 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/.travis.yml +5 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/CONTRIBUTORS.md +19 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/Gemfile +12 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/Gemfile.lock +44 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/Guardfile +10 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/README.md +134 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/Rakefile +10 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/fake_ftp.gemspec +22 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/lib/fake_ftp.rb +5 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/lib/fake_ftp/file.rb +34 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/lib/fake_ftp/server.rb +340 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/lib/fake_ftp/version.rb +3 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/fixtures/invisible_bike.jpg +0 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/fixtures/text_file.txt +1 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/functional/server_spec.rb +468 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/integration/server_spec.rb +81 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/models/fake_ftp/file_spec.rb +102 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/models/fake_ftp/server_spec.rb +76 -0
- data/vendor/bundle/ruby/2.4.0/gems/fake_ftp-0.1.1/spec/spec_helper.rb +18 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/.gitignore +14 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/.rubocop.yml +57 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/.travis.yml +21 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/CONTRIBUTING.rdoc +36 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/Gemfile +3 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/History.rdoc +2247 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/README.rdoc +156 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/Rakefile +38 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/appveyor.yml +21 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/bin/console +7 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/bin/setup +6 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/glossary.rdoc +42 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/jamis.rb +591 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/rake.1 +156 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/rakefile.rdoc +622 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/exe/rake +27 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake.rb +70 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/application.rb +785 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/backtrace.rb +23 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/clean.rb +77 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/cloneable.rb +16 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/cpu_counter.rb +106 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/default_loader.rb +14 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/dsl_definition.rb +194 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/early_time.rb +21 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/ext/core.rb +25 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/ext/string.rb +175 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_creation_task.rb +24 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_list.rb +434 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_task.rb +46 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_utils.rb +136 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/file_utils_ext.rb +144 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/invocation_chain.rb +56 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/invocation_exception_mixin.rb +16 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/late_time.rb +17 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/linked_list.rb +111 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/loaders/makefile.rb +53 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/multi_task.rb +49 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/name_space.rb +37 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/packagetask.rb +210 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/phony.rb +15 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/private_reader.rb +20 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/promise.rb +99 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/pseudo_status.rb +29 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/rake_module.rb +38 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/rake_test_loader.rb +21 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/rule_recursion_overflow_error.rb +19 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/scope.rb +42 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/task.rb +390 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/task_argument_error.rb +7 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/task_arguments.rb +108 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/task_manager.rb +303 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/tasklib.rb +11 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/testtask.rb +222 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/thread_history_display.rb +48 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/thread_pool.rb +162 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/trace_output.rb +22 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/version.rb +9 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/lib/rake/win32.rb +50 -0
- data/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/rake.gemspec +39 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/.gitignore +19 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/.rspec +3 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/.travis.yml +24 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/Changelog.md +49 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/Gemfile +26 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/LICENSE.txt +27 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/README.md +72 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/Rakefile +16 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/cucumber.yml +2 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/features/its.feature +125 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/features/step_definitions/additional_cli_steps.rb +21 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/features/support/env.rb +23 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/lib/rspec/its.rb +149 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/lib/rspec/its/version.rb +5 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/rspec-its.gemspec +28 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/script/test_all +20 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/spec/rspec/its_spec.rb +237 -0
- data/vendor/bundle/ruby/2.4.0/gems/rspec-its-1.2.0/spec/spec_helper.rb +15 -0
- data/vendor/bundle/ruby/2.4.0/specifications/fake_ftp-0.1.1.gemspec +20 -0
- data/vendor/bundle/ruby/2.4.0/specifications/rake-12.0.0.gemspec +43 -0
- data/vendor/bundle/ruby/2.4.0/specifications/rspec-its-1.2.0.gemspec +47 -0
- data/version.txt +1 -1
- metadata +137 -7
- data/2.14.0 +0 -5
@@ -5,7 +5,7 @@ module VagrantPlugins
|
|
5
5
|
module Cap
|
6
6
|
module Redhat
|
7
7
|
module ChefInstall
|
8
|
-
def self.chef_install(machine, project, version, channel, options = {})
|
8
|
+
def self.chef_install(machine, project, version, channel, omnibus_url, options = {})
|
9
9
|
machine.communicate.sudo <<-EOH.gsub(/^ {14}/, '')
|
10
10
|
if command -v dnf; then
|
11
11
|
dnf -y install curl
|
@@ -14,7 +14,7 @@ module VagrantPlugins
|
|
14
14
|
fi
|
15
15
|
EOH
|
16
16
|
|
17
|
-
command = Omnibus.sh_command(project, version, channel, options)
|
17
|
+
command = Omnibus.sh_command(project, version, channel, omnibus_url, options)
|
18
18
|
machine.communicate.sudo(command)
|
19
19
|
end
|
20
20
|
end
|
@@ -5,13 +5,13 @@ module VagrantPlugins
|
|
5
5
|
module Cap
|
6
6
|
module Suse
|
7
7
|
module ChefInstall
|
8
|
-
def self.chef_install(machine, project, version, channel, options = {})
|
8
|
+
def self.chef_install(machine, project, version, channel, omnibus_url, options = {})
|
9
9
|
unless curl?(machine)
|
10
10
|
machine.communicate.sudo("zypper -n -q update")
|
11
11
|
machine.communicate.sudo("zypper -n -q install curl")
|
12
12
|
end
|
13
13
|
|
14
|
-
command = Omnibus.sh_command(project, version, channel, options)
|
14
|
+
command = Omnibus.sh_command(project, version, channel, omnibus_url, options)
|
15
15
|
machine.communicate.sudo(command)
|
16
16
|
end
|
17
17
|
|
@@ -5,8 +5,8 @@ module VagrantPlugins
|
|
5
5
|
module Cap
|
6
6
|
module Windows
|
7
7
|
module ChefInstall
|
8
|
-
def self.chef_install(machine, project, version, channel, options = {})
|
9
|
-
command = Omnibus.ps_command(project, version, channel, options)
|
8
|
+
def self.chef_install(machine, project, version, channel, omnibus_url, options = {})
|
9
|
+
command = Omnibus.ps_command(project, version, channel, omnibus_url, options)
|
10
10
|
machine.communicate.sudo(command)
|
11
11
|
end
|
12
12
|
end
|
@@ -56,6 +56,21 @@ module VagrantPlugins
|
|
56
56
|
# @return [String]
|
57
57
|
attr_accessor :version
|
58
58
|
|
59
|
+
# Location of Omnibus installation scripts.
|
60
|
+
# This URL specifies the location of install.sh/install.ps1 for
|
61
|
+
# Linux/Unix and Windows respectively.
|
62
|
+
#
|
63
|
+
# It defaults to https://omnitruck.chef.io/. The full URL is then:
|
64
|
+
# - Linux/Unix: https://omnitruck.chef.io/install.sh
|
65
|
+
# - Windows: https://omnitruck.chef.io/install.ps1
|
66
|
+
#
|
67
|
+
# If you want to have https://example.com/install.sh as Omnibus script
|
68
|
+
# for your Linux/Unix installations, you should set this option to
|
69
|
+
# https://example.com
|
70
|
+
#
|
71
|
+
# @return [String]
|
72
|
+
attr_accessor :omnibus_url
|
73
|
+
|
59
74
|
# The path where the Chef installer will be downloaded to. Only valid if
|
60
75
|
# install is true or "force". It defaults to nil, which means that the
|
61
76
|
# omnibus installer will choose the destination and you have no control
|
@@ -74,6 +89,7 @@ module VagrantPlugins
|
|
74
89
|
@log_level = UNSET_VALUE
|
75
90
|
@channel = UNSET_VALUE
|
76
91
|
@version = UNSET_VALUE
|
92
|
+
@omnibus_url = UNSET_VALUE
|
77
93
|
@installer_download_path = UNSET_VALUE
|
78
94
|
end
|
79
95
|
|
@@ -85,6 +101,7 @@ module VagrantPlugins
|
|
85
101
|
@log_level = :info if @log_level == UNSET_VALUE
|
86
102
|
@channel = "stable" if @channel == UNSET_VALUE
|
87
103
|
@version = :latest if @version == UNSET_VALUE
|
104
|
+
@omnibus_url = 'https://omnitruck.chef.io' if @omnibus_url == UNSET_VALUE
|
88
105
|
@installer_download_path = nil if @installer_download_path == UNSET_VALUE
|
89
106
|
|
90
107
|
# Make sure the install is a symbol if it's not a boolean
|
@@ -79,6 +79,13 @@ module VagrantPlugins
|
|
79
79
|
|
80
80
|
if !present?(Array(nodes_path))
|
81
81
|
errors << I18n.t("vagrant.config.chef.nodes_path_empty")
|
82
|
+
else
|
83
|
+
missing_paths = Array.new
|
84
|
+
nodes_path.each { |dir| missing_paths << dir[1] if !File.exists? dir[1] }
|
85
|
+
# If it exists at least one path on disk it's ok for Chef provisioning
|
86
|
+
if missing_paths.size == nodes_path.size
|
87
|
+
errors << I18n.t("vagrant.config.chef.nodes_path_missing", path: missing_paths.to_s)
|
88
|
+
end
|
82
89
|
end
|
83
90
|
|
84
91
|
if environment && environments_path.empty?
|
@@ -2,12 +2,13 @@ module VagrantPlugins
|
|
2
2
|
module Chef
|
3
3
|
class Installer
|
4
4
|
def initialize(machine, options = {})
|
5
|
-
@machine
|
6
|
-
@product
|
7
|
-
@channel
|
8
|
-
@version
|
9
|
-
@force
|
10
|
-
@
|
5
|
+
@machine = machine
|
6
|
+
@product = options.fetch(:product)
|
7
|
+
@channel = options.fetch(:channel)
|
8
|
+
@version = options.fetch(:version)
|
9
|
+
@force = options.fetch(:force)
|
10
|
+
@omnibus_url = options.fetch(:omnibus_url)
|
11
|
+
@options = options.dup
|
11
12
|
end
|
12
13
|
|
13
14
|
# This handles verifying the Chef installation, installing it if it was
|
@@ -29,7 +30,7 @@ module VagrantPlugins
|
|
29
30
|
|
30
31
|
@machine.ui.detail(I18n.t("vagrant.chef_installing",
|
31
32
|
version: @version.to_s))
|
32
|
-
@machine.guest.capability(:chef_install, @product, @version, @channel, @options)
|
33
|
+
@machine.guest.capability(:chef_install, @product, @version, @channel, @omnibus_url, @options)
|
33
34
|
|
34
35
|
if !@machine.guest.capability(:chef_installed, @product, @version)
|
35
36
|
raise Provisioner::Base::ChefError, :install_failed
|
@@ -5,10 +5,8 @@ module VagrantPlugins
|
|
5
5
|
# https://docs.chef.io/install_omnibus.html
|
6
6
|
#
|
7
7
|
module Omnibus
|
8
|
-
|
9
|
-
|
10
|
-
def sh_command(project, version, channel, options = {})
|
11
|
-
command = "curl -sL #{OMNITRUCK}/install.sh | bash"
|
8
|
+
def sh_command(project, version, channel, omnibus_url, options = {})
|
9
|
+
command = "curl -sL #{omnibus_url}/install.sh | bash"
|
12
10
|
command << " -s -- -P \"#{project}\" -c \"#{channel}\""
|
13
11
|
|
14
12
|
if version != :latest
|
@@ -23,8 +21,8 @@ module VagrantPlugins
|
|
23
21
|
end
|
24
22
|
module_function :sh_command
|
25
23
|
|
26
|
-
def ps_command(project, version, channel, options = {})
|
27
|
-
command = ". { iwr -useb #{
|
24
|
+
def ps_command(project, version, channel, omnibus_url, options = {})
|
25
|
+
command = ". { iwr -useb #{omnibus_url}/install.ps1 } | iex; install"
|
28
26
|
command << " -project '#{project}' -channel '#{channel}'"
|
29
27
|
|
30
28
|
if version != :latest
|
@@ -87,7 +87,8 @@ module VagrantPlugins
|
|
87
87
|
key = Digest::MD5.hexdigest(local_path)
|
88
88
|
remote_path = "#{guest_provisioning_path}/#{key}"
|
89
89
|
else
|
90
|
-
|
90
|
+
appended_folder = "cookbooks" if appended_folder.nil?
|
91
|
+
@machine.ui.warn(I18n.t("vagrant.provisioners.chef.#{appended_folder}_folder_not_found_warning",
|
91
92
|
path: local_path.to_s))
|
92
93
|
next
|
93
94
|
end
|
@@ -3,14 +3,30 @@ module VagrantPlugins
|
|
3
3
|
class Provisioner < Vagrant.plugin("2", :provisioner)
|
4
4
|
def provision
|
5
5
|
@machine.communicate.tap do |comm|
|
6
|
+
source = File.expand_path(config.source)
|
6
7
|
destination = expand_guest_path(config.destination)
|
7
8
|
|
9
|
+
# if source is a directory, make it then trim destination with dirname
|
8
10
|
# Make sure the remote path exists
|
9
|
-
|
11
|
+
if File.directory?(source)
|
12
|
+
# We need to make sure the actual destination folder
|
13
|
+
# also exists before uploading, otherwise
|
14
|
+
# you will get nested folders. We also need to append
|
15
|
+
# a './' to the source folder so we copy the contents
|
16
|
+
# rather than the folder itself, in case a users destination
|
17
|
+
# folder differs from its source.
|
18
|
+
#
|
19
|
+
# https://serverfault.com/questions/538368/make-scp-always-overwrite-or-create-directory
|
20
|
+
# https://unix.stackexchange.com/questions/292641/get-scp-path-behave-like-rsync-path/292732
|
21
|
+
command = "mkdir -p \"%s\"" % destination
|
22
|
+
source << "/."
|
23
|
+
else
|
24
|
+
command = "mkdir -p \"%s\"" % File.dirname(destination)
|
25
|
+
end
|
10
26
|
comm.execute(command)
|
11
27
|
|
12
28
|
# now upload the file
|
13
|
-
comm.upload(
|
29
|
+
comm.upload(source, destination)
|
14
30
|
end
|
15
31
|
end
|
16
32
|
|
@@ -199,8 +199,6 @@ module VagrantPlugins
|
|
199
199
|
if config.environment_path
|
200
200
|
options << "--environmentpath #{environments_guest_path}/"
|
201
201
|
options << "--environment #{@config.environment}"
|
202
|
-
else
|
203
|
-
options << "--manifestdir #{manifests_guest_path}"
|
204
202
|
end
|
205
203
|
|
206
204
|
options << @manifest_file
|
@@ -2,11 +2,15 @@
|
|
2
2
|
|
3
3
|
# We just download the bootstrap script by default and execute that.
|
4
4
|
if [ -x /usr/bin/fetch ]; then
|
5
|
-
/usr/bin/fetch -o - https://raw.githubusercontent.com/saltstack/salt-bootstrap/stable/bootstrap-salt.sh
|
5
|
+
/usr/bin/fetch -o bootstrap-salt.sh https://raw.githubusercontent.com/saltstack/salt-bootstrap/stable/bootstrap-salt.sh
|
6
6
|
elif [ -x /usr/bin/curl ]; then
|
7
|
-
/usr/bin/curl -L https://raw.githubusercontent.com/saltstack/salt-bootstrap/stable/bootstrap-salt.sh
|
7
|
+
/usr/bin/curl -L -O https://raw.githubusercontent.com/saltstack/salt-bootstrap/stable/bootstrap-salt.sh
|
8
8
|
else
|
9
|
-
python
|
10
|
-
|
11
|
-
|
9
|
+
python -c 'import urllib; urllib.urlretrieve("https://raw.githubusercontent.com/saltstack/salt-bootstrap/stable/bootstrap-salt.sh", "bootstrap-salt.sh")'
|
10
|
+
fi
|
11
|
+
|
12
|
+
if [ -e bootstrap-salt.sh ]; then
|
13
|
+
sh bootstrap-salt.sh "$@"
|
14
|
+
else
|
15
|
+
exit 1
|
12
16
|
fi
|
@@ -265,7 +265,7 @@ module VagrantPlugins
|
|
265
265
|
# or we're running on Windows.
|
266
266
|
if !config.binary && @machine.config.vm.communicator != :winrm
|
267
267
|
begin
|
268
|
-
script.gsub
|
268
|
+
script = script.gsub(/\r\n?$/, "\n")
|
269
269
|
rescue ArgumentError
|
270
270
|
script = script.force_encoding("ASCII-8BIT").gsub(/\r\n?$/, "\n")
|
271
271
|
end
|
@@ -78,8 +78,13 @@ module VagrantPlugins
|
|
78
78
|
# syncing all known containers with rsync to the boot2docker vm
|
79
79
|
# and only syncs the current working dirs folders.
|
80
80
|
sync_folders = {}
|
81
|
+
# Still sync existing synced folders from vagrantfile
|
82
|
+
config_synced_folders = machine.config.vm.synced_folders.values.map { |x| x[:hostpath] }
|
83
|
+
config_synced_folders.map! { |x| File.expand_path(x, machine.env.root_path) }
|
81
84
|
folders.each do |id, folder_opts|
|
82
|
-
if cwd != folder_opts[:hostpath]
|
85
|
+
if cwd != folder_opts[:hostpath] &&
|
86
|
+
!config_synced_folders.include?(folder_opts[:hostpath])
|
87
|
+
|
83
88
|
machine.ui.info(I18n.t("vagrant.rsync_auto_remove_folder",
|
84
89
|
folder: folder_opts[:hostpath]))
|
85
90
|
else
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require "ipaddr"
|
1
2
|
require "shellwords"
|
2
3
|
|
3
4
|
require "vagrant/util/platform"
|
@@ -147,6 +148,15 @@ module VagrantPlugins
|
|
147
148
|
args << "--rsync-path"<< rsync_path
|
148
149
|
end
|
149
150
|
|
151
|
+
# If the remote host is an IPv6 address reformat
|
152
|
+
begin
|
153
|
+
if IPAddr.new(host).ipv6?
|
154
|
+
host = "[#{host}]"
|
155
|
+
end
|
156
|
+
rescue IPAddr::Error
|
157
|
+
# Ignore
|
158
|
+
end
|
159
|
+
|
150
160
|
# Build up the actual command to execute
|
151
161
|
command = [
|
152
162
|
"rsync",
|
data/templates/locales/en.yml
CHANGED
@@ -1014,6 +1014,11 @@ en:
|
|
1014
1014
|
|
1015
1015
|
vagrant plugin expunge --reinstall
|
1016
1016
|
|
1017
|
+
Or you may want to try updating the installed plugins to their latest
|
1018
|
+
versions:
|
1019
|
+
|
1020
|
+
vagrant plugin update
|
1021
|
+
|
1017
1022
|
Error message given during initialization: %{message}
|
1018
1023
|
plugin_load_error: |-
|
1019
1024
|
The plugins failed to load properly. The error message given is
|
@@ -1046,6 +1051,17 @@ en:
|
|
1046
1051
|
%{error_msg}
|
1047
1052
|
|
1048
1053
|
Source: %{source}
|
1054
|
+
powershell_not_found: |-
|
1055
|
+
Failed to locate the powershell executable on the available PATH. Please
|
1056
|
+
ensure powershell is installed and available on the local PATH, then
|
1057
|
+
run the command again.
|
1058
|
+
powershell_invalid_version: |-
|
1059
|
+
The version of powershell currently installed on this host is less than
|
1060
|
+
the required minimum version. Please upgrade the installed version of
|
1061
|
+
powershell to the minimum required version and run the command again.
|
1062
|
+
|
1063
|
+
Installed version: %{installed_version}
|
1064
|
+
Minimum required version: %{minimum_version}
|
1049
1065
|
pushes_not_defined: |-
|
1050
1066
|
The Vagrantfile does not define any 'push' strategies. In order to use
|
1051
1067
|
`vagrant push`, you must define at least one push strategy:
|
@@ -1579,6 +1595,8 @@ en:
|
|
1579
1595
|
Missing required value for `chef.nodes_path'.
|
1580
1596
|
environment_path_missing: |-
|
1581
1597
|
Environment path not found: %{path}
|
1598
|
+
nodes_path_missing: |-
|
1599
|
+
Path specified for `nodes_path` does not exist: %{path}
|
1582
1600
|
environment_path_required: |-
|
1583
1601
|
When 'environment' is specified, you must provide 'environments_path'.
|
1584
1602
|
cookbooks_path_missing: |-
|
@@ -2158,8 +2176,16 @@ en:
|
|
2158
2176
|
The chef binary (either `chef-solo` or `chef-client`) was not found on
|
2159
2177
|
the VM and is required for chef provisioning. Please verify that chef
|
2160
2178
|
is installed and that the binary is available on the PATH.
|
2161
|
-
|
2179
|
+
cookbooks_folder_not_found_warning:
|
2162
2180
|
"The cookbook path '%{path}' doesn't exist. Ignoring..."
|
2181
|
+
nodes_folder_not_found_warning:
|
2182
|
+
"The node path '%{path}' doesn't exist. Ignoring..."
|
2183
|
+
data_bags_folder_not_found_warning:
|
2184
|
+
"The databag path '%{path}' doesn't exist. Ignoring..."
|
2185
|
+
roles_folder_not_found_warning:
|
2186
|
+
"The role path '%{path}' doesn't exist. Ignoring..."
|
2187
|
+
environments_folder_not_found_warning:
|
2188
|
+
"The environment path '%{path}' doesn't exist. Ignoring..."
|
2163
2189
|
json: "Generating chef JSON and uploading..."
|
2164
2190
|
client_key_folder: "Creating folder to hold client key..."
|
2165
2191
|
generating_node_name: |-
|
@@ -145,6 +145,8 @@ en:
|
|
145
145
|
One of "build_dir" or "image" must be set
|
146
146
|
compose_configuration_hash: |-
|
147
147
|
"compose_configuration" must be a hash
|
148
|
+
compose_force_vm: |-
|
149
|
+
Docker compose is not currently supported from within proxy VM.
|
148
150
|
create_args_array: |-
|
149
151
|
"create_args" must be an array
|
150
152
|
invalid_link: |-
|
data/test/unit/base.rb
CHANGED
@@ -3,8 +3,8 @@ require "rubygems"
|
|
3
3
|
|
4
4
|
# Gems
|
5
5
|
require "checkpoint"
|
6
|
-
require "rspec/autorun"
|
7
6
|
require "webmock/rspec"
|
7
|
+
require "rspec/its"
|
8
8
|
|
9
9
|
# Require Vagrant itself so we can reference the proper
|
10
10
|
# classes to test.
|
@@ -33,8 +33,6 @@ VAGRANT_TEST_CWD = Dir.mktmpdir("vagrant-test-cwd")
|
|
33
33
|
|
34
34
|
# Configure RSpec
|
35
35
|
RSpec.configure do |c|
|
36
|
-
c.treat_symbols_as_metadata_keys_with_true_values = true
|
37
|
-
|
38
36
|
if Vagrant::Util::Platform.windows?
|
39
37
|
c.filter_run_excluding :skip_windows
|
40
38
|
else
|
@@ -18,7 +18,7 @@ describe VagrantPlugins::CommandBox::Command::Add do
|
|
18
18
|
let(:action_runner) { double("action_runner") }
|
19
19
|
|
20
20
|
before do
|
21
|
-
iso_env.
|
21
|
+
allow(iso_env).to receive(:action_runner).and_return(action_runner)
|
22
22
|
end
|
23
23
|
|
24
24
|
context "with no arguments" do
|
@@ -32,7 +32,7 @@ describe VagrantPlugins::CommandBox::Command::Add do
|
|
32
32
|
let(:argv) { ["foo"] }
|
33
33
|
|
34
34
|
it "executes the runner with the proper actions" do
|
35
|
-
expect(action_runner).to receive(:run).with { |action, **opts|
|
35
|
+
expect(action_runner).to receive(:run).with(any_args) { |action, **opts|
|
36
36
|
expect(opts[:box_name]).to be_nil
|
37
37
|
expect(opts[:box_url]).to eq("foo")
|
38
38
|
true
|
@@ -46,7 +46,7 @@ describe VagrantPlugins::CommandBox::Command::Add do
|
|
46
46
|
let(:argv) { ["foo", "bar"] }
|
47
47
|
|
48
48
|
it "executes the runner with the proper actions" do
|
49
|
-
expect(action_runner).to receive(:run).with { |action, **opts|
|
49
|
+
expect(action_runner).to receive(:run).with(any_args) { |action, **opts|
|
50
50
|
expect(opts[:box_name]).to eq("foo")
|
51
51
|
expect(opts[:box_url]).to eq("bar")
|
52
52
|
true
|
@@ -18,7 +18,7 @@ describe VagrantPlugins::CommandBox::Command::Remove do
|
|
18
18
|
let(:action_runner) { double("action_runner") }
|
19
19
|
|
20
20
|
before do
|
21
|
-
iso_env.
|
21
|
+
allow(iso_env).to receive(:action_runner).and_return(action_runner)
|
22
22
|
end
|
23
23
|
|
24
24
|
context "with no arguments" do
|
@@ -32,9 +32,9 @@ describe VagrantPlugins::CommandBox::Command::Remove do
|
|
32
32
|
let(:argv) { ["foo"] }
|
33
33
|
|
34
34
|
it "invokes the action runner" do
|
35
|
-
expect(action_runner).to receive(:run).with { |action, opts|
|
35
|
+
expect(action_runner).to receive(:run).with(any_args) { |action, opts|
|
36
36
|
expect(opts[:box_name]).to eq("foo")
|
37
|
-
expect(opts[:force_confirm_box_remove]).to
|
37
|
+
expect(opts[:force_confirm_box_remove]).to be(false)
|
38
38
|
true
|
39
39
|
}
|
40
40
|
|
@@ -45,9 +45,9 @@ describe VagrantPlugins::CommandBox::Command::Remove do
|
|
45
45
|
let(:argv) { super() + ["--force"] }
|
46
46
|
|
47
47
|
it "invokes the action runner with force option" do
|
48
|
-
expect(action_runner).to receive(:run).with { |action, opts|
|
48
|
+
expect(action_runner).to receive(:run).with(any_args) { |action, opts|
|
49
49
|
expect(opts[:box_name]).to eq("foo")
|
50
|
-
expect(opts[:force_confirm_box_remove]).to
|
50
|
+
expect(opts[:force_confirm_box_remove]).to be(true)
|
51
51
|
true
|
52
52
|
}
|
53
53
|
|
@@ -60,7 +60,7 @@ describe VagrantPlugins::CommandBox::Command::Remove do
|
|
60
60
|
let(:argv) { ["foo", "bar"] }
|
61
61
|
|
62
62
|
it "uses the 2nd arg as a provider" do
|
63
|
-
expect(action_runner).to receive(:run).with { |action, opts|
|
63
|
+
expect(action_runner).to receive(:run).with(any_args) { |action, opts|
|
64
64
|
expect(opts[:box_name]).to eq("foo")
|
65
65
|
expect(opts[:box_provider]).to eq("bar")
|
66
66
|
true
|
@@ -18,7 +18,7 @@ describe VagrantPlugins::CommandBox::Command::Repackage do
|
|
18
18
|
let(:action_runner) { double("action_runner") }
|
19
19
|
|
20
20
|
before do
|
21
|
-
iso_env.
|
21
|
+
allow(iso_env).to receive(:action_runner).and_return(action_runner)
|
22
22
|
end
|
23
23
|
|
24
24
|
context "with no arguments" do
|
@@ -47,9 +47,7 @@ describe VagrantPlugins::CommandBox::Command::Repackage do
|
|
47
47
|
end
|
48
48
|
|
49
49
|
context "with three arguments" do
|
50
|
-
it "repackages the box with the given provider"
|
51
|
-
pending
|
52
|
-
end
|
50
|
+
it "repackages the box with the given provider"
|
53
51
|
end
|
54
52
|
|
55
53
|
context "with more than three arguments" do
|