0a93286ff8
Add non Debian os family unsupported test.
138 lines
4 KiB
Ruby
138 lines
4 KiB
Ruby
require 'spec_helper_acceptance'
|
|
|
|
if fact('operatingsystem') == 'Ubuntu'
|
|
describe 'apt::ppa', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
|
|
|
|
context 'reset' do
|
|
it 'removes ppa' do
|
|
shell('rm /etc/apt/sources.list.d/canonical-kernel-team-ppa-*', :acceptable_exit_codes => [0,1,2])
|
|
shell('rm /etc/apt/sources.list.d/raravena80-collectd5-*', :acceptable_exit_codes => [0,1,2])
|
|
end
|
|
end
|
|
|
|
context 'adding a ppa that doesnt exist' do
|
|
it 'should work with no errors' do
|
|
pp = <<-EOS
|
|
include '::apt'
|
|
apt::ppa { 'ppa:canonical-kernel-team/ppa': }
|
|
EOS
|
|
|
|
apply_manifest(pp, :catch_failures => true)
|
|
end
|
|
|
|
describe 'contains the source file' do
|
|
it 'contains a kernel ppa source' do
|
|
shell('ls /etc/apt/sources.list.d/canonical-kernel-team-ppa-*', :acceptable_exit_codes => [0])
|
|
end
|
|
end
|
|
end
|
|
|
|
context 'reading a removed ppa.' do
|
|
it 'setup' do
|
|
# This leaves a blank file
|
|
shell('echo > /etc/apt/sources.list.d/raravena80-collectd5-$(lsb_release -c -s).list')
|
|
end
|
|
|
|
it 'should read it successfully' do
|
|
pp = <<-EOS
|
|
include '::apt'
|
|
apt::ppa { 'ppa:raravena80/collectd5': }
|
|
EOS
|
|
|
|
apply_manifest(pp, :catch_failures => true)
|
|
end
|
|
end
|
|
|
|
context 'reset' do
|
|
it 'removes added ppas' do
|
|
shell('rm /etc/apt/sources.list.d/canonical-kernel-team-ppa-*')
|
|
shell('rm /etc/apt/sources.list.d/raravena80-collectd5-*')
|
|
end
|
|
end
|
|
|
|
context 'ensure' do
|
|
context 'present' do
|
|
it 'works without failure' do
|
|
pp = <<-EOS
|
|
include '::apt'
|
|
apt::ppa { 'ppa:canonical-kernel-team/ppa': ensure => present }
|
|
EOS
|
|
|
|
apply_manifest(pp, :catch_failures => true)
|
|
end
|
|
|
|
describe 'contains the source file' do
|
|
it 'contains a kernel ppa source' do
|
|
shell('ls /etc/apt/sources.list.d/canonical-kernel-team-ppa-*', :acceptable_exit_codes => [0])
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
context 'ensure' do
|
|
context 'absent' do
|
|
it 'works without failure' do
|
|
pp = <<-EOS
|
|
include '::apt'
|
|
apt::ppa { 'ppa:canonical-kernel-team/ppa': ensure => absent }
|
|
EOS
|
|
|
|
apply_manifest(pp, :catch_failures => true)
|
|
end
|
|
|
|
describe 'doesnt contain the source file' do
|
|
it 'fails' do
|
|
shell('ls /etc/apt/sources.list.d/canonical-kernel-team-ppa-*', :acceptable_exit_codes => [2])
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
context 'release' do
|
|
context 'precise' do
|
|
it 'works without failure' do
|
|
pp = <<-EOS
|
|
include '::apt'
|
|
apt::ppa { 'ppa:canonical-kernel-team/ppa':
|
|
ensure => present,
|
|
release => precise,
|
|
}
|
|
EOS
|
|
|
|
shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2])
|
|
apply_manifest(pp, :catch_failures => true)
|
|
end
|
|
|
|
describe file('/etc/apt/sources.list.d/canonical-kernel-team-ppa-precise.list') do
|
|
it { should be_file }
|
|
end
|
|
end
|
|
end
|
|
|
|
context 'options' do
|
|
context '-y', :unless => default[:platform].match(/10\.04/) do
|
|
it 'works without failure' do
|
|
pp = <<-EOS
|
|
include '::apt'
|
|
apt::ppa { 'ppa:canonical-kernel-team/ppa':
|
|
ensure => present,
|
|
release => precise,
|
|
options => '-y',
|
|
}
|
|
EOS
|
|
|
|
shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2])
|
|
apply_manifest(pp, :catch_failures => true)
|
|
end
|
|
|
|
describe file('/etc/apt/sources.list.d/canonical-kernel-team-ppa-precise.list') do
|
|
it { should be_file }
|
|
end
|
|
end
|
|
end
|
|
|
|
context 'reset' do
|
|
it { shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2]) }
|
|
end
|
|
end
|
|
end
|