Merge pull request #169 from apenney/fix_ppa.pp
[puppet-modules/puppetlabs-apt.git] / spec / system / apt_ppa_spec.rb
1 require 'spec_helper_system'
2
3 describe 'apt::ppa' do
4
5   context 'reset' do
6     it 'removes ppa' do
7       shell('rm /etc/apt/sources.list.d/drizzle-developers-ppa*')
8       shell('rm /etc/apt/sources.list.d/raravena80-collectd5-*')
9     end
10   end
11
12   context 'adding a ppa that doesnt exist' do
13     it 'should work with no errors' do
14       pp = <<-EOS
15       include '::apt'
16       apt::ppa { 'ppa:drizzle-developers/ppa': }
17       EOS
18
19       puppet_apply(pp) do |r|
20         r.exit_code.should_not == 1
21       end
22     end
23
24     describe 'contains the source file' do
25       it 'contains a drizzle ppa source' do
26         shell('ls /etc/apt/sources.list.d/drizzle-developers-ppa-*.list') do |r|
27           r.exit_code.should be_zero
28         end
29       end
30     end
31   end
32
33   context 'readding a removed ppa.' do
34     it 'setup' do
35       shell('add-apt-repository -y ppa:raravena80/collectd5')
36       # This leaves a blank file
37       shell('add-apt-repository --remove ppa:raravena80/collectd5')
38     end
39
40     it 'should readd it successfully' do
41       pp = <<-EOS
42       include '::apt'
43       apt::ppa { 'ppa:raravena80/collectd5': }
44       EOS
45
46       puppet_apply(pp) do |r|
47         r.exit_code.should_not == 1
48       end
49     end
50   end
51
52   context 'reset' do
53     it 'removes added ppas' do
54       shell('rm /etc/apt/sources.list.d/drizzle-developers-ppa*')
55       shell('rm /etc/apt/sources.list.d/raravena80-collectd5-*')
56     end
57   end
58
59 end