2019-07-18 01:36:50 +00:00
|
|
|
require_relative "../../../../base"
|
2019-07-17 14:44:01 +00:00
|
|
|
|
|
|
|
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
|