From de461fa47cae3c3a663468d34463347e7dbbeb33 Mon Sep 17 00:00:00 2001 From: Jeff Bonhag Date: Thu, 9 Jul 2020 15:33:19 -0400 Subject: [PATCH] Fix a couple of tests Use subject instead of invalid_subject because the validation assertions test the subject double. This also adds an additional check when validating the `size` attribute because it is only required for disks of type `:disk`. --- plugins/kernel_v2/config/disk.rb | 2 +- test/unit/plugins/kernel_v2/config/disk_test.rb | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/plugins/kernel_v2/config/disk.rb b/plugins/kernel_v2/config/disk.rb index 41cd65cdd..dcce4d5df 100644 --- a/plugins/kernel_v2/config/disk.rb +++ b/plugins/kernel_v2/config/disk.rb @@ -172,7 +172,7 @@ module VagrantPlugins end end - if !@size + if !@size && type == :disk errors << I18n.t("vagrant.config.disk.invalid_size", name: @name, machine: machine.name) end diff --git a/test/unit/plugins/kernel_v2/config/disk_test.rb b/test/unit/plugins/kernel_v2/config/disk_test.rb index e986bdae0..48bec3b78 100644 --- a/test/unit/plugins/kernel_v2/config/disk_test.rb +++ b/test/unit/plugins/kernel_v2/config/disk_test.rb @@ -32,8 +32,6 @@ describe VagrantPlugins::Kernel_V2::VagrantConfigDisk do before do env = double("env") - subject.name = "foo" - subject.size = 100 allow(provider).to receive(:capability?).with(:validate_disk_ext).and_return(true) allow(provider).to receive(:capability).with(:validate_disk_ext, "vdi").and_return(true) allow(provider).to receive(:capability?).with(:set_default_disk_ext).and_return(true) @@ -41,6 +39,11 @@ describe VagrantPlugins::Kernel_V2::VagrantConfigDisk do end describe "with defaults" do + before do + subject.name = "foo" + subject.size = 100 + end + it "is valid with test defaults" do subject.finalize! assert_valid @@ -58,18 +61,24 @@ describe VagrantPlugins::Kernel_V2::VagrantConfigDisk do end describe "with an invalid config" do - let(:invalid_subject) { described_class.new(type) } + before do + subject.name = "bar" + end it "raises an error if size not set" do - invalid_subject.name = "bar" subject.finalize! assert_invalid end context "with an invalid disk extension" do before do + subject.size = 100 + subject.disk_ext = "fake" + allow(provider).to receive(:capability?).with(:validate_disk_ext).and_return(true) allow(provider).to receive(:capability).with(:validate_disk_ext, "fake").and_return(false) + allow(provider).to receive(:capability?).with(:default_disk_exts).and_return(true) + allow(provider).to receive(:capability).with(:default_disk_exts).and_return(["vdi", "vmdk"]) end it "raises an error" do