Use path of state file, not state file itself

This commit is contained in:
Chris Roberts 2018-07-17 15:16:38 -07:00
parent 737ef0eded
commit 8baf7ced38
2 changed files with 12 additions and 10 deletions

View File

@ -47,13 +47,13 @@ module VagrantPlugins
# Do not include global paths if local only # Do not include global paths if local only
if !env[:env_local] if !env[:env_local]
files << Vagrant::Plugin::Manager.instance.user_file files << Vagrant::Plugin::Manager.instance.user_file.path
dirs << Vagrant::Bundler.instance.plugin_gem_path dirs << Vagrant::Bundler.instance.plugin_gem_path
end end
# Add local paths if they exist # Add local paths if they exist
if Vagrant::Plugin::Manager.instance.local_file if Vagrant::Plugin::Manager.instance.local_file
files << Vagrant::Plugin::Manager.instance.local_file files << Vagrant::Plugin::Manager.instance.local_file.path
dirs << Vagrant::Bundler.instance.env_plugin_gem_path dirs << Vagrant::Bundler.instance.env_plugin_gem_path
end end

View File

@ -14,7 +14,8 @@ describe VagrantPlugins::CommandPlugin::Action::ExpungePlugins do
env_local: env_local env_local: env_local
}} }}
let(:user_file) { double("user_file", exist?: true, delete: true) } let(:user_file) { double("user_file", path: user_file_pathname) }
let(:user_file_pathname) { double("user_file_pathname", exist?: true, delete: true) }
let(:local_file) { nil } let(:local_file) { nil }
let(:bundler) { double("bundler", plugin_gem_path: plugin_gem_path, let(:bundler) { double("bundler", plugin_gem_path: plugin_gem_path,
env_plugin_gem_path: env_plugin_gem_path) } env_plugin_gem_path: env_plugin_gem_path) }
@ -44,7 +45,7 @@ describe VagrantPlugins::CommandPlugin::Action::ExpungePlugins do
end end
it "should delete all plugins" do it "should delete all plugins" do
expect(user_file).to receive(:delete) expect(user_file_pathname).to receive(:delete)
expect(plugin_gem_path).to receive(:rmtree) expect(plugin_gem_path).to receive(:rmtree)
subject.call(env) subject.call(env)
end end
@ -75,19 +76,20 @@ describe VagrantPlugins::CommandPlugin::Action::ExpungePlugins do
let(:env_local) { true } let(:env_local) { true }
it "should not delete plugins" do it "should not delete plugins" do
expect(user_file).not_to receive(:delete) expect(user_file_pathname).not_to receive(:delete)
expect(plugin_gem_path).not_to receive(:rmtree) expect(plugin_gem_path).not_to receive(:rmtree)
subject.call(env) subject.call(env)
end end
end end
context "when local plugins exist" do context "when local plugins exist" do
let(:local_file) { double("local_file", exist?: true, delete: true) } let(:local_file) { double("local_file", path: local_file_pathname) }
let(:local_file_pathname) { double("local_file_pathname", exist?: true, delete: true) }
let(:env_plugin_gem_path) { double("env_plugin_gem_path", exist?: true, rmtree: true) } let(:env_plugin_gem_path) { double("env_plugin_gem_path", exist?: true, rmtree: true) }
it "should delete user and local plugins" do it "should delete user and local plugins" do
expect(user_file).to receive(:delete) expect(user_file_pathname).to receive(:delete)
expect(local_file).to receive(:delete) expect(local_file_pathname).to receive(:delete)
expect(plugin_gem_path).to receive(:rmtree) expect(plugin_gem_path).to receive(:rmtree)
expect(env_plugin_gem_path).to receive(:rmtree) expect(env_plugin_gem_path).to receive(:rmtree)
subject.call(env) subject.call(env)
@ -97,13 +99,13 @@ describe VagrantPlugins::CommandPlugin::Action::ExpungePlugins do
let(:env_local) { true } let(:env_local) { true }
it "should delete local plugins" do it "should delete local plugins" do
expect(local_file).to receive(:delete) expect(local_file_pathname).to receive(:delete)
expect(env_plugin_gem_path).to receive(:rmtree) expect(env_plugin_gem_path).to receive(:rmtree)
subject.call(env) subject.call(env)
end end
it "should not delete user plugins" do it "should not delete user plugins" do
expect(user_file).not_to receive(:delete) expect(user_file_pathname).not_to receive(:delete)
expect(plugin_gem_path).not_to receive(:rmtree) expect(plugin_gem_path).not_to receive(:rmtree)
subject.call(env) subject.call(env)
end end