module-puppetlabs-apt/spec/acceptance/force_spec.rb
Ashley Penney 0a93286ff8 Merge pull request #241 from hunner/add_unsup
Add non Debian os family unsupported test.
2014-02-24 16:53:41 -05:00

76 lines
1.7 KiB
Ruby

require 'spec_helper_acceptance'
codename = fact('lsbdistcodename')
describe 'apt::force define', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
context 'defaults' do
it 'should work with no errors' do
pp = <<-EOS
include apt
apt::force { 'vim': }
EOS
shell('apt-get remove -y vim')
apply_manifest(pp, :catch_failures => true)
end
describe package('vim') do
it { should be_installed }
end
end
context 'release' do
it 'should work with no errors' do
pp = <<-EOS
include apt
apt::force { 'vim': release => '#{codename}' }
EOS
shell('apt-get remove -y vim')
apply_manifest(pp, :catch_failures => true) do |r|
expect(r.stdout).to match(/apt-get -y -t #{codename} install vim/)
end
end
describe package('vim') do
it { should be_installed }
end
end
context 'version' do
it 'should work with no errors' do
pp = <<-EOS
include apt
apt::force { 'vim': version => '1.1.1' }
EOS
shell('apt-get remove -y vim')
apply_manifest(pp, :catch_failures => false) do |r|
expect(r.stdout).to match(/apt-get -y install vim=1.1.1/)
end
end
describe package('vim') do
it { should_not be_installed }
end
end
context 'timeout' do
it 'should work with no errors' do
pp = <<-EOS
include apt
apt::force { 'vim': timeout => '1' }
EOS
shell('apt-get clean')
apply_manifest(pp, :expect_failures => true) do |r|
expect(r.stderr).to match(/Error: Command exceeded timeout/)
end
end
describe package('vim') do
it { should_not be_installed }
end
end
end