diff --git a/plugins/guests/suse/cap/nfs_client.rb b/plugins/guests/suse/cap/nfs_client.rb index 36a92d201..8a390ef93 100644 --- a/plugins/guests/suse/cap/nfs_client.rb +++ b/plugins/guests/suse/cap/nfs_client.rb @@ -3,12 +3,11 @@ module VagrantPlugins module Cap class NFSClient def self.nfs_client_install(machine) - machine.communicate.tap do |comm| - comm.sudo("zypper -n install nfs-client") - - comm.sudo("/sbin/service rpcbind restart") - comm.sudo("/sbin/service nfs restart") - end + machine.communicate.sudo <<-EOH.gsub(/^ {12}/, '') + zypper -n install nfs-client + /sbin/service rpcbind restart + /sbin/service nfs restart + EOH end end end diff --git a/test/unit/plugins/guests/suse/cap/nfs_client_test.rb b/test/unit/plugins/guests/suse/cap/nfs_client_test.rb new file mode 100644 index 000000000..b079b3029 --- /dev/null +++ b/test/unit/plugins/guests/suse/cap/nfs_client_test.rb @@ -0,0 +1,31 @@ +require_relative "../../../../base" + +describe "VagrantPlugins::GuestSUSE::Cap::NFSClient" do + let(:caps) do + VagrantPlugins::GuestSUSE::Plugin + .components + .guest_capabilities[:suse] + end + + let(:machine) { double("machine") } + let(:comm) { VagrantTests::DummyCommunicator::Communicator.new(machine) } + + before do + allow(machine).to receive(:communicate).and_return(comm) + end + + after do + comm.verify_expectations! + end + + describe ".nfs_client_install" do + let(:cap) { caps.get(:nfs_client_install) } + + it "installs nfs client utilities" do + cap.nfs_client_install(machine) + expect(comm.received_commands[0]).to match(/zypper -n install nfs-client/) + expect(comm.received_commands[0]).to match(/service rpcbind restart/) + expect(comm.received_commands[0]).to match(/service nfs restart/) + end + end +end