(#11966) Change apt update to apt_update.
[puppet-modules/puppetlabs-apt.git] / spec / defines / ppa_spec.rb
1 require 'spec_helper'
2 describe 'apt::ppa', :type => :define do
3   ['ppa:dans_ppa', 'dans_ppa','ppa:dans-daily/ubuntu'].each do |t|
4     describe "with title #{t}" do
5       let :pre_condition do
6         'class { "apt": }'
7       end
8       let :facts do
9         {:lsbdistcodename => 'natty'}
10       end
11       let :title do
12         t
13       end
14       let :release do
15         "natty"
16       end
17       let :filename do
18         t.sub(/^ppa:/,'').gsub('/','-') << "-" << "#{release}.list"
19       end
20
21       it { should contain_exec("apt_update").with(
22         'command'     => '/usr/bin/apt-get update',
23         'refreshonly' => true
24         )
25       }
26
27       it { should contain_exec("add-apt-repository-#{t}").with(
28         'command' => "/usr/bin/add-apt-repository #{t}",
29         'notify'  => "Exec[apt_update]",
30         'creates' => "/etc/apt/sources.list.d/#{filename}"
31         )
32       }
33
34       it { should create_file("/etc/apt/sources.list.d/#{filename}").with(
35         'ensure'  => 'file',
36         'require' => "Exec[add-apt-repository-#{t}]"
37         )
38       }
39     end
40   end
41
42   describe "without Class[apt] should raise a Puppet::Error" do
43     let(:release) { "natty" }
44     let(:title) { "ppa" }
45     it { expect { should contain_apt__ppa(title) }.to raise_error(Puppet::Error) }
46   end
47
48   describe "without release should raise a Puppet::Error" do
49     let(:title) { "ppa:" }
50     it { expect { should contain_apt__ppa(:release) }.to raise_error(Puppet::Error) }
51   end
52
53 end