Merge pull request #502 from mhaskel/merge_2.0.x_to_master
[puppet-modules/puppetlabs-apt.git] / spec / acceptance / apt_spec.rb
1 require 'spec_helper_acceptance'
2
3 describe 'apt class' do
4
5   context 'reset' do
6     it 'fixes the sources.list' do
7       shell('cp /etc/apt/sources.list /tmp')
8     end
9   end
10
11   context 'all the things' do
12     it 'should work with no errors' do
13       pp = <<-EOS
14       class { 'apt':
15         update => {
16           'frequency' => 'always',
17           'timeout'   => '400',
18           'tries'     => '3',
19         },
20         purge => {
21           'sources.list'   => true,
22           'sources.list.d' => true,
23           'preferences'    => true,
24           'preferences.d'  => true,
25         },
26         sources => {
27           'puppetlabs' => {
28             'ensure'   => present,
29             'location' => 'http://apt.puppetlabs.com',
30             'repos'    => 'main',
31             'key'      => {
32               'id'     => '47B320EB4C7C375AA9DAE1A01054B7A24BD6EC30',
33               'server' => 'pgp.mit.edu',
34             },
35           },
36         },
37       }
38       EOS
39
40       apply_manifest(pp, :catch_failures => true)
41       apply_manifest(pp, :catch_failures => true)
42     end
43     it 'should still work' do
44       shell('apt-get update')
45       shell('apt-get -y --force-yes upgrade')
46     end
47   end
48
49   context 'reset' do
50     it 'fixes the sources.list' do
51       shell('cp /tmp/sources.list /etc/apt')
52     end
53   end
54
55 end