Don't pass options to ppa on lucid
[puppet-modules/puppetlabs-apt.git] / spec / acceptance / apt_ppa_spec.rb
1 require 'spec_helper_acceptance'
2
3 if fact('operatingsystem') == 'Ubuntu'
4   describe 'apt::ppa' do
5
6     context 'reset' do
7       it 'removes ppa' do
8         shell('rm /etc/apt/sources.list.d/canonical-kernel-team-ppa-*', :acceptable_exit_codes => [0,1,2])
9         shell('rm /etc/apt/sources.list.d/raravena80-collectd5-*', :acceptable_exit_codes => [0,1,2])
10       end
11     end
12
13     context 'adding a ppa that doesnt exist' do
14       it 'should work with no errors' do
15         pp = <<-EOS
16         include '::apt'
17         apt::ppa { 'ppa:canonical-kernel-team/ppa': }
18         EOS
19
20         apply_manifest(pp, :catch_failures => true)
21       end
22
23       describe 'contains the source file' do
24         it 'contains a kernel ppa source' do
25           shell('ls /etc/apt/sources.list.d/canonical-kernel-team-ppa-*', :acceptable_exit_codes => [0])
26         end
27       end
28     end
29
30     context 'reading a removed ppa.' do
31       it 'setup' do
32         # This leaves a blank file
33         shell('echo > /etc/apt/sources.list.d/raravena80-collectd5-$(lsb_release -c -s).list')
34       end
35
36       it 'should read it successfully' do
37         pp = <<-EOS
38         include '::apt'
39         apt::ppa { 'ppa:raravena80/collectd5': }
40         EOS
41
42         apply_manifest(pp, :catch_failures => true)
43       end
44     end
45
46     context 'reset' do
47       it 'removes added ppas' do
48         shell('rm /etc/apt/sources.list.d/canonical-kernel-team-ppa-*')
49         shell('rm /etc/apt/sources.list.d/raravena80-collectd5-*')
50       end
51     end
52
53     context 'release' do
54       context 'precise' do
55         it 'works without failure' do
56           pp = <<-EOS
57           include '::apt'
58           apt::ppa { 'ppa:canonical-kernel-team/ppa':
59             release => precise,
60           }
61           EOS
62
63           shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2])
64           apply_manifest(pp, :catch_failures => true)
65         end
66
67         describe file('/etc/apt/sources.list.d/canonical-kernel-team-ppa-precise.list') do
68           it { should be_file }
69         end
70       end
71     end
72
73     if ! default[:platform].match(/10\.04/)
74       context 'options' do
75         context '-y' do
76           it 'works without failure' do
77             pp = <<-EOS
78             include '::apt'
79             apt::ppa { 'ppa:canonical-kernel-team/ppa':
80               release => precise,
81               options => '-y',
82             }
83             EOS
84
85             shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2])
86             apply_manifest(pp, :catch_failures => true)
87           end
88
89           describe file('/etc/apt/sources.list.d/canonical-kernel-team-ppa-precise.list') do
90             it { should be_file }
91           end
92         end
93       end
94
95       context 'reset' do
96         it { shell('rm -rf /etc/apt/sources.list.d/canonical-kernel-team-ppa*', :acceptable_exit_codes => [0,1,2]) }
97       end
98     end
99   end
100 end