Merge pull request #8889 from briancain/8864/master/improve-config-validate-cmd
Improve `vagrant validate` command
This commit is contained in:
commit
567f26a7be
|
@ -16,10 +16,10 @@ module VagrantPlugins
|
||||||
argv = parse_options(opts)
|
argv = parse_options(opts)
|
||||||
return if !argv
|
return if !argv
|
||||||
|
|
||||||
# Validate the configuration
|
# Validate the configuration of all machines
|
||||||
@env.machine(@env.machine_names.first, @env.default_provider).action_raw(
|
with_target_vms() do |machine|
|
||||||
:config_validate,
|
machine.action_raw(:config_validate, Vagrant::Action::Builtin::ConfigValidate)
|
||||||
Vagrant::Action::Builtin::ConfigValidate)
|
end
|
||||||
|
|
||||||
@env.ui.info(I18n.t("vagrant.commands.validate.success"))
|
@env.ui.info(I18n.t("vagrant.commands.validate.success"))
|
||||||
|
|
||||||
|
|
|
@ -48,5 +48,51 @@ describe VagrantPlugins::CommandValidate::Command do
|
||||||
expect(err.message).to include("The following settings shouldn't exist: bix")
|
expect(err.message).to include("The following settings shouldn't exist: bix")
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "validates correct Vagrantfile of all vms" do
|
||||||
|
iso_env.vagrantfile <<-EOH
|
||||||
|
Vagrant.configure("2") do |config|
|
||||||
|
config.vm.box = "hashicorp/precise64"
|
||||||
|
|
||||||
|
config.vm.define "test" do |vm|
|
||||||
|
vm.vm.provider :virtualbox
|
||||||
|
end
|
||||||
|
|
||||||
|
config.vm.define "machine" do |vm|
|
||||||
|
vm.vm.provider :virtualbox
|
||||||
|
end
|
||||||
|
end
|
||||||
|
EOH
|
||||||
|
|
||||||
|
expect(env.ui).to receive(:info).with(any_args) { |message, _|
|
||||||
|
expect(message).to include("Vagrantfile validated successfully.")
|
||||||
|
}
|
||||||
|
|
||||||
|
expect(subject.execute).to eq(0)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "validates the configuration of all vms" do
|
||||||
|
iso_env.vagrantfile <<-EOH
|
||||||
|
Vagrant.configure("2") do |config|
|
||||||
|
config.vm.box = "hashicorp/precise64"
|
||||||
|
|
||||||
|
config.vm.define "test" do |vm|
|
||||||
|
vm.vm.provider :virtualbox
|
||||||
|
end
|
||||||
|
|
||||||
|
config.vm.define "machine" do |vm|
|
||||||
|
vm.vm.not_provider :virtualbox
|
||||||
|
end
|
||||||
|
end
|
||||||
|
EOH
|
||||||
|
|
||||||
|
expect { subject.execute }.to raise_error(Vagrant::Errors::ConfigInvalid) { |err|
|
||||||
|
expect(err.message).to include("The following settings shouldn't exist: not_provider")
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
it "throws an exception if there's no Vagrantfile" do
|
||||||
|
expect { subject.execute }.to raise_error(Vagrant::Errors::NoEnvironmentError)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue