61 lines
1.9 KiB
Ruby
61 lines
1.9 KiB
Ruby
|
|
||
|
require 'spec_helper'
|
||
|
|
||
|
describe 'VagrantPlugins::GuestAlpine::Cap::NFSClient' do
|
||
|
let(:described_class) do
|
||
|
VagrantPlugins::GuestAlpine::Plugin.components.guest_capabilities[:alpine].get(:nfs_client_install)
|
||
|
end
|
||
|
|
||
|
let(:machine) { double('machine') }
|
||
|
let(:communicator) { VagrantTests::DummyCommunicator::Communicator.new(machine) }
|
||
|
|
||
|
before do
|
||
|
allow(machine).to receive(:communicate).and_return(communicator)
|
||
|
end
|
||
|
|
||
|
after do
|
||
|
communicator.verify_expectations!
|
||
|
end
|
||
|
|
||
|
it 'should install nfs client' do
|
||
|
x = <<-EOS.gsub(/^\s+\|\s?/, '')
|
||
|
| # work around defunct repository in configuration
|
||
|
| # box: maier/apline-3.3
|
||
|
| repo_file="/etc/apk/repositories"
|
||
|
| if [ $(grep -c "repos.dfw.lax-noc.com" $repo_file) -ne 0 ]; then
|
||
|
| repo_file_bak="${repo_file}.orig"
|
||
|
| echo "updating repositories"
|
||
|
| cp $repo_file $repo_file_bak
|
||
|
| sed -e 's/repos.dfw.lax-noc.com/dl-cdn.alpinelinux.org/' $repo_file_bak > $repo_file
|
||
|
| fi
|
||
|
|
|
||
|
| echo "updating repository indices"
|
||
|
| apk update
|
||
|
| if [ $? -ne 0 ]; then
|
||
|
| exit 1
|
||
|
| fi
|
||
|
|
|
||
|
| echo "installing nfs-utils"
|
||
|
| apk add --upgrade nfs-utils
|
||
|
| if [ $? -ne 0 ]; then
|
||
|
| exit 1
|
||
|
| fi
|
||
|
|
|
||
|
| echo "installing rpc.statd"
|
||
|
| rc-update add rpc.statd
|
||
|
| if [ $? -ne 0 ]; then
|
||
|
| exit 1
|
||
|
| fi
|
||
|
|
|
||
|
| echo "starting rpc.statd service"
|
||
|
| rc-service rpc.statd start
|
||
|
| if [ $? -ne 0 ]; then
|
||
|
| exit 1
|
||
|
| fi
|
||
|
EOS
|
||
|
expect(communicator).to receive(:sudo).with(x)
|
||
|
allow_message_expectations_on_nil
|
||
|
described_class.nfs_client_install(machine)
|
||
|
end
|
||
|
end
|